Source: http://www.google.com/patents/US7933227?ie=ISO-8859-1&dq=5927278
Timestamp: 2015-12-02 07:46:55
Document Index: 414997391

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60']

Patent US7933227 - Voice and data exchange over a packet based network - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA signal processing system which discriminates between voice signals and data signals modulated by a voiceband carrier. The signal processing system includes a voice exchange, a data exchange and a call discriminator. The voice exchange is capable of exchanging voice signals between a switched circuit...http://www.google.com/patents/US7933227?utm_source=gb-gplus-sharePatent US7933227 - Voice and data exchange over a packet based networkAdvanced Patent SearchPublication numberUS7933227 B2Publication typeGrantApplication numberUS 12/203,620Publication dateApr 26, 2011Filing dateSep 3, 2008Priority dateSep 20, 1999Fee statusPaidAlso published asEP1232642A1, EP1232642B1, US6504838, US6967946, US6980528, US6987821, US6990195, US7082143, US7092365, US7180892, US7423983, US7443812, US7653536, US7773741, US7894421, US8199667, US20030112796, US20070025480, US20070150264, US20090109881, US20110243127, WO2001022710A2, WO2001022710A8Publication number12203620, 203620, US 7933227 B2, US 7933227B2, US-B2-7933227, US7933227 B2, US7933227B2InventorsHenry Li, David M. Enns, Jordan J. Nicol, Kenny C. Kwan, Ross Mitchell, Wilf LeBlanc, Ken Unger, John Payton, Shawn Stevenson, Bill Boora, Onur TackinOriginal AssigneeBroadcom CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (67), Non-Patent Citations (78), Referenced by (5), Classifications (97), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetVoice and data exchange over a packet based network
US 7933227 B2Abstract
1. A signal processing system, for interfacing telephony devices with packet-based networks, the system comprising:
a voice exchange for exchanging voice signals between a first network and a packet based network;
a full duplex data exchange for exchanging data signals from the first network with data signals from the packet based network, wherein the full duplex data exchange demodulates the data signals from the first network, outputs the demodulated data signals to the packet based network, remodulates demodulated data signals from the packet based network, and outputs the remodulated data signals to the first network; and
a resource monitor that monitors processor resources during a call used by one or both of the voice exchange and the data exchange, and that dynamically enables and disables signal processing functionality used by the one or both of the voice exchange and the data exchange in the exchange of one or both of the voice and data signals of the call, to control processor computational load.
2. The signal processing system of claim 1 wherein the data signals from the first network are modulated by a voiceband carrier, and the data exchange comprises a data pump for demodulating the data signals from the first network for transmission on the packet based network and remodulating the data signals from the packet based network with the voiceband carrier for transmission on the first network.
3. The signal processing system of claim 2 wherein the data exchange comprises a jitter buffer for receiving packets of the data signals of varying delay from the packet based network and compensating for the delay variation of the data signal packets.
4. The signal processing system of claim 3 wherein the jitter buffer outputs an isochronous stream of the received data signals.
5. The signal processing system of claim 3 wherein the data pump transmits the received data signals to the first network at a transmit rate.
6. The signal processing system of claim 1 wherein the voice exchange comprises a jitter buffer for receiving packets of the voice signals of varying delay from the packet based network and compensating for the delay variation of the voice signal packets.
7. The signal processing system of claim 6 wherein the jitter buffer outputs an isochronous stream of the received voice signals.
8. The signal processing system of claim 6 wherein the jitter buffer comprises a voice queue which buffers the received voice signals for a holding time, and a voice synchronizer which adaptively adjusts the holding time of the voice queue.
9. The signal processing system of claim 1, wherein processor resources comprise one of memory, processing capacity, and power consumption.
10. The signal processing system of claim 1, wherein dynamically enabling and disabling signal processing functionality comprises selecting from a plurality of levels of functionality of an algorithm.
11. The signal processing system of claim 1, wherein dynamically enabling and disabling signal processing functionality comprises one or more of changing an amount of time between filter adaptations, bypassing or disabling an echo canceller, and/or bypassing or disabling a filter.
12. A method of processing signals, comprising:
exchanging voice signals between a first network and a packet based network;
demodulating data signals from a second network for inputting to the packet based network;
remodulating demodulated data signals from the packet based network for inputting to the second network;
simultaneously exchanging the demodulated data signals from the second network with remodulated data signals from the packet based network; and
dynamically enabling and disabling signal processing functionality during a call used in the exchange of one or both of the voice and data signals of the call, to control processor computational load.
13. The method of claim 12, wherein dynamically enabling and disabling signal processing functionality comprises selecting from a plurality of levels of functionality of an algorithm.
14. The method of claim 12, wherein dynamically enabling and disabling signal processing functionality comprises one or more of changing an amount of time between filter adaptations, bypassing or disabling an echo canceller, and/or bypassing or disabling a filter.
15. A method for interfacing a plurality of telephony devices with a packet based network, the packet based network adapted for transmission of packetized signals, the method comprising:
depacketizing an incoming packetized signal from the packet based network, the depacketized signal having an associated type;
identifying the type of the depacketized signal as one of voice signal, fax signal, or data signal;
if the type of the depacketized signal is voice signal, performing a voice mode signal processing on the depacketized signal;
if the type of the depacketized signal is fax signal, performing a fax relay mode signal processing on the depacketized signal;
if the type of the depacketized signal is data signal, performing a data modem relay mode signal processing on the depacketized signal;
transmitting the depacketized processed signal to a corresponding type of telephony device of the plurality of telephony devices; and
dynamically enabling and disabling signal processing functionality during processing of the depacketized signal, to control processor computational load.
16. The method of claim 15, wherein the plurality of telephony devices include one or more of analog and digital telephones, ethernet telephones, internet protocol telephones, analog fax machines, data modems, cable modems, interactive voice response systems, and private branch exchange systems.
17. The method of claim 15, wherein the packet based network is the internet.
18. The method of claim 15, wherein dynamically enabling and disabling signal processing functionality comprises selecting from a plurality of levels of functionality of an algorithm.
19. The method of claim 15, wherein dynamically enabling and disabling signal processing functionality comprises one or more of changing an amount of time between filter adaptations, bypassing or disabling an echo canceller, and/or bypassing or disabling a filter.
20. A method for integrated interfacing of a plurality of telephony devices to a packet based network, the packet based network adapted for transmission of packetized signals, the method comprising:
estimating a pitch period of a voice band signal using an autocorrelation function;
comparing the estimated pitch period to a plurality of thresholds;
packetizing a voice signal, a fax signal, or a data signal in a packetization engine to generate a packetized signal, based upon the comparing the estimated pitch period to a plurality of thresholds and at least one power measurement of the voice band signal; and
transmitting the packetized signal over the packet based network to a far end telephony device.
21. The method of claim 20, wherein the estimate of pitch period of the voice band signal is calculated by applying an autocorrelation function and a plurality of power measurements to the voice band signal.
22. A signal processing system, the system comprising:
a demodulator for receiving a data signal at a receive rate from a packet based network and demodulating the data signal to produce a first plurality of packets, wherein the data signal had been modulated and transmitted on a digital cellular network;
a jitter buffer for receiving the first plurality of packets and compensating for a delay variation of the first plurality of packets by holding one or more packets of the first plurality of packets;
a processor for performing a voice exchange by formatting the first plurality of packets into a first voice signal and formatting a second voice signal into a second plurality of packets, thereby enabling an exchange between the digital cellular network and the packet based network, wherein a modulator modulates the second plurality of packets and transmits the modulated second plurality of packets at a transmit rate over the digital cellular network to the packet based network;
a resource monitor that monitors the processor resources during a call used by one or both of the voice exchange and a data exchange, wherein the resource monitor dynamically enables and disables processing functionality used by one or both of the voice exchange and the data exchange to control processor computational load; and
a clock synchronizer for adaptively adjusting the number of packets held in the jitter buffer and varying one or both of the receive rate of the demodulator and the transmit rate of the modulator.
23. The signal processing system of claim 22 wherein the jitter buffer comprises a voice queue which buffers received voice signals for a holding time, and a voice synchronizer which adaptively adjusts the holding time of the voice queue.
24. The signal processing system of claim 22, wherein processor resources comprise one of memory, processing capacity, and power consumption.
25. The signal processing system of claim 22, wherein dynamically enabling and disabling signal processing functionality comprises selecting from a plurality of levels of functionality of an algorithm.
26. The signal processing system of claim 22, wherein dynamically enabling and disabling signal processing functionality comprises one or more of changing an amount of time between filter adaptations, bypassing or disabling an echo canceller, and/or bypassing or disabling a filter.
27. A signal processing system, the system comprising:
at least one processor for communicatively coupling to a wireless network and a packet based network, the at least one processor is operable to, at least:
produce a first plurality of packets from data demodulated from a received data signal at a receive rate from the packet based network, wherein the data signal had been modulated by a voiceband carrier and transmitted on the wireless network;
compensate for a delay variation of the first plurality of packets by holding one or more packets of the first plurality of packets in a jitter buffer;
perform a voice exchange by formatting the first plurality of packets into a first voice signal and formatting a second voice signal into a second plurality of packets, thereby enabling an exchange between the wireless network and the packet based network, wherein the second plurality of packets are modulated and transmitted at a transmit rate over the wireless network to the packet based network;
monitor processor resources used by one or both of the voice exchange and a data exchange, during a call, wherein the at least one processor dynamically enables and disables processing functionality used by one or both of the voice exchange and the data exchange to control processor computational load, wherein the at least one processor varies one or both of the receive rate of a demodulator and the transmit rate of the modulator; and
adaptively adjust the number of packets held in the jitter buffer.
28. The signal processing system of claim 27 wherein the jitter buffer comprises a voice queue which buffers received voice signals for a holding time, and wherein the at least one processor adaptively adjusts the holding time of the voice queue.
29. The signal processing system of claim 27, wherein processor resources comprise one of memory, processing capacity, and power consumption.
30. The signal processing system of claim 27, wherein dynamically enabling and disabling signal processing functionality comprises selecting from a plurality of levels of functionality of an algorithm.
31. The signal processing system of claim 27, wherein dynamically enabling and disabling signal processing functionality comprises one or more of changing an amount of time between filter adaptations, bypassing or disabling an echo canceller, and/or bypassing or disabling a filter.
The present application is a continuation-in-part of co-pending patent application Ser. No. 09/522,185, filed Mar. 9, 2000, issued as U.S. Pat. No. 7,423,983, which is a continuation-in-part of patent application Ser. No. 09/493,458, filed Jan. 28, 2000, issued as U.S. Pat. No. 6,549,587, which is a continuation-in-part of application Ser. No. 09/454,219, filed Dec. 9, 1999, issued as U.S. Pat. No. 6,882,711, priority of each application which is hereby claimed under 35 U.S.C. �120. The present application also claims priority under 35 U.S.C. �119(e) to provisional Application Nos. 60/154,903, filed Sep. 20, 1999; Application No. 60/156,266, filed Sep. 27, 1999; Application No. 60/157,470, filed Oct. 1, 1999; Application No. 60/160,124, filed Oct. 18, 1999; Application No. 60/161,152, filed Oct. 22, 1999; Application No. 60/162,315, filed Oct. 28, 1999; Application No. 60/163,169, filed Nov. 2, 1999; Application No. 60/163,170, filed Nov. 2, 1999; Application No. 60/163,600; filed Nov. 4, 1999; Application No. 60/164,379, filed Nov. 9, 1999; Application No. 60/164,690, filed Nov. 10, 1999; Application No. 60/164,689, filed Nov. 10, 1999; Application No. 60/166,289, filed Nov. 18, 1999; Application No. 60/171,203, filed Dec. 15, 1999; Application No. 60/171,180, filed Dec. 16, 1999; Application No. 60/171,169, filed Dec. 16, 1999; Application No. 60/171,184, filed Dec. 16, 1999, and Application No. 60/178,258, filed Jan. 25, 2000. All these applications are expressly incorporated herein by referenced as though fully set forth in full.
In one aspect of the present invention, a signal processing system includes a voice exchange capable of exchanging voice signals between a network line and a packet based network, and a full duplex data exchange capable of exchanging data signals from the network line with demodulated data signals from the packet based network.
In another aspect of the invention a signal processing system includes a voice exchange capable of exchanging voice signals between a first telephony device and a packet based network, a full duplex data exchange capable of exchanging data signals from a second telephony device with demodulated data signals from the packet based network, and a call discriminator which selectively enables at least one of the voice exchange and the data exchange.
In yet another aspect of the present invention, a method of processing signals includes exchanging voice signals between a network line and a packet based network, and simultaneously exchanging data signals from the network line with demodulated data signals from the packet based network.
In still yet another aspect of the present invention, a method of processing signals includes exchanging voice signals between a first telephony device and a packet based network, simultaneously exchanging data signals from a second telephony device with demodulated data signals from the packet based network, and discriminating between the voice signals and the data signals, and invoking at least one of the voice exchange and the data exchange based on said discrimination.
In still yet another aspect of the present invention, a signal transmission system includes a first telephony device which transmits and receives voice signals, a second telephony device different from the first telephony device, a packet based network, and a signal processing system coupling the first and the second telephony devices to the packet based network, the signal processing system comprising a full duplex data exchange which exchanges data signals from the second telephony device with demodulated data signals from the packet based network.
FIG. 10 is a block diagram of a method for estimating the spectral shape of the background noise of a voice transmission in accordance with a preferred embodiment of the present invention;
FIG. 12 is a block diagram of the voice decoder and the lost packet recovery engine in accordance with a preferred embodiment of the present invention;
FIG. 13A is a flow chart of the preferred lost frame recovery algorithm in accordance with a preferred embodiment of the present invention;
FIG. 13B is a flow chart of the voicing decision and pitch period calculation in accordance with a preferred embodiment of the present invention;
FIG. 13C is a flow chart demonstrating voicing synthesis performed when packets are lost and for the first decoded voice packet after a series of lost packets in accordance with a preferred embodiment of the present invention;
FIG. 14A is a block diagram of a method for reducing the instructions required to detect a valid dual tone and for pre-detecting a dual tone;
FIG. 19 is a block diagram of resource manager interface with several VHD's and PXD's in accordance with a preferred embodiment of the present invention;
FIG. 20 is a block diagram of several signal processing systems in the fax relay mode for interfacing between a switched circuit network and a packet based network in accordance with a preferred embodiment of the present invention;
FIG. 21 is a system block diagram of a signal processing system operating in a real time fax relay mode in accordance with a preferred embodiment of the present invention;
FIG. 22 is a diagram of the message flow for a fax relay in non error control mode in accordance with a preferred embodiment of the present invention;
FIG. 23 is a flow diagram of a method for fax mode spoofing in accordance with a preferred embodiment of the present invention;
FIG. 24 is a block diagram of several signal processing systems in the modern relay mode for interfacing between a switched circuit network and a packet based network in accordance with a preferred embodiment of the present invention;
FIG. 25 is a system block diagram of a signal processing system operating in a modem relay mode in accordance with a preferred embodiment of the present invention;
FIG. 26 is a diagram of a relay sequence for V.32bis rate synchronization using rate re-negotiation in accordance with a preferred embodiment of the present invention;
FIG. 27 is a diagram of an alternate relay sequence for V.32bis rate synchronization whereby rate signals are used to align the connection rates at the two ends of the network without rate re-negotiation in accordance with a preferred embodiment of the present invention;
FIG. 28 is a system block diagram of a QAM data pump transmitter in accordance with a preferred embodiment of the present invention;
FIG. 29 is a system block diagram of a QAM data pump receiver in accordance with a preferred embodiment of the present invention;
FIG. 30 is a block diagram of a method for sampling a signal of symbols received in a data pump receiver in synchronism with the transmitter clock of a data pump transmitter in accordance with a preferred embodiment of the present invention;
FIG. 31 is a block diagram of a second order loop filter for reducing symbol clock jitter in the timing recovery system of data pump receiver in accordance with a preferred embodiment of the present invention;
FIG. 32 is a block diagram of an alternate method for sampling a signal of symbols received in a data pump receiver in synchronism with the transmitter clock of a data pump transmitter in accordance with a preferred embodiment of the present invention;
FIG. 33 is a block diagram of an alternate method for sampling a signal of symbols received in a data pump receiver in synchronism with the transmitter clock of a data pump transmitter wherein a timing frequency offset compensator provides a fixed dc component to compensate for clock frequency offset present in the received signal in accordance with a preferred embodiment of the present invention;
FIG. 34 is a block diagram of a method for estimating the timing frequency offset required to sample a signal of symbols received in a data pump receiver in synchronism with the transmitter clock of a data pump transmitter in accordance with a preferred embodiment of the present invention;
FIG. 35 is a block diagram of a method for adjusting the gain of a data pump receiver (fax or modem) to compensate for variations in transmission channel conditions; and
FIG. 36 is a block diagram of a method for detecting human speech in a telephony signal.
In a preferred embodiment of the present invention, a signal processing system is employed to interface telephony devices with packet based networks. Telephony devices include, by way of example, analog and digital phones, ethernet phones, Internet Protocol phones, fax machines, data modems, cable modems, interactive voice response systems, PBXs, key systems, and any other conventional telephony devices known in the art. The described preferred embodiment of the signal processing system can be implemented with a variety of technologies including, by way of example, embedded communications software that enables transmission of information, including voice, fax and modem data over packet based networks. The embedded communications software is preferably run on programmable digital signal processors (DSPs) and is used in gateways, cable modems, remote access servers, PBXs, and other packet based network appliances.
An exemplary topology is shown in FIG. 1 with a packet based network 10 providing a communication medium between various telephony devices. Each network gateway 12 a, 12 b, 12 c includes a signal processing system which provides an interface between the packet based network 10 and a number of telephony devices. In the described exemplary embodiment, each network gateway 12 a, 12 b, 12 c supports a fax machine 14 a, 14 b, 14 c, a telephone 13 a, 13 b, 13 c, and a modem 15 a, 15 b, 15 c. As will be appreciated by those skilled in the art, each network gateway 12 a, 12 b, 12 c could support a variety of different telephony arrangements. By way of example, each network gateway might support any number telephony devices and/or circuit switched/packet based networks including, among others, analog telephones, ethernet phones, fax machines, data modems, PSTN lines (Public Switching Telephone Network), ISDN lines (Integrated Services Digital Network), T1 systems, PBXs, key systems, or any other conventional telephony device and/or circuit switched/packet based network. In the described exemplary embodiment, two of the network gateways 12 a, 12 b provide a direct interface between their respective telephony devices and the packet based network 10. The other network gateway 12 c is connected to its respective telephony device through a PSTN 19. The network gateways 12 a, 12 b, 12 c permit voice, fax and modem data to be carried over packet based networks such as PCs running through a USB (Universal Serial Bus) or an asynchronous serial interface, Local Area Networks (LAN) such as Ethernet, Wide Area Networks (WAN) such as Internet Protocol (IP), Frame Relay (FR), Asynchronous Transfer Mode (ATM), Public Digital Cellular Network such as TDMA (IS-13x), CDMA (IS-9x) or GSM for terrestrial wireless applications, or any other packet based system.
The exemplary signal processing system can be implemented with a programmable DSP software architecture as shown in FIG. 2. This architecture has a DSP 17 with memory 18 at the core, a number of network channel interfaces 19 and telephony interfaces 20, and a host 21 that may reside in the DSP itself or on a separate microcontroller. The network channel interfaces 19 provide multi-channel access to the packet based network. The telephony interfaces 23 can be connected to a circuit switched network interface such as a PSTN system, or directly to any telephony device. The programmable DSP is effectively hidden within the embedded communications software layer. The software layer binds all core DSP algorithms together, interfaces the DSP hardware to the host, and provides low level services such as the allocation of resources to allow higher level software programs to run.
The DSP server 25 includes a resource manager 24 which receives commands from, forwards events to, and exchanges data with the user application layer 26. The user application layer 26 can either be resident on the DSP 17 or alternatively on the host 21 (see FIG. 2), such as a microcontroller. An application programming interface 28. (API) provides a software interface between the user application layer 26 and the resource manager 24. The resource manager 24 manages the internal/external program and data memory of the DSP 17. In addition the resource manager dynamically allocates DSP resources, performs command routing as well as other general purpose functions.
The exemplary software architecture described above can be integrated into numerous telecommunications products. In an exemplary embodiment, the software architecture is designed to support telephony signals between telephony devices (and/or circuit switched networks) and packet based networks. A network VHD (NetVHD) is used to provide a single channel of operation and provide the signal processing services for transparently managing voice, fax, and modem data across a variety of packet based networks. More particularly, the NetVHD encodes and packetizes DTMF, voice, fax, and modem data received from various telephony devices and/or circuit switched networks and transmits the packets to the user application layer. In addition, the NetVHD disassembles DTMF, voice, fax, and modem data from the user application layer, decodes the packets into signals, and transmits the signals to the circuit switched network or device.
An exemplary embodiment of the NetVHD operating in the described software architecture is shown in FIG. 4. The NetVHD includes four operational modes, namely voice mode 36, voiceband data mode 37, fax relay mode 40, and data relay mode 42. In each operational mode, the resource manager invokes various services. For example, in the voice mode 36, the resource manager invokes call discrimination 44, packet voice exchange 48, and packet tone exchange 50. The packet voice exchange 48 may employ numerous voice compression algorithms, including, among others, Linear 128 kbps, G.711 u-law/A-law 64 kbps (ITU Recommendation G.711 (1988)—Pulse code modulation (PCM) of voice frequencies), G.726 16/24/32/40 kbps (ITU Recommendation G.726 (12/90)-40, 32, 24, 16 kbit/s Adaptive Differential Pulse Co