IP Library Granted Patent US 9,443,529
Granted Patent B2
US 9,443,529 · App. 14/205,691 · Granted Sep 13, 2016

Integrated sensor-array processor

Inventor: Ronald C. Eddington, Jr. (Los Gatos, CA)
Assignee: Aawtend, Inc.
G10L21/0208G10L2021/02082G10L2021/02166
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,443,529
App. No.
14/205,691
Granted
Sep 13, 2016
Kind
B2
Abstract

An integrated sensor-array processor and method includes sensor array time-domain input ports to receive sensor signals from time-domain sensors. A sensor transform engine (STE) creates sensor transform data from the sensor signals and applies sensor calibration adjustments. Transducer time-domain input ports receive time-domain transducer signals, and a transducer output transform engine (TTE) generates transducer output transform data from the transducer signals. A spatial filter engine (SFE) applies suppression coefficients to the sensor transform data, to suppress target signals received from noise locations and/or amplification locations. A blocking filter engine (BFE) applies subtraction coefficients to the sensor transform data, to subtract the target signals from the sensor transform data. A noise reduction filter engine (NRE) subtracts noise signals from the BFE output. An inverse transform engine (ITE) generates time-domain data from the NRE output.

Claims (69)

1. An integrated sensor-array processor, comprising:

a plurality of sensor array time-domain input ports configured to receive sensor signals from a plurality of time-domain sensors;

a sensor transform engine (STE) configured to create sensor transform data from the sensor signals and to apply sensor calibration adjustments;

a plurality of transducer time-domain input ports configured to receive a plurality of time-domain transducer signals;

a transducer output transform engine (TTE) configured to generate transducer output transform data from the transducer signals;

the STE and TTE each being configured to respectively create the sensor transform data and transducer output transform data by use of a multichannel transform engine that converts multiple channels of digital time domain inputs into vectors of data with each vector including a set of transform domain bins representing non-uniform frequency spacing and a non-uniform time sampling output frame rate R, and in which each bin is a complex data value representing a phase and magnitude component of a bin center frequency F in a block of N time-domain inputs;

a spatial filter engine (SFE) configured to apply one or more sets of suppression coefficients to the sensor transform data, to suppress target signals received from noise locations and/or amplification locations;

a blocking filter engine (BFE) is configured to apply one or more sets of subtraction coefficients to the sensor transform data, to subtract the target signals from the sensor transform data;

a noise reduction filter engine (NRE) configured to subtract noise signals from the BFE output;

an inverse transform engine (ITE) configured to generate time-domain data from the NRE output; and

one or more output ports configured to output the time-domain data.

2. The processor of claim 1 , further comprising a source localization engine (SLE) configured to estimate active source locations in a 3D sensor field of each subband in each frame of the sensor transform data outputted by the STE.

3. The processor of claim 2 , wherein the SLE is configured to operate at frames rates that are reduced relative to frame rates of its inputs.

4. The processor of claim 1 , further comprising a multichannel acoustic-echo cancellation engine (MCAEC) configured to subtract transducer signals from SFE output, and the TTE output, and wherein the NRE is configured to subtract noise signals from the MCAEC output.

5. The processor of claim 4 , further comprising an environmental modeling engine (EME) configured to process MCAEC outputs to characterize active sources as transducer or non-transducer, calculate enclosure characteristics, and calculate blocking filter BFE coefficients.

6. The processor of claim 5 , further comprising a sensor calibration engine (SCE) configured to calculate sensor calibration values for MCAEC outputs.

7. The processor of claim 6 , wherein the SCE is configured to operate at frames rates that are reduced relative to frame rates of its inputs.

8. The processor of claim 1 , further comprising:

a source localization engine (SLE) configured to estimate active source locations in a 3D sensor field of each subband in each frame of the sensor transform data outputted by the STE;

a multichannel acoustic-echo cancellation engine (MEAEC) configured to subtract transducer signals from SFE output and the TTE output, and wherein the NRE is configured to subtract noise signals from the MCAEC output;

an environmental modeling engine (EME) configured to process SLE estimates and MCAEC outputs to characterize active sources as transducer or non-transducer, calculate enclosure characteristics, calculate BFE coefficients, and SCE values; and

a sensor calibration engine (SCE) configured to calculate sensor calibration values for each sensor frequency bin operating on SLE and MCAEC outputs.

9. The processor of claim 1 , wherein the sensor array time-domain inputs are configured to receive signals from time-domain sensors including microphones and/or hydrophones.

10. The processor of claim 9 wherein the sensor array time-domain inputs are configured to receive signals from time-domain sensors having uniform linear spacing.

11. The processor of claim 9 wherein the sensor array time-domain inputs are configured to receive signals from time-domain sensors having non-uniform spacing including octave, logarithmic, circular, spherical, and/or random spacing.

12. The processor of claim 1 , wherein the BFE is configured to calculate coefficients using on current source location transform data from the SLE.

13. The processor of claim 1 wherein the sensor array time-domain inputs are configured to receive signals from time-domain sensors spaced in 1-dimension, 2-dimensions, or 3-dimensions.

14. The processor of claim 1 , configured to use non-uniform frequency spacing.

15. The processor of claim 1 , configured to use uniform frequency spacing.

16. The processor of claim 1 , configured to use a plurality of microphone sensor array components, transform components, source localization components, and multichannel echo cancellation components, for processing local speech data and playing audio to multiple speakers.

17. The processor of claim 16 , configured to provide audio output to an audio speaker configuration including integrated stereo playback in a mobile phone, computer, tablet or similar portable device.

18. The processor of claim 16 , configured to provide audio output to an audio speaker configuration including a surround-sound configuration connected to a home theater or amplifier.

19. The processor of claim 16 , configured to provide audio output to an audio speaker configuration including a single channel speaker configuration connected to a home theater or amplifier.

20. The processor of claim 1 where the SCE is configured to integrate sensor calibration into one or more stages of the transform processing.

21. The processor of claim 1 , wherein the SCE is configured to use source location probabilities in the sensor calibration.

22. The processor of claim 1 , wherein the SLE and EME are configured to use frame processing 2×, 3×, 4× or some fractional or integer multiple faster than the SFE, BFE, MCAEC, and NRE.

23. The processor of claim 1 , wherein the STE and the TTE are configured to operate with non-uniform center frequencies.

24. The processor of claim 1 , wherein the SFE, BFE, and NRE are configured to operate at frames rates that are reduced relative to frame rates of their inputs.

25. An integrated sensor-array processor, comprising:

a plurality of sensor array time-domain input ports configured to receive sensor signals from a plurality of time-domain sensors;

a sensor transform engine (STE) configured to create sensor transform data from the sensor signals and to apply sensor calibration adjustments;

a plurality of transducer time-domain input ports configured to receive a plurality of time-domain transducer signals;

a transducer output (TTE) transform engine configured to generate transducer output transform data from the transducer signals;

the STE and TTE each being configured to respectively create the sensor transform data and transducer output transform data by use of a multichannel transform engine that converts multiple channels of digital time domain inputs into vectors of data with each vector including a set of transform domain bins representing non-uniform frequency spacing and a non-uniform time sampling output frame rate R, and in which each bin is a complex data value representing a phase and magnitude component of a bin center frequency F in a block of N time-domain inputs:

a spatial filter engine (SFE) configured to apply one or more sets of suppression coefficients to the sensor transform data, to suppress target signals received from noise locations and/or amplification locations;

a source localization engine (SLE) configured to estimate active source locations in a 3D sensor field of each subband in each frame of the sensor transform data outputted by the STE;

a blocking filter engine (BFE) is configured to apply one or more sets of subtraction coefficients to the sensor transform data, to subtract the target signals from the sensor transform data;

a multichannel acoustic-echo cancellation engine (MEAEC) configured to subtract transducer signals from SFE output and the TTE output;

an environmental modeling engine (EME) configured to process SLE outputs and MCAEC outputs to characterize active sources as transducer or non-transducer, calculate enclosure characteristics, calculate BFE coefficients, and SCE values; and

a sensor calibration engine (SCE) configured to use the sensor transform data to calculate sensor calibration values for sensor frequency bins operating on SLE and MCAEC outputs;

a noise reduction filter engine (NRE) configured to subtract noise signals from the BFE output;

an inverse transform engine (ITE) configured to generate time-domain data from the NRE output; and

one or more output ports configured to output the time-domain data.

26. A method of integrated sensor-array processing, the method comprising:

(a) creating, at a sensor transform engine (STE), sensor transform data from time-domain sensor signals and applying sensor calibration adjustments, the STE being configured to create the sensor transform data by use of a multichannel transform engine that converts multiple channels of digital time domain inputs into vectors of data with each vector including a set of transform domain bins representing non-uniform frequency spacing and a non-uniform time sampling output frame rate R, and in which each bin is a complex data value representing a phase and magnitude component of a bin center frequency F in a block of N time-domain inputs;

(b) generating, at a transducer output transform engine (TTE), transducer output transform data from transducer signals, the TTE being configured to create the transducer output transform data by use of a multichannel transform engine that converts multiple channels of digital time domain inputs into vectors of data with each vector including a set of transform domain bins representing non-uniform frequency spacing and a non-uniform time sampling output frame rate R, and in which each bin is a complex data value representing a phase and magnitude component of a bin center frequency F in a block of N time-domain inputs;

(c) applying, at a spatial filter engine (SFE), one or more sets of suppression coefficients to the sensor transform data, to suppress target signals received from noise locations and/or amplification locations;

(d) applying, at a blocking filter engine (BFE), one or more sets of subtraction coefficients to the sensor transform data, to subtract the target signals from the sensor transform data;

(e) subtracting, at a noise reduction filter engine (NRE), noise signals from the BFE output;

(f) generating, at an inverse transform engine (ITE), time-domain data from the NRE output; and

(g) outputting, at one or more output ports, the time-domain data.

27. An article of manufacture comprising a non-transitory computer usable medium having a computer readable program code embodied therein for:

(a) creating, at a sensor transform engine (STE), sensor transform data from time-domain sensor signals and to apply sensor calibration adjustments, the STE being configured to create the sensor transform data by use of a multichannel transform engine that converts multiple channels of digital time domain inputs into vectors of data with each vector including a set of transform domain bins representing non-uniform frequency spacing and a non-uniform time sampling output frame rate R, and in which each bin is a complex data value representing a phase and magnitude component of a bin center frequency F in a block of N time-domain inputs;

(b) generating, at a transducer output transform engine (TTE), transducer output transform data from transducer signals, the TTE being configured to create the transducer output transform data by use of a multichannel transform engine that converts multiple channels of digital time domain inputs into vectors of data with each vector including a set of transform domain bins representing non-uniform frequency spacing and a non-uniform time sampling output frame rate R, and in which each bin is a complex data value representing a phase and magnitude component of a bin center frequency F in a block of N time-domain inputs;

(c) applying, at a spatial filter engine (SFE), one or more sets of suppression coefficients to the sensor transform data, to suppress target signals received from noise locations and/or amplification locations;

(d) applying, at a blocking filter engine (BFE), one or more sets of subtraction coefficients to the sensor transform data, to subtract the target signals from the sensor transform data;

(e) subtracting, at a noise reduction filter engine (NRE), noise signals from the BFE output;

(f) generating, at an inverse transform engine (ITE), time-domain data from the NRE output; and

(g) outputting, at one or more output ports, the time-domain data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2014
From: EDDINGTON, RONALD C., JR
To: AAWTEND INC.
Reel/Frame 032413/0517 →
Continuity (2)
Provisional Application 61777624 · Mar 12, 2013
Related Publication 20140278445A1 · Sep 18, 2014