Parallel signal processing system and method
First Claim
1. A method for processing signal streams within a plurality of channels, comprising:
- (a) providing a plurality of timeslices of the signal streams within the plurality of channels, each timeslice representing a time-continuous portion of digitized data of a respective signal stream within a respective channel;
(b) loading the plurality of timeslices into a memory accessible by at least one multiprocessor, each respective multiprocessor having a plurality of processing cores, each of the plurality of processing cores being controlled in accordance with a common instruction sequence for the respective multiprocessor, such that the plurality of processing cores of a respective multiprocessor synchronously and concurrently execute the same processing instruction on data of a different signal stream;
(c) providing the common instruction sequence for the multiprocessor adapted to process each timeslice to produce at least one of processed data and at least one data processing result for each respective timeslice;
(d) executing the common instruction sequence on the at least one multiprocessor, to produce at least one of processed data and at least one data processing result for each respective timeslice, comprising at least one of a time-frequency domain transform and a wavelet transform of the time-continuous portion of digitized data of each respective timeslice in parallel; and
(e) storing the at least one of processed data and at least one data processing result for each respective timeslice in a memory.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
19 Claims
-
1. A method for processing signal streams within a plurality of channels, comprising:
-
(a) providing a plurality of timeslices of the signal streams within the plurality of channels, each timeslice representing a time-continuous portion of digitized data of a respective signal stream within a respective channel; (b) loading the plurality of timeslices into a memory accessible by at least one multiprocessor, each respective multiprocessor having a plurality of processing cores, each of the plurality of processing cores being controlled in accordance with a common instruction sequence for the respective multiprocessor, such that the plurality of processing cores of a respective multiprocessor synchronously and concurrently execute the same processing instruction on data of a different signal stream; (c) providing the common instruction sequence for the multiprocessor adapted to process each timeslice to produce at least one of processed data and at least one data processing result for each respective timeslice; (d) executing the common instruction sequence on the at least one multiprocessor, to produce at least one of processed data and at least one data processing result for each respective timeslice, comprising at least one of a time-frequency domain transform and a wavelet transform of the time-continuous portion of digitized data of each respective timeslice in parallel; and (e) storing the at least one of processed data and at least one data processing result for each respective timeslice in a memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for processing a set of parallel signal streams, comprising:
-
(a) receiving a series of timeslices over time for each respective parallel signal stream, each timeslice representing a time-continuous portion of digitized data of a respective signal stream loaded into a memory accessible by a multiprocessor having a plurality of parallel processing cores, the plurality of parallel processing cores being under control of a common instruction sequence, such that the plurality of parallel processing synchronously and concurrently execute the same processing instruction on a respective timeslice of a different signal stream; and (b) executing the common instruction sequence on the multiprocessor, to produce a respective processing result for each of the parallel signal streams, comprising convolution processing and at least one of a time-frequency domain transform and a wavelet transform of the time-continuous portion of digitized data of each respective timeslice.
-
-
19. A parallel processing method for processing a plurality of audio channels comprising speech in parallel, comprising:
-
receiving the plurality of audio channels comprising speech in parallel; loading a current set of parallel timeslices from the plurality of audio channels comprising speech into a memory array accessible by a multiprocessor system, the multiprocessor system having a plurality of processing cores together controlled in parallel by a common instruction sequence; processing the current set of parallel timeslices from the plurality of audio channels comprising speech with the multiprocessor system, according to the common instruction sequence such that each processing core of the multiprocessor is synchronized to concurrently execute the same instruction on data representing a timeslice of a respective audio channel, to at least one of characterize the speech of a respective audio channel, characterize an automate in-band signal of a respective audio channel, and characterize a respective audio channel, to produce a set of current characterizations for each of the set of parallel timeslices stored in a memory; loading a subsequent set of parallel timeslices from the plurality of audio channels comprising speech into the same memory locations of the memory array as previously occupied by the current set of parallel timeslices; and processing the subsequent set of parallel timeslices from the plurality of audio channels comprising speech according to an algorithm comprising at least one of a time-frequency domain transform and a wavelet transform with the multiprocessor system, according to the common instruction sequence such that each processing core of the multiprocessor is synchronized to concurrently execute the same instruction on data representing a timeslice of a respective audio channel, to at least one of characterize the speech of a respective audio channel, characterize an automate in-band signal of a respective audio channel, characterize the respective audio channel, and to determine a change in a respective prior characterization associated with a respective audio channel, to produce a set of subsequent characterizations for each of the set of parallel timeslices stored in the memory.
-
Specification