Methods and apparatus for efficient vocoder implementations
AssigneePTS Corporation
InventorsAli Soheil Sadri, Navin Jaffer, Anissim A. Silivra, Bin Huang, Matthew Plonski
Life of this patent
Estimating the term…
Abstract
Techniques for implementing vocoders in parallel digital signal processors are described. A preferred approach is implemented in conjunction with the BOPS® Manifold Array (ManArray™) processing architecture so that in an array of N parallel processing elements, N channels of voice communication are processed in parallel. Techniques for forcing vocoder processing of one data-frame to take the same number of cycles are described. Improved throughput and lower clock rates can be achieved.
Claims10
A digital signal processor having:
- N parallel processing elements;
- a cluster switch mechanism connecting the N parallel processing elements;
- converted code which has been converted from a standard vocoder code implementation by removing conditional jumps found in the standard vocoder code implementation said conditional jumps jump from one part of a function to another depending on the evaluation of a condition;
- a sequence processor running a first portion of the converted code to control the N parallel processing elements to operate as a single instruction multiple data parallel processor array;
- and
- N channels of voice communication, one of said channels connected to each one of said parallel processing elements, the N parallel processing elements running a second portion of the converted code to process the N channels of voice communication in parallel.
A method for efficiently implementing a vocoder in a digital signal processor comprising the steps of:
- converting a standard vocoder code implementation to converted code by removing conditional jumps found in the standard vocoder code implementation, said conditional jumps causing a jump from one part of a function to another depending on the evaluation of a condition;
- providing N channels of voice communication;
- connecting one of said channels to one of N parallel processing elements;
- communicating between the N parallel processing elements utilizing a cluster switch mechanism connecting the N parallel processing elements;
- running a first portion of the converted code in a sequence processor to control the N parallel processing elements to operate as a single instruction multiple data parallel processor array;
- and
- running a second portion of the converted code in the N parallel processing elements to process the voice communication channels in parallel.
Dependencies are inferred from the claim text.