IP Library Granted Patent US 11,322,171
Granted Patent B1
US 11,322,171 · App. 17/068,219 · Granted May 3, 2022

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 11,322,171
App. No.
17/068,219
Granted
May 3, 2022
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 (34)

1. A method for processing signals, comprising:

(a) receiving data representing a time slice of a stream of time-sequential information for each of a plurality of streams of time-sequential information;

(b) automatically performing at least one transform process on the received time slice of the stream of time-sequential information for each of the plurality of streams of time-sequential information, to produce transformed data, with at least one single-instruction, multiple-data type parallel processor having a plurality of processing cores concurrently executing the same at least one transform process for each respective stream of time-sequential information, under a common set of instructions;

(c) making at least one decision based on the transformed data of each time slice, with at least one single-instruction, multiple-data type parallel processor having a plurality of processing cores concurrently executing the same at least one transform process for each respective stream of time-sequential information, under a common set of instructions; and

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

2. The method according to claim 1 , wherein each stream of time-sequential information comprises audio information, and the decision is dependent on audio information within the respective stream of time-sequential information.

3. The method according to claim 1 , wherein the at least one transform comprises a speech recognition primitive.

4. The method according to claim 1 , wherein the decision is made based on information in a single stream of time-sequential information, independent of information contained in the other streams of time-sequential information.

5. The method according to claim 1 , wherein the decision is made by a respective processing core of the at least one single-instruction, multiple-data type parallel processor having a plurality of processing cores for each respective time slice dependent solely on information in that respective time slice.

6. The method according to claim 1 , wherein the at least one transform process is selected from the group consisting of a time-to-frequency domain transform algorithm, a wavelet domain transform algorithm, and a Goertzel filter algorithm.

7. The method according to claim 1 , wherein the decision is made by the at least one single-instruction, multiple-data type parallel processor and represents a determination whether an in-band signal is present in a respective time slice.

8. The method according to claim 1 , wherein the plurality of streams of time-sequential information comprise a plurality of different streams of time-sequential information, each different stream of time-sequential information comprising a stream of audio information which is processed in parallel by the at least one single-instruction, multiple-data type parallel processor, and the decision is made based on the at least one transform process in parallel by the at least one single-instruction, multiple-data type parallel processor having the plurality of processing cores executing concurrently under the common set of instructions.

9. The method according to claim 8 , the common set of instructions controls the at least one single-instruction, multiple-data type parallel processor to perform at least a portion of a speech recognition process.

10. The method according to claim 1 , wherein the common set of instructions comprises program instructions to perform a telephony task.

11. The method according to claim 1 , wherein the at least one transform process comprises a Fourier transform.

12. The method according to claim 1 , wherein the at least one 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 concurrently execute the instructions of the instruction sequence on the time slices of the plurality of streams of time-sequential information representing a plurality of digitized real-time analog channels.

13. A non-transitory computer readable medium storing instructions for controlling a programmable processor to perform a method, comprising:

(a) instructions for receiving data representing a plurality of respective time slices of a plurality of parallel streams of time-sequential information;

(b) a common set of transform instructions for concurrently performing at least one transform process on the received plurality of respective time slices of the plurality of parallel streams of time-sequential information in parallel to produce respective transformed data for each respective time slice, with at least one single-instruction, multiple-data type parallel processor having a plurality of processing cores executing concurrently under the common set of transform instructions;

(c) a common set of decisional instructions for concurrently making at least one decision based on the transformed data, with the at least one single-instruction, multiple-data type parallel processor having the plurality of processing cores executing concurrently under the common set of decisional instructions; and

(d) instructions for communicating information representing the decision through a digital communication interface.

14. The non-transitory computer readable medium according to claim 13 , wherein the instructions for making the at least one decision based on the at least one transform process comprise a common set of decision instructions for the at least one single-instruction, multiple-data type parallel processor for concurrently making the at least one decision on the respective time slices of the plurality of parallel streams of time-sequential information in parallel under the common set of decision instructions.

15. A system for processing streams of information, comprising:

(a) an input port configured to receive data representing a plurality of time slices of a plurality of streams of time-sequential information;

(b) at least one single-instruction, multiple-data type parallel processor having a plurality of processing cores synchronized to concurrently execute the same instruction, configured to:

perform a transform process on the plurality of time slices to produce transformed data, the transform process being performed by concurrent execution of a common set of transform instructions on the plurality of processing cores; and

make at least one decision based on the transformed data of the plurality of time slices, the decision being made by concurrent execution of a common set of decision instructions on the plurality of processing cores; and

(c) an output port configured to communicate information representing the decision through a digital communication interface.

16. The system according to claim 15 , wherein:

the plurality of streams of time sequential information comprise signals digitized at a sampling rate, and the decision is dependent on values of the signals digitized at the sampling rate.

17. The system according to claim 16 , wherein the plurality of streams of time-sequential information comprise a plurality of audio streams, and the at least one decision comprises a determination of whether an in-band audio signal is present in a respective time slice of a respective stream of time-sequential information.

18. The system according to claim 15 , wherein the common set of instructions are adapted to perform a plurality of concurrent tasks selected from the group consisting of an echo processing task, an audio compression task, an audio decompression task, a packet loss recovery task, a wavelet transform processing task, a combined time domain and frequency domain transform processing task, a speech recognition primitive task, and a stream combining task.

19. The system according to claim 15 , wherein the at least one 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 concurrently execute the respective instructions of the common set of instructions.

20. The system according to claim 15 , 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 and receives the plurality of time slices of a plurality of streams of time-sequential information by communication through the Peripheral Component Interconnect Express (PCIe) interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2023
From: CALLTROL CORPORATION
To: PATENT ARMORY INC.
Reel/Frame 063579/0972 →
Continuity (7)
Division 16186252 · Nov 9, 2018
Continuation 15633211 · Jun 26, 2017
Continuation In Part 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