The present invention relates generally to communication apparatus. More particularly, it relates to techniques for suppressing noise in a speech signal, and which may be used in a wireless or mobile communication device such as a cellular phone.
In many applications, a speech signal is received in the presence of noise, processed, and transmitted to a far-end party. One example of such a noisy environment is wireless application. For many conventional cellular phones, a microphone is placed near a speaking user's mouth and used to pick up speech signal. The microphone typically also picks up background noise, which degrades the quality of the speech signal transmitted to the far-end party.
Newer-generation wireless communication devices are designed with additional capabilities. Besides supporting voice communication, a user may be able to view text or browse World Wide Web page via a display on the wireless device. New videophone service requires the user to place the phone away, which therefore requires “far-field” speech pick-up. Moreover, “hands-free” communication is safer and provides more convenience, especially in an automobile. In any case, the microphone in the wireless device may be used in a “far-field” mode whereby it may be placed relatively far away from the speaking user (instead of being pressed against the user's ear and mouth). For far-field communication, less signal and more noise are received by the microphone, and a lower signal-to-noise ratio (SNR) is achieved, which typically leads to poor signal quality.
One common technique for suppressing noise is the spectral subtraction technique. In a typical implementation of this technique, speech plus noise is received via a single microphone and transformed into a number of frequency bins via a fast Fourier transform (FFT). Under the assumption that the background noise is long-time stationary (in comparison with the speech), a model of the background noise is estimated during time periods of non-speech activity whereby the measured spectral energy of the received signal is attributed to noise. The background noise estimate for each frequency bin is utilized to estimate an SNR of the speech in the bin. Then, each frequency bin is attenuated according to its noise energy content with a respective gain factor computed based on that bin's SNR.
The spectral subtraction technique is generally effective at suppressing stationary noise components. However, due to the time-variant nature of the noisy environment (e.g., street, airport, restaurant, and so on), the models estimated in the conventional manner using a single microphone are likely to differ from actuality. This may result in an output speech signal having a combination of low audible quality, insufficient reduction of the noise, and/or injected artifacts.
Another technique for suppressing noise is with a microphone array. For this technique, multiple microphones are arranged typically in a linear or some other type of array. An adaptive or non-adaptive method is then used to process the signals received from the microphones to suppress noise and improve speech SNR. However, the microphone array has not been applied to mobile communication devices since it generally require certain size and cannot be fit into the small form factor of current mobile devices.
Conventional wireless communication devices such as cellular phones typically utilize a single microphone to pick up speech signal. The single microphone design limits the type of signal processing that may be performed on the received signal, and may further limit the amount of improvement (i.e., the amount of noise suppression) that may be achievable. The single microphone design is also ineffective at suppressing noise in far-field application where the microphone is placed at a distance (e.g., a few feet) away from the speech source.
As can be seen, techniques that can be used to suppress noise in a speech signal in a wireless environment are highly desirable.
The invention provides techniques to suppress noise from a signal comprised of speech plus noise. In accordance with aspects of the invention, two or more signal detectors (e.g., microphones) are used to detect respective signals. Each detected signal comprises a desired speech component and an undesired noise component, with the magnitude of each component being dependent on various factors such as the distance between the speech source and the microphone, the directivity of the microphone, the noise sources, and so on. Signal processing is then used to process the detected signals to generate the desired output signal having predominantly speech, with a large portion of the noise removed. The techniques described herein may be advantageously used for both near-field and far-field applications, and may be implemented in various wireless and mobile devices such as cellular phones.
An embodiment of the invention provides a mobile communication device that includes a number of signal detectors (e.g., two microphones), optional first and second beam forming units, and a noise suppression unit. The beam forming units and noise suppression unit may be implemented within a digital signal processor (DSP). Each signal detector provides a respective detected signal having a desired component plus an undesired component. The first beam forming unit receives and processes the detected signals to provide a first signal s(t) having the desired component plus a portion of the undesired component. The second beam forming unit receives and processes the detected signals to provide a second signal x(t) having a large portion of the undesired component. The noise suppression unit then receives and digitally processes the first and second signals to provide an output signal y(t) having substantially the desired component and a large portion of the undesired component removed. The noise suppression unit may be designed to digitally process the first and second signals in the frequency domain, although signal processing in the time domain is also possible. The noise suppression unit may be designed to perform the noise cancellation using spectrum modification technique, which provides improved performance over other noise cancellation techniques.
In one specific design, the noise suppression unit includes a noise spectrum estimator, a gain calculation unit, a speech or voice activity detector, and a multiplier. The noise spectrum estimator derives an estimate of the spectrum of the noise based on a transformed representation of the second signal. The gain calculation unit provides a set of gain coefficients for the multiplier based on a transformed representation of the first signal and the noise spectrum estimate. The multiplier receives and scales the magnitude of the transformed first signal with the set of gain coefficients to provide a scaled transformed signal, which is then inverse transformed to provide the output signal. The activity detector provides a control signal indicative of active and non-active time periods, with the active time periods indicating that the first signal includes predominantly the desired component. The first beam forming unit may be allowed to adapt during the active time periods, and the second beam forming unit may be allowed to adapt during the non-active time periods.
Another aspect of the invention provides a wireless communication device, e.g., a mobile phone, having at least two microphones and a signal processor. Each microphone detects and provides a respective detected signal comprised of a desired component and an undesired component. For each detected signal, the specific amount of each (desired and undesired) component included in the detected signal may be dependent on various factors, such as the distance to the speaking source and the directivity of the microphone. The signal processor receives and digitally processes the detected signals to provide an output signal having substantially the desired component and a large portion of the undesired component removed. The signal processing may be performed in a manner that is dependent in part on the characteristics of the detected signals.
Various other aspects, embodiments, and features of the invention are also provided, as described in further detail below.
The foregoing, together with other aspects of this invention, will become more apparent when referring to the following specification, claims, and accompanying drawings.
Each of devices 100a, 100b, and 100c advantageously employ two or more microphones to allow the device to be used for both “near-field” and “far-field” applications. For near-field application, one microphone (e.g., microphone 110a in
Devices 100a and 100b are similar to conventional cellular phones and may be used with the devices placed close to the speaking user. With the noise suppression techniques described herein, devices 100a and 100b may also be used in a hand-free mode whereby they are located further away from the speaking user. Device 100c is a handset that may be designed to be placed away from the user (e.g., one to two feet away) during use, which allows the user to better view the display while talking.
System 200 includes two or more microphones 210a through 210n, a beam forming unit 212, and a noise suppression unit 230a. Beam forming unit 212 may be optional for some devices (e.g., for devices that use directional microphones), as described below. Beam forming unit 212 and a noise suppression unit 230a may be implemented within one or more digital signal processors (DSPs) or some other integrated circuit.
Each microphone provides a respective analog signal that is typically conditioned (e.g., filtered and amplified) and then digitized prior to being subjected to the signal processing by beam forming unit 212 and noise suppression unit 230a. For simplicity, this conditioning and digitization circuitry is not shown in
The microphones may be located either close to, or at a relatively far distance away from, the speaking user during use. Each microphone 210 detects a respective signal having a speech component plus a noise component, with the magnitude of the received components being dependent on various factors, such as (1) the distance between the microphone and the speech source, (2) the directivity of the microphone (e.g., whether the microphone is directional or omni-directional), and so on. The detected signals from microphones 210a through 210n are provided to each of two beam forming units 214a and 214b within unit 212.
Main beam forming unit 214a, which is also referred to as the “main beam former”, processes the signals from microphones 210a through 210n to provide a signal s(t) comprised of speech plus noise. Main beam forming unit 214a may further be able to suppress a portion of the received noise component. Main beam forming unit 214a may be designed to implement any type of beam former that attempts to reject as much interference and noise as possible. A specific design for main beam forming unit 214a is shown in
Blocking beam forming unit 214b, which is also referred to as a “blocking beam former”, processes the signals from microphones 210a through 210n to provide a signal x(t) comprised of mostly the noise component. Blocking beam forming unit 214b is used to provide an accurate estimate of the noise, and to block as much of the desired speech signal as possible. This then allows for effective cancellation of the noise in the signal s(t). Blocking beam forming unit 214b may also be designed to implement any one of a number of beam formers, one of which is shown in
A beam forming controller 218 directs the operation of main and blocking beam forming units 214a and 214b. Controller 218 typically receives a control signal from a voice activity detector (VAD) 240. Voice activity detector 240 detects the presence of speech at the microphones and provides the Act control signal indicating periods of speech activity. The detection of speech activity can be performed in various manners known in the art, one of which is described by D. K. Freeman et al. in a paper entitled “The Voice Activity Detector for the Pan-European Digital Cellular Mobile Telephone Service,” 1989 IEEE International Conference Acoustics, Speech and Signal Processing, Glasgow, Scotland, Mar. 23–26, 1989, pages 369–372, which is incorporated herein by reference.
Beam forming controller 218 provides the necessary controls that direct main and blocking beam forming units 214a and 214b to adapt at the appropriate times. In particular, controller 218 provides an Adapt_M control signal to main beam forming unit 214a to enable it to adapt during periods of speech activity and an Adapt_B control signal to blocking beam forming unit 214b to enable it to adapt during periods of non-speech activity. In one simple implementation, the Adapt_B control signal is generated by inverting the Adapt_M control signal.
Each adaptive filter 314 filters the received signal such that the error signal e(t) used to update the adaptive filter is minimized during the adaptation period. Adaptive filters 314 may be designed to implement any one of a number of adaptation algorithms known in the art. Some such algorithms include a least mean square (LMS) algorithm, a normalized mean square (NLMS), a recursive least square (RLS) algorithm, and a direct matrix inversion (DMI) algorithm. Each of the LMS, NLMS, RLS, and DMI algorithms (directly or indirectly) attempts to minimize the mean square error (MSE) of the error signal e(t) used to update the adaptive filter. In an embodiment, the adaptation algorithm implemented by adaptive filters 314b through 314n is the NLMS algorithm.
The NLMS algorithm is described in detail by B. Widrow and S. D. Stems in a book entitled “Adaptive Signal Processing,” Prentice-Hall Inc., Englewood Cliffs, N.J., 1986. The LMS, NLMS, RLS, DMI, and other adaptation algorithms are also described in detail by Simon Haykin in a book entitled “Adaptive Filter Theory”, 3rd edition, Prentice Hall, 1996. The pertinent sections of these books are incorporated herein by reference.
As shown in
To generate the signal s(t), a summer 318 receives and combines the delayed signal from microphone 210a with the filtered signals from adaptive filters 314b through 314n. The resultant output may further be divided by a factor of Nmic (where Nmic denotes the number of microphones) to provide the signal s(t).
Each adaptive filter 324 filters the received signal such that an error signal e(t) is minimized during the adaptation period. Adaptive filters 324 also may be implemented using various designs, such as with NLMS adaptive filters. To generate the signal x(t), a summer 328 receives and subtracts the filtered signals from adaptive filters 324b through 324n from the delay signal from delay element 322. The signal x(t) represents the common error signal for all adaptive filters 324b through 324n within the blocking beam former, and is used to adjust the response of these adaptive filters.
Referring back to
Within noise suppressor 230a, the speech plus noise signal s(t) from main beam forming unit 214a is transformed by a transformer 232a to provide a transformed speech plus noise signal S(ω). In an embodiment, the signal s(t) is transformed one block at a time, with each block including L data samples for the signal s(t), to provide a corresponding transformed block. Each transformed block of the signal S(ω) includes L elements, Sn(ω0) through Sn(ωL-1), corresponding to L frequency bins, where n denotes the time instant associated with the transformed block. Similarly, the mostly noise signal x(t) from blocking beam forming unit 214b is transformed by a transformer 232b to provide a transformed mostly noise signal X(ω). Each transformed block of the signal X(ω) also includes L elements, Xn(ω0) through Xn(ωL-1). In the specific embodiment shown in
The magnitude component of the transformed signal S(ω) is provided to a multiplier 236 and a noise spectrum estimator 242. Multiplier 236 scales the magnitude component of S(ω) with a set of gain coefficients G(ω) provided by a gain calculation unit 244. The scaled magnitude component is then recombined with the phase component of S(ω) and provided to an inverse FFT (IFFT) 238, which transforms the recombined signal back to the time domain. The resultant output signal y(t) includes predominantly speech and has a large portion of the background noise removed.
It is sometime advantageous, though it may not be necessary, to filter the magnitude component of S(ω) and X(ω) so that a better estimation of the short-term spectrum magnitude of the respective signal can be obtained. One particular filter implementation is a first-order infinite impulse response (IIR) low-pass filter with different attack and release time.
Noise spectrum estimator 242 receives the magnitude of the transformed signal S(ω), the magnitude of the transformed signal X(ω), and the Act control signal from voice activity detector 240 indicative of periods of non-speech activity. Noise spectrum estimator 242 then derives the magnitude spectrum estimates for the noise N(ω), as follows:
|N(ω)|=W(ω)·|X(ω)|, Eq (1)
where W(ω) is referred to as the channel equalization coefficient. In an embodiment, this coefficient may be derived based on an exponential average of the ratio of magnitude of S(ω) to the magnitude of X(ω), as follows:
where α is the time constant for the exponential averaging and is 0<α≦1. In a specific implementation, α=1 when voice activity indicator 240 indicates a speech activity period and α=0.98 when voice activity indicator 240 indicates a non-speech activity period.
Noise spectrum estimator 242 provides the magnitude spectrum estimates for the noise N(ω) to gain calculator 334, which then uses these estimates to generate the gain coefficients G(ω) for multiplier 334.
With the magnitude spectrum of the noise |N(ω)| and the magnitude spectrum of the signal |S(ω)| available, a number of spectrum modification techniques may be used to determine the gain coefficients G(ω). Such spectrum modification techniques include a spectrum subtraction technique, Weiner filtering, and so on.
In an embodiment, the spectrum subtraction technique is used for noise suppression, and the gain coefficients G(ω) may be determined by first computing the SNR of the speech plus noise signal S(ω) and the mostly noise signal N(ω), as follows:
The gain coefficient G(ω) for each frequency bin ω may then be expressed as:
where Gmin is a lower bound on G(ω).
Gain calculator 244 thus generates a gain coefficient G(ωj) for each frequency bin j of the transformed signal S(ω). The gain coefficients for all frequency bins are provided to multiplier 236 and used to scale the magnitude of the signal S(ω).
In an aspect, the spectrum subtraction is performed based on a noise N(ω) that is a time-varying noise spectrum derived from the mostly noise signal x(t), which may be provided by the blocking beam former. This is different from the spectrum subtraction used in conventional single microphone design whereby N(ω) typically comprises mostly stationary or constant values. This type of noise suppression is also described in U.S. Pat. No. 5,943,429, entitled “Spectral Subtraction Noise Suppression Method,” issued Aug. 24, 1999, which is incorporated herein by reference. The use of a time-varying noise spectrum (which more accurately reflects the real noise in the environment) allows the inventive noise suppression techniques to cancel non-stationary noise as well as stationary noise (non-stationary noise cancellation typically cannot be achieve by conventional noise suppression techniques that use a static noise spectrum).
The spectrum subtraction technique for a single microphone is also described by S. F. Boll in a paper entitled “Suppression of Acoustic Noise in Speech Using Spectral Subtraction,” IEEE Trans. Acoustic Speech Signal Proc., April 1979, vol. ASSP-27, pp. 113–121, which is incorporated herein by reference.
The spectrum modification technique is one technique for removing noise from the speech plus noise signal s(t). The spectrum modification technique provides good performance and can remove both stationary and non-stationary noise (using the time-varying noise spectrum estimate described above). However, other noise suppression techniques may also be used to remove noise, some of which are described below, and this is within the scope of the invention.
The noise suppression technique shown in
Within noise suppression unit 230b, the speech plus noise signal s(t) is filtered by a pre-filter 432 to remove high frequency components, and the filtered speech plus noise signal is provided to a voice activity detector 440 and a summer 434. The mostly noise signal x(t) is provided to an adaptive filter 450, which filters the noise with a particular transfer function h(t). The filtered noise p(t) is then provided to summer 434 and subtracted from the filtered speech plus noise signal to provide an intermediate signal d(t) having predominantly speech and some amount of noise.
Adaptive filter 450 may be implemented with a “base” filter operating in conjunction with an adaptation algorithm (not shown in
In an embodiment, the base filter is adapted during periods of non-speech activity. Voice activity detector 440 detects the presence of speech activity on the speech plus noise signal s(t) and provides a control signal that enables the adaptation of the coefficients of the base filter when no speech activity is detected. The adaptation algorithm can be implemented with any one of a number of algorithms such as the LMS, NLMS, RLS, DMI, and some other algorithms.
The base filter within adaptive filter 450 is adapted to implement (or approximate) the transfer function h(t), which describes the correlation between the noise components received on the signals s(t) and x(t). The base filter then filters the mostly noise signal x(t) with the transfer function h(t) to provide the filtered noise p(t), which is an estimate of the noise in the signal s(t). The estimated noise p(t) is then subtracted from the speech plus noise signal s(t) by summer 434 to generate the intermediate signal d(t). During periods of non-speech activity, the signal s(t) includes predominantly noise, and the intermediate signal d(t) represents the error between the noise received on the signal s(t) and the estimated noise p(t). The error signal d(t) is then provided to the adaptation algorithm within adaptive filter 450, which then adjusts the transfer function h(t) of the base filter to minimize the error.
In an embodiment, a spectrum subtraction unit 460 is used to further suppress noise components in the intermediate signal d(t) to provide the output signal y(t) having predominantly speech and a larger portion (or most) of the noise removed. Spectrum subtraction unit 460 can be implemented as described above for noise suppression unit 230a.
Within noise suppression unit 230c, the speech plus noise signal s(t) is transformed by a fast Fourier transformer (FFT) 532a, and the mostly noise signal x(t) is similarly transformed by a FFT 532b. Various other types of signal transform may also be used, and this is within the scope of the invention.
The transformed speech plus noise signal S(ω) is provided to a voice activity detector 540 and a summer 534. The transformed noise signal X(ω) is provided to an adaptive filter 550, which filters the noise with a particular transfer function H(ω). The filtered noise P(ω) is then provided to summer 534 and subtracted from the transformed speech plus noise S(ω) to provide an intermediate signal D(ω) that includes the speech component and has much of the low frequency noise component removed.
Adaptive filter 550 includes a base filter operating in conjunction with an adaptation algorithm. The base filter is adapted during periods of non-speech activity, as indicated by a control signal from voice activity detector 540. The adaptation may be achieved, for example, via an LMS algorithm. The base filter then filters the transformed noise X(ω) with the transfer function H(ω) to provide an estimate of the noise on the signal S(ω).
The noise components received on the signals S(ω) and X(ω) may be correlated. The degree of correlation determines the theoretical upper bound on how much noise can be cancelled using linear adaptive filter such as in block 420 and 550. A coherent function C(ω), which is indicative of the amount of statistical correlation between the two noise components, may be expressed as:
where X(ω) is the noise received on the signal x(t), S(ω) is representative of the noise received on the signal s(t), and E is the expectation operation. C(ω) is equal to zero (0.0) if X(ω) and S(ω) are totally uncorrelated, and is equal to one (1.0) if X(ω) and S(ω) are totally correlated. In the designs described above, the linear adaptive filter (such as the ones in blocks 420 and 550) can cancel the correlated noise components while the spectrum modification technique further suppresses un-correlated portion of the noise.
The magnitude component of the intermediate signal D(ω) is then provided to a noise spectrum estimator 542 and a multiplier 536. The operation of blocks 542 and 544 is similar to that of blocks 242 and 244, respectively, which have been described above.
Within noise suppression unit 230d, the speech plus noise signal s(t) is transformed (e.g., to the frequency domain) by an FFT 632a, and the mostly noise signal x(t) is similarly transformed by an FFT 632b. The magnitude component of the transformed speech plus noise signal S(ω) is provided to a voice activity detector 640 and a summer 634. The magnitude component of the transformed noise signal X(ω) is provided to an adaptive filter 650, which filters the noise with a particular transfer function H(ω). The filtered noise P(ω) is then provided to summer 634 and subtracted from the magnitude component of the transformed speech plus noise S(ω) to provide the magnitude component for an intermediate signal D(ω) having predominantly speech and a large portion of the low frequency noise removed.
Adaptive filter 650 includes a base filter operating in conjunction with an adaptation algorithm. The base filter is adapted during periods of non-speech activity, as indicated by a control signal from voice activity detector 640. Again, the adaptation may be achieved via an LMS algorithm or some other algorithm. The base filter then filters the transformed noise with the transfer function H(ω) to provide an estimate of the noise received on the signal S(ω).
The transfer function of the base filter may be a linear or non-linear function. A linear transfer function may be implemented similar to that described above for
P=HX, Eq (6)
where P is a vector of L transformed elements for the estimated noise (i.e., Pn(ω0) through Pn(ωL-1), X is a vector of L transformed elements for the mostly noise signal x(t) (i.e., Xn(ω0) through Xn(ωL-1), and H is a matrix of the transfer function for the base filter. Each estimated element, Pn(ωj), at time n for frequency bin j can be expressed as:
where j=0, 1, . . . L-1. Thus, for this specific transfer function, each estimated element Pn(ωj) is a linear combination of the L elements of the noise Xn(ω) weighted by Hn(ω).
Other non-linear transfer functions may also be used and are within the scope of the invention.
In the embodiment shown in
Gain calculation unit 644 generates a scaling factor for each frequency bin of the intermediate signal D(ω). The scaling factors for all frequency bins can be generated in the manner described above and in the aforementioned U.S. Pat. No. 5,943,429. The scaling factors are then provided to multiplier 636 and used to scale the magnitude of the intermediate signal D(ω). The scaled magnitude component is recombined with the phase component and provided to an inverse FFT (IFFT) 638, which transforms the recombined signal back to the time domain. The resultant output signal y(t) from IFFT 638 includes predominantly speech and has a larger portion of the noise removed. Again, most of the deterministic noise component can be removed by noise suppression unit 230d.
Other signal processing schemes maybe used to process the speech plus noise signal s(t) and the mostly noise signal x(t) to provide the desired output signal y(t) having mostly speech and a large portion of the noise removed. These various signal processing schemes are also within the scope of the invention.
If beam forming units are used as shown in
Microphones 710a and 710b may also be implemented with dipole microphones (or pressure gradient microphones). A dipole microphone has two main “lobes” and can pick up signal from both the front and back but not the side (its nulls). If the direction of speech is known or fixed, then microphone 710a may be placed on the device such that its main lobe points toward the direction of the speech so that mostly speech is picked up by the microphone, as shown in
Referring back to
The speech and noise signal s(t) from microphone 710a and the mostly noise signal x(t) from microphone 710b are provided to a signal processing unit 720, which processes the signals s(t) and x(t) to provide an output signal y(t) that includes mostly speech. Signal processing unit 720 may be designed to implement noise suppression unit 230a, 230b, 230c, or 230d, or some other noise suppressor design. A memory 730 may be used to provide storage for data and/or program codes used by signal processor 720.
As noted above, any number of microphones (i.e., greater than one) may be used (in combination with noise suppression) to generate the desired output signal. The embodiments shown in
Digital signal processing is used herein to process the signals from the microphones to generate the desired output signal. The use of digital signal processing allows for the easy implementation of (1) various algorithms (e.g., the NLMS algorithm) used for the signal processing, (2) the processing of the signals in the frequency-domain, which may provide improved performance, (3) and other advantages.
The signal processing described herein (especially the embodiment
The noise suppression described herein provides an output signal having improved characteristics. A large portion of the noise may be removed from the signal, which improves the quality of the output signal. The techniques described herein allows a user to talk softly even in a noisy environment, which provides privacy and is highly desirable.
The noise suppression techniques described herein may be implemented within a small form factor. The microphones may be placed closed to each other (e.g., only five centimeters of separation between microphones may be sufficient). Also the microphones are not placed in an end-fire type of configuration, i.e., one in which the microphones are placed in front of one another along an axis that is pointed approximately toward the sound source. This small form factor allows the noise suppression to be implemented in various types of device such as cellular telephones, personal digital assistance (PDAs), tape recorders, telephones, and so on.
For simplicity, the signal processing systems described above use microphones as signal detectors. Other types of signal detectors may also be used to detect the desired and undesired components. For certain applications, sensors may be used to detect other types of noise such as vibration, road noise, motion, and others.
For clarity, the signal processing systems have been described for the processing of speech. In general, these systems may be used process any signal having a desired component and an undesired component.
The signal processing systems and techniques described herein maybe implemented in various manners. For example, these systems and techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation the signal processing elements (e.g., the beam forming units, noise suppression, and so on) may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), programmable logic devices (PLDs), controllers, microcontrollers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. For a software implementation, the signal processing systems and techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory 730 in
The foregoing description of the specific embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein, and as defined by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5353376 | Oh et al. | Oct 1994 | A |
5473684 | Bartlett et al. | Dec 1995 | A |
5602962 | Kellermann | Feb 1997 | A |
5610991 | Janse | Mar 1997 | A |
5740256 | Castello Da Costa et al. | Apr 1998 | A |
5754665 | Hosoi | May 1998 | A |
6430295 | Handel et al. | Aug 2002 | B1 |
6453285 | Anderson et al. | Sep 2002 | B1 |
6594367 | Marash et al. | Jul 2003 | B1 |
20020009203 | Erten | Jan 2002 | A1 |
20020138254 | Isaka et al. | Sep 2002 | A1 |
20030233213 | Balan et al. | Dec 2003 | A1 |
20040092297 | Huang | May 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20020193130 A1 | Dec 2002 | US |
Number | Date | Country | |
---|---|---|---|
60268403 | Feb 2001 | US |