IP Library Granted Patent US 10,803,883
Granted Patent B1
US 10,803,883 · App. 16/186,252 · Granted Oct 13, 2020

Parallel signal processing system and method

Inventor: Wai Wu (Massapequa, NY)
G10L25/27G10L15/34G10L25/18G10L25/21H04M7/129H04M19/02
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,803,883
App. No.
16/186,252
Granted
Oct 13, 2020
Kind
B1
Abstract

A system and method for processing a plurality of channels, for example audio channels, in parallel is provided. For example, a plurality of telephony channels are processed in order to detect and respond to call progress tones. The channels may be processed according to a common transform algorithm. Advantageously, a massively parallel architecture is employed, in which operations on many channels are synchronized, to achieve a high efficiency parallel processing environment. The parallel processor may be situated on a data bus, separate from a main general purpose processor, or integrated with the processor in a common board or integrated device. All, or a portion of a speech processing algorithm may also be performed in a massively parallel manner.

Claims (36)

1. A method for processing concurrent signals, comprising:

(a) receiving representations of a plurality of parallel time-slices of concurrent signals;

(b) defining an instruction sequence for a single-instruction multiple-data type parallel processor, for transform processing of the plurality of parallel time-slices of concurrent signals between distinct data representations;

(c) controlling the single-instruction, multiple-data type parallel processor, to process the plurality of parallel time-slices of concurrent signals according to the instruction sequence to perform the transform processing of the plurality of parallel time-slices of concurrent signals; and

(d) outputting information from the single-instruction, multiple-data type parallel processor selectively dependent on the transform processing of the plurality of parallel time-slices streams of concurrent signals,

wherein a respective output of information is selectively dependent on a plurality of respective signals, each respective signal comprising a series of time-slices.

2. The method according to claim 1 , wherein a respective output of information is selectively dependent on only a single set of time-slices for a respective signal of the plurality of parallel time-slices of concurrent signals.

3. The method according to claim 1 , wherein the plurality of parallel time-slices of concurrent signals comprise a plurality of audio channels.

4. The method according to claim 1 , wherein the instruction sequence comprises program instructions to perform a telephony task.

5. The method according to claim 1 , wherein the instruction sequence comprises program instructions to perform an echo processing task.

6. The method according to claim 1 , wherein the instruction sequence comprises program instructions to combine at least two sets of parallel time-slices of respective concurrent signals.

7. The method according to claim 1 , wherein the instruction sequence comprises program instructions to perform at least one of audio compression and audio decompression.

8. The method according to claim 1 , wherein the instruction sequence comprises program instructions to perform packet processing.

9. The method according to claim 1 , wherein the instruction sequence comprises program instructions to perform a packet loss recovery algorithm.

10. The method according to claim 1 , wherein the instruction sequence comprises program instructions to perform Fourier transform processing.

11. The method according to claim 1 , wherein the instruction sequence comprises program instructions for performing both time domain transform processing and frequency domain transform processing.

12. The method according to claim 1 , wherein the single-instruction, multiple-data type parallel processor comprises a multiprocessor having a common instruction decode unit for the plurality of processing cores, each processing core having a respective arithmetic logic unit, all arithmetic logic units within a respective multiprocessor being adapted to simultaneously execute the instruction sequence.

13. The method according to claim 1 , wherein the instruction sequence comprises code to perform speech recognition primitives on a plurality of parallel time-slices of concurrent speech signals.

14. A system for processing concurrent signals, comprising:

(a) at least one input configured to receive representations of a plurality of parallel time-slices of concurrent signals;

(b) a first memory configured to store at least one instruction sequence for controlling a single-instruction multiple-data type parallel processor to transform the plurality of parallel time-slices of concurrent signals between distinct data representations;

(c) the single-instruction, multiple-data type parallel processor, configured to process the plurality of parallel time-slices of concurrent signals under control of the instruction sequence, to transform the plurality of parallel time-slices of concurrent signals; and

(d) a second memory, configured to store output information selectively dependent on a plurality of the transformed plurality of parallel time-slices of concurrent signals, wherein respective output information is selectively dependent on a plurality of respective concurrent signals, each respective concurrent signal comprising a series of time-slices.

15. The system according to claim 14 , wherein respective output information is selectively dependent on only a single time-slice the plurality of parallel time-slices of concurrent signals.

16. The system according to claim 14 , wherein the plurality of parallel time-slices of concurrent signals comprise time slices from a plurality of parallel audio channels, and the instruction sequence is adapted to perform at least one of a telephony task, an echo processing task, a combination of at least two time-slices of concurrent signals task, an audio compression task, an audio decompression task, a packet processing task, a packet loss recovery task, a convolution processing task, a Fourier transform processing task, a wavelet transform processing task, a combined time domain and frequency domain transform processing task, and a speech recognition primitive task.

17. The system according to claim 14 , wherein the single-instruction, multiple-data type parallel processor comprises a multiprocessor having a common instruction decode unit for the plurality of processing cores, each processing core having a respective arithmetic logic unit, all arithmetic logic units within a respective multiprocessor being adapted to simultaneously execute the instruction sequence.

18. The system according to claim 14 , wherein the single-instruction, multiple-data type parallel processor comprises a Peripheral Component Interconnect Express (PCIe) interface graphic processing unit of a computer system, which operates under control of a central processing unit.

19. A method for processing concurrent information streams, comprising:

(a) receiving representations of successive concurrent time-slices for a plurality of information streams in parallel;

(b) automatically performing at least one transform process on the received representations of the successive concurrent time-slices, with at least one single-instruction, multiple-data type parallel processor having a plurality of processing cores executing under a common set of instructions;

(c) making at least one decision based on the at least one transform process in real time; and

(d) communicating information representing the decision through a digital communication interface,

wherein:

the transform process is selected from the group consisting of a time-to-frequency domain transform algorithm, a wavelet domain transform algorithm, a convolution, and a Goertzel filter algorithm,

the received representations of the successive concurrent time-slices for a plurality of information streams in parallel each comprise a respective time-slice of an audio channel of a plurality of parallel independent audio channels, and

the at least one decision is dependent a single respective independent audio channel, independent of other parallel independent audio channels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2023
From: CALLTROL CORPORATION
To: PATENT ARMORY INC.
Reel/Frame 063579/0972 →
Continuity (5)
Continuation 15633211 · Jun 26, 2017
Continuation 14744377 · Jun 19, 2015
Division 13968522 · Aug 16, 2013
Division 12337236 · Dec 17, 2008
Provisional Application 61014106 · Dec 17, 2007