Claims
- 1. A method for distributing processing resources for multiple echo cancellers, comprising:
handling echo canceller instance events via a system interface; interpreting the events and updating local state information storage; determining from the local state information available processing resources for echo canceller instance functions; prioritizing echo canceller instances on a function by function basis; allocating the available processing resources to echo canceller instance functions according to the prioritization of echo canceller instances.
- 2. The method of claim 1, further comprising:
handling events into the system interface from codec encoder/decoder instances and communication channel state changes.
- 3. The method of claim 1, wherein:
the step of allocating available processing resources includes: placing echo canceller instance functions into prioritized function queues; and enabling the echo canceller instances in each of the function queues following a prescribed ratio.
- 4. The method of claim 3, wherein:
the prioritized function queues comprise a background filter adaptation queue and a hybrid search queue.
- 5. The method of claim 3, wherein:
the step of prioritizing echo canceller instance functions is performed via an N element circular shift of each function queue, where N is the number of currently running echo canceller instance functions.
- 6. The method of 3, further comprising:
utilizing remaining processing resources after enabling all possible echo canceller instance functions according to the prescribed ratio by enabling any remaining echo canceller instance functions based on the processing resource requirements of each remaining echo canceller instance functions.
- 7. The method of claim 3, further comprising:
enabling at least the highest priority echo cancellation instance function from each function queue at all time periods.
- 8. The method of claim 1, further comprising:
repeating the steps of prioritizing echo canceller instances and allocating the available processing resources at a configurable time period.
- 9. The method of claim 8, further comprising:
enabling at least the highest priority echo cancellation instance function from each function queue at all time periods.
- 10. The method of claim 1, further comprising:
performing an asynchronous reallocation of processing resources when an event occurs that results in the combined processing resources of all enabled echo canceller instance functions exceeding the available processing resources.
- 11. The method of claim 1, wherein:
the step of determining the available processing resources for echo canceller instance functions includes tracking an estimate of the available processing resources by subtracting the sum of the following from the total available processing resources: codec encoder/decoder processing resource requirements estimate; communication channel state processing resource requirements estimate; echo removal processing resources estimate; echo canceller overhead processing resource requirements estimate; and interrupt service routine processing resources estimate.
- 12. The method of claim 11, wherein:
The codec encoder/decoder processing requirements are determined via codec encoder/decoder lookup tables; and the communications channel state processing resource requirements are determined via a channel state lookup table.
- 13. The method of claim 11, wherein:
the estimated echo removal processing resource requirements are determined from the following formula: MIPS=aNt+bNs+c where MIPS are millions of instructions per second, Nt is the number of filter taps in a foreground filter, Ns is the number of hybrid segments of the foreground filter, and the constants a, b, and c are generated offline based on function profiling and stored in a reference table.
- 14. The method of claim 1, further comprising:
tracking estimated processing resource requirements of each echo canceller instance function based upon the state of the instance function.
- 15. The method of claim 14, wherein:
the estimated processing resource requirements of the echo canceller instance functions for background filter adaptation is obtained from the following formula: MIPS=aNt+bNs+c where MIPS are millions of instructions per second, Nt is the of the number of taps in a background filter, Ns is the number of segments in the background filter, and the constants a, b, and c are generated offline based on function profiling and stored in a reference table.
- 16. The method of claim 14, wherein:
the estimated processing resource requirements of the echo canceller instance functions for hybrid searches is obtained from the following formula: MIPS=aNt++b where MIPS are millions of instructions per second, Nt is the of the number of taps in a search filter, and constants a and b are generated offline based on function profiling and stored in a reference table.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of application Ser. No. 09/871,775, for REALTIME EMBEDDED RESOURCE MANAGEMENT SYSTEM, filed on Jun. 1, 2001.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09871775 |
Jun 2001 |
US |
Child |
10318092 |
Dec 2002 |
US |