1. Technical Field
This invention relates to signal processing systems, and more particularly to a system that may enhance periodic signal components.
2. Related Art
Signal processing systems support many roles. Audio signal processing systems clearly and cleanly capture sound, reproduce sound, and convey sound to other devices. However, audio systems are susceptible to noise sources that can corrupt, mask, or otherwise detrimentally affect signal content.
There are many sources of noise. Wind, rain, background noise such as engine noise, electromagnetic interference, and other noise sources may contribute noise to a signal captured, reproduced, or conveyed to other systems. When the noise level of sound increases, intelligibility decreases.
Some prior systems attempted to minimize noisy signals through multiple microphones. The signals from each microphone are intelligently combined to limit the noise. In some applications, however, multiple microphones cannot be used. Other systems used noise filters to selectively attenuate sound signals. The filters sometimes indiscriminately eliminate or minimize desired signal content as well.
There is a need for a system that enhances signals.
This invention provides a signal enhancement system that may reinforce signal content and may improve SNR in a signal. The system detects, tracks, and reinforces non-stationary periodic signal components in the signal. The periodic signal components may represent vowel sounds or other voiced sounds. The system also may detect, track, and attenuate quasi-stationary signal components in the signal.
The enhancement system includes a signal input, delay logic, an adaptive filter, and signal reinforcement logic. The adaptive filter may track non-stationary fundamental frequency components in the input signal based on a delayed version of the input signal. The adaptive filter outputs a filtered signal. The filtered signal may approximately resemble the input signal delayed by an integer multiple of the signal's fundamental frequencies. The reinforcement logic combines the input signal and the filtered signal to produce an enhanced signal. A second adaptive filter may be employed to track and suppress quasi-stationary signal components in the input signal.
Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
The invention can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
The enhancement system detects and tracks one or more fundamental frequency components in a signal. The signal enhancement system reinforces the tracked frequency components. The enhancement system may improve the intelligibility of information in a speech signal or other audio signals. The reinforced signal may have an improved signal-to-noise ratio (SNR).
In
The enhancement system 100 may accept input from the input sources 106. The input sources 106 may include digital signal sources or analog signal sources such as a microphone 108. The microphone 108 may be connected to the enhancement system 100 through a sampling system 110. The sampling system 110 may convert analog signals sensed by the microphone 108 into digital form at a selected sampling rate.
The sampling rate may be selected to capture any desired frequency content. For speech, the sampling rate may be approximately 8 kHz to about 22 kHz. For music, the sampling rate may be approximately 22 to about 44 kHz. Other sampling rates may be used for speech and/or music.
The digital signal sources may include a communication interface 112, other circuitry or logic in the system in which the enhancement system 100 is implemented, or other signal sources. When the input source is a digital signal source, the enhancement system 100 may accept the digital signal samples with or without additional pre-processing.
The signal enhancement system 100 may also connect to post-processing logic 104. The post-processing logic 104 may include an audio reproduction system 114, digital and/or analog data transmission systems 116, or video processing logic 118. Other post-processing logic also may be used.
The audio reproduction system 114 may include digital to analog converters, filters, amplifiers, and other circuitry or logic. The audio reproduction system 114 may be a speech and/or music reproduction system. The audio reproduction system 114 may be implemented in a cellular phone, car phone, digital media player/recorder, radio, stereo, portable gaming device, or other devices employing sound reproduction.
The video processing system 118 may include circuitry and/or logic that provides a visual output. The signal used to prepare the visual output may be enhanced by the processing performed by the enhancement system 100. The video processing system 118 may control a television or other entertainment device. Alternatively, the video processing system 118 may control a computer monitor or liquid crystal display (LCD).
The transmission system 116 may provide a network connection, digital or analog transmitter, or other transmission circuitry and/or logic. The transmission system 116 may communicate enhanced signals generated by the enhancement system 100 to other devices. In a car phone, for example, the transmission system 116 may communicate enhanced signals from the car phone to a base station or other receiver through a wireless connection such as a ZigBee, Mobile-Fi, Ultrawideband, Wi-fi, or a WiMax network.
The enhancement system 100 may process quasi-stationary or non-stationary signals. Non-stationary signals may vary in their frequency and/or amplitude content relatively quickly over time. Voice is one example of a non-stationary signal.
With few exceptions, even the fundamental frequency component in a speaker's voice changes during speech. The change in fundamental frequency may vary by as much as approximately 50 percent per 100 ms or more. To the human ear, however, the speaker's voice may have a relatively constant pitch.
Quasi-stationary signals change in frequency and/or amplitude less frequently than non-stationary signals. Quasi-stationary signals may arise from machine noise, a controlled human voice, or from other sources. Slowly changing engine noise or alternator whine are examples of quasi-stationary signals.
As shown in
Speech signals may include a fundamental frequency component from approximately 70 Hz to about 400 Hz. Male speech often includes a fundamental frequency component between approximately 70 Hz to about 200 Hz. Female speech often includes a fundamental frequency component between approximately 200 Hz to about 400 Hz. A child's speech often includes a fundamental frequency component between approximately 250 Hz to about 400 Hz.
The enhancement system 100 may process input signals that include speech from both male and female voices, either separately or simultaneously and overlapping. In these systems, the maximum pitch period may approximately correspond to the period of the fundamental frequency of the female voice. The maximum pitch period may be approximately about 1/300 Hz (approximately 3.3 ms), or may be another pitch period associated with female voice.
Alternatively, the enhancement system 100 may processes speech only from males. In these implementations, the maximum pitch period may correspond to the period of the fundamental frequency of male voice. The maximum pitch period may be approximately 1/150 Hz (approximately 6.6 ms), or may be another pitch period.
The delay logic 204 may delay the input signal by the number of signal samples corresponding to the maximum pitch period. The number of signal samples may be given by:
NSS=MPP*fs
where ‘NSS’ is the number of signal samples, ‘MPP’ is the maximum pitch period and ‘fs’ is the sampling rate. Assuming an MPP of about 3.3 ms and a sampling rate of about 8 kHz, NSS=approximately 27 samples. In
The delayed input signal may be received by the filter 206. The filter 206 includes a filter output 208 that carries a filtered output signal, labeled ‘y’ in
The filter 206 may reproduce, replicate, approximate or otherwise include the tracked frequency content in the filtered output signal. The filter 206 may be a Finite Impulse Response Filter (FIR) or other type of digital filter. The coefficients of filter 206 may be adaptive. The filter 206 may be adapted by a Normalized Least Mean Squares (NLMS) technique or other type of adaptive filtering technique such as Recursive Least Squares (RLS) or Proportional LMS. Other tracking logic, including other filters may also be used.
The filter 206 may converge to the fundamental frequency in the input signal. The range of fundamental frequencies f0 over which the filter 206 converges may be given by:
where ΔF0MAX is the period for the maximum pitch (expressed in terms of samples), fs is the sampling frequency (in units of Hz), and L is the length of the filter 206 (in units of samples). The filter length L may increase or decrease to increase or decrease the frequency extent over which the filter 206 tracks frequency components.
In the example above, the maximum pitch was approximately 300 Hz and the delay logic 204 implemented a 27 sample delay. A filter length L of 64 samples yields a filter 206 that tracks fundamental frequency content over a frequency range of approximately 88 Hz to about 296 Hz:
The filter 206 may adapt over time. The filter 206 may quickly adapt by evaluating an error signal ‘e’ on a sample-by-sample basis. Alternatively, the filter 206 may adapt based on blocks of samples, or other another basis.
In adapting, the filter 206 may change one or more of its filter coefficients. The filter coefficients may change the response of the filter 206. The filter coefficients may adapt the filter 206 so that the filter 206 attempts to minimize the error signal ‘e’.
The error estimator 210 may generate the error signal ‘e’. The error estimator 210 may be an adder, comparator, or other circuitry or logic. The error estimator 210 may compare the input signal ‘x’ with the filtered output signal ‘y’.
As the filter 206 converges to the fundamental frequency in the input signal, the error signal decreases. As the error signal decreases, the filtered output signal ‘y’ more closely resembles the input signal ‘x’ delayed by an integer multiple of the signal's fundamental frequencies. The gain control logic 212 may respond to the error signal.
The optional gain control logic 212 may include a multiplier 214 and a gain parameter 216. The gain control logic 212 may attenuate, amplify, or otherwise modify the filtered output signal.
The reinforcement logic 218 may reinforce frequency content in the input signal ‘x’ with the gain controlled signal ‘Ay’. The reinforcement logic 218 may be an adder or other circuitry and/or logic. The reinforcement logic 218 may produce the enhanced output signal:
s=x+Ay
When the error signal increases, the gain control logic 212 may reduce the gain, ‘A’. When the gain is reduced, the filtered output signal may contribute less to the enhanced output signal. The relationship between the error signal and the gain may be continuous, stepped, linear, or non-linear.
In one implementation, the enhancement system 100 establishes one or more error thresholds. As the error signal exceeds an upper threshold, the gain control logic 212 may reduce the gain ‘A’ to 0 (zero). The upper threshold may be set to the input signal so that if e>x, then the gain ‘A’ may be set to zero. As the error signal falls below a lower threshold, the gain control logic 212 may increase the gain ‘A’ to 1 (one).
When the error signal exceeds the upper threshold, the filter control logic 220 may reset the filter 206. When the filter 206 is reset, the control logic 220 may zero-out the filter coefficients, re-initialize the filter coefficients, or may take other actions. The control logic 220 may also dynamically modify the filter length, may modify the delay implemented by the delay logic 204, or may modify other characteristics of the enhancement system 100. The control logic 220 also may modify the enhancement system 100 to adapt to changing environments in which the enhancement system 100 is used, to adapt the enhancement system 100 to a new speaker, or other applications.
The filter control logic 220 also may control how quickly the filter 206 adapts, whether the filter adapts, or may monitor or control other filter characteristics. In the context of a system that enhances non-stationary signals, the control logic 220 may expect quickly changing frequency and amplitude components in the input signal. The control logic 220 may also expect or determine over time that particular frequency components in the input signal are prevalent.
The control logic 220 also may determine that the input signal has changed in frequency content, amplitude, or other characteristics from what is expected or from what has been determined. In response, the control logic 220 may stop the filter 206 from attempting to adapt to the new signal content, may slow the rate of adaptation, or may take other actions. The control logic 220 may exercise control over the filter 206 until the input signal characteristics return to what is expected, until a predetermined time has elapse, until instructed to release control, or until another time or condition is met.
The delay logic 204 prevents the filtered output signal from precisely duplicating the current input signal ‘x’. Thus, the filtered output signal may closely track the selected periodicities in the input signal ‘x’. When the current input signal ‘x’ is reinforced by the filtered output signal ‘y’ to produce the output signal ‘s’, periodic signal components may combine constructively and random noise components may combine destructively. Therefore, the periodic signal components may be enhanced more than the noise.
The delay introduced by the delay logic 204 and the filter 206 may be approximately one cycle of a fundamental frequency component tracked by the filter 206. The delay may correspond to the glottal pulse delay for voice sounds, such as vowels. When the filtered output signal is added to the input signal, the delay may allow the fundamental frequency components to add in-phase or approximately in-phase.
When added in-phase, Then resulting gain in the fundamental frequency content in the enhanced output signal may be approximately 6 dB or more. The noise in the input signal and the filtered output signal tends to be out of phase. When the input signal and the filtered output signal are added, the noise may increase less than the enhanced frequency content, for example by 3 dB or less. The enhanced output signal may have increased SNR.
The input signal that the enhancement system 100 processes may include multiple fundamental frequencies. For example, when two speakers are speaking at the same time, the input signal may include two non-stationary fundamental frequencies. When multiple fundamental frequencies are present, the filter 206 continues to adapt and converge to provide a filtered out signal ‘y’ that is a delayed version of the input signal. The reinforcement logic 218 may reinforce one or more of the fundamental frequencies present in the input signal.
In
At any instance in time, the coefficients 300 may be analyzed to determine a fast estimate of the fundamental frequencies in the input signal. with good temporal resolution. The coefficients 300 begin to peak around coefficient 304 (the fifth filter coefficient), coefficient 306 (the sixth filter coefficient), and coefficient 308 (the seventh filter coefficient). By searching for a coefficient peak or an approximate coefficient peak, and determining a corresponding coefficient index, ‘c’, a fast approximation of the fundamental frequency, fa, may be made:
In
In
The control logic 220 may store historical data on many characteristics of the input signal, including the fundamental frequency of the input signal as it changes over time. The control logic 220 may examine the historical data as an aid in determining whether the characteristics of the input signal have unexpectedly changed. The control logic 220 may respond by exercising adaptation control over the filter 206 or by taking other actions.
A frequency range over which the enhancement system 100 will operate may also be selected (Act 506). The filter length of the filter 206 may be set to accommodate the frequency range (Act 508). The filter length may be dynamically changed during filter 206 operation.
The input signal is delayed and filtered (Act 510). The enhancement system 100 may generate an error signal and responsively adapt the filter 206 (Act 512). The enhancement system 100 may control the gain of the filtered output signal (Act 514).
The enhancement system 100 may add the input signal and the gain controlled signal (Act 516). An enhanced output signal may result. The enhancement system 100 also may determine fundamental frequency estimates (Act 518). The enhancement system 100 may employ the frequency estimates to exercise adaptation control over the filter 206 (Act 520).
The first filter stage 602 may adapt slowly and may suppress quasi-stationary signal components. The quasi-stationary signal components may be present in the input signal because of relatively consistent background noise, such as engine noise or environmental effects, or for other reasons.
A signal input 606 connects to the first stage 602. The signal input 606 may connect to the delay logic 608. The delay logic may implement a delay that corresponds to the period of a maximum quasi-stationary frequency that may be suppressed by the first stage 602.
The maximum quasi-stationary frequency may be selected according to known or expected characteristics of the environment in which the enhancement system 600 is used. The filter control logic 610 may dynamically modify the delay to adapt the first stage 602 to the environment. The filter control logic 610 also may control the quasi-stationary filter 612.
The filter 612 in the first stage may include signal component tracking logic such as a NLMS adapted FIR filter or RLS adapted FIR filter. The filter 612 in the first stage may adapt slowly, for example with a sampling rate of 8 kHz and a filter length of 64 an NLMS step size larger than 0 and less than approximately 0.01 may allow attenuation of quasi-stationary periodic signals while minimally degrading typical speech signals. The first stage filtered output 614 may provide a filtered output signal that approximately reproduces the quasi-stationary signal component in the input signal.
The suppression logic 616 and slow filter adaptation may allow non-stationary signal components to pass through the first stage 602 to the second stage 604. On the other hand, the suppression logic 616 may suppress quasi-stationary signal components in the input signal. The suppression logic 616 may be implemented as arithmetic logic that subtracts the filtered output signal from the input signal.
The replicated quasi-stationary signal content in the filtered output signal is removed from the input signal. The output signal produced by the first stage 602 may be:
x2=e1=x−y1
The first stage output 618 may be connected to the second stage 604. The second stage 604 may process the signal ‘x2’ with the adaptive filter 206. The filter 206 may adapt quickly, for example with a sampling rate of 8 kHz and a filter length of 64 an NLMS step size larger than approximately 0.6 and less than 1.0 may allow the adaptive filter 206 to track the fundamental frequencies in typical speech signals.
The second stage 604 may enhance non-stationary signal components in the first stage output signal. The non-stationary signal components may be present in the input signal as a result of speech, music, or other signal sources. The second stage 604 may process the first stage output signal as described above.
The enhancement system 600 employs a first suppression stage 602 followed by a second enhancement stage 604. The enhancement system 600 may be employed to reinforce non-stationary signal content, such as voice content. In environments that introduce slowly changing signal components, the enhancement system 600 may remove or suppress the slowly changing signal components. In a car phone, for example, the first stage 602 may remove or suppress engine noise, road noise, or other noises, while the second stage 604 enhances non-stationary signal components, such as male or female voice components.
The signal enhancement system 100 may enhance periodic signal content, increase SNR, and/or decrease noise in an input signal. When applied to a voice signal, the enhancement system 100 may reinforce fundamental speech frequencies and may strengthen vowel or other sounds. The enhancement system 100 may enhance other signals, whether they are audible or inaudible.
The overall delay introduced by the delay logic 204 or 608 and the filter 206 or 612 also may be approximately an integer number (one or greater) of cycles of the tracked pitch period. Delaying by additional cycles may allow the input signal to change to a greater degree than waiting one cycle. Adding the longer delayed filtered signal to the current input signal may produce special effects in the output signal such as reverberation, while still enhancing fundamental frequency components.
The signal enhancement systems 200 and 600 may be implemented in hardware, software, or a combination of hardware and software. The enhancement systems 200 and 600 may take the form of instructions stored on a machine readable medium such as a disk, flash card, or other memory. The enhancement systems 200 and 600 may be incorporated into communication devices, sound systems, gaming devices, signal processing software, or other devices and programs.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
4238746 | McCool et al. | Dec 1980 | A |
4282405 | Taguchi | Aug 1981 | A |
4486900 | Cox et al. | Dec 1984 | A |
4531228 | Noso et al. | Jul 1985 | A |
4628156 | Irvin | Dec 1986 | A |
4630305 | Borth et al. | Dec 1986 | A |
4791390 | Harris et al. | Dec 1988 | A |
4811404 | Vilmur et al. | Mar 1989 | A |
4843562 | Kenyon et al. | Jun 1989 | A |
4939685 | Feintuch | Jul 1990 | A |
4969192 | Chen et al. | Nov 1990 | A |
5027410 | Williamson et al. | Jun 1991 | A |
5056150 | Yu et al. | Oct 1991 | A |
5146539 | Doddington et al. | Sep 1992 | A |
5278780 | Eguchi et al. | Jan 1994 | A |
5313555 | Kamiya | May 1994 | A |
5377276 | Terai et al. | Dec 1994 | A |
5400409 | Linhard | Mar 1995 | A |
5406622 | Silverberg et al. | Apr 1995 | A |
5412735 | Engebretson et al. | May 1995 | A |
5432859 | Yang et al. | Jul 1995 | A |
5473702 | Yoshida et al. | Dec 1995 | A |
5479517 | Linhard | Dec 1995 | A |
5494886 | Kehne et al. | Feb 1996 | A |
5495415 | Ribbens et al. | Feb 1996 | A |
5502688 | Recchione et al. | Mar 1996 | A |
5526466 | Takizawa | Jun 1996 | A |
5568559 | Makino | Oct 1996 | A |
5572262 | Ghosh | Nov 1996 | A |
5584295 | Muller et al. | Dec 1996 | A |
5590241 | Park et al. | Dec 1996 | A |
5615298 | Chen | Mar 1997 | A |
5641931 | Ogai et al. | Jun 1997 | A |
5677987 | Seki et al. | Oct 1997 | A |
5680508 | Liu | Oct 1997 | A |
5692104 | Chow et al. | Nov 1997 | A |
5701344 | Wakui | Dec 1997 | A |
5714997 | Anderson | Feb 1998 | A |
5742694 | Eatwell | Apr 1998 | A |
5819215 | Dobson et al. | Oct 1998 | A |
5845243 | Smart et al. | Dec 1998 | A |
5920840 | Satyamurti et al. | Jul 1999 | A |
5920848 | Schutzer et al. | Jul 1999 | A |
5933801 | Fink et al. | Aug 1999 | A |
5949886 | Nevins et al. | Sep 1999 | A |
5949888 | Gupta et al. | Sep 1999 | A |
5953694 | Pillekamp | Sep 1999 | A |
6011853 | Koski et al. | Jan 2000 | A |
6084907 | Nagano et al. | Jul 2000 | A |
6111957 | Thomasson | Aug 2000 | A |
6144336 | Preston et al. | Nov 2000 | A |
6163608 | Romesburg et al. | Dec 2000 | A |
6167375 | Miseki et al. | Dec 2000 | A |
6173074 | Russo | Jan 2001 | B1 |
6175602 | Gustafson et al. | Jan 2001 | B1 |
6192134 | White et al. | Feb 2001 | B1 |
6199035 | Lakaniemi et al. | Mar 2001 | B1 |
6219418 | Eriksson et al. | Apr 2001 | B1 |
6249275 | Kodama | Jun 2001 | B1 |
6282430 | Young | Aug 2001 | B1 |
6405168 | Bayya et al. | Jun 2002 | B1 |
6408273 | Quagliaro et al. | Jun 2002 | B1 |
6434246 | Kates et al. | Aug 2002 | B1 |
6473409 | Malvar | Oct 2002 | B1 |
6493338 | Preston et al. | Dec 2002 | B1 |
6507814 | Gao | Jan 2003 | B1 |
6587816 | Chazen et al. | Jul 2003 | B1 |
6633894 | Cole | Oct 2003 | B1 |
6643619 | Linhard et al. | Nov 2003 | B1 |
6687669 | Schrögmeier et al. | Feb 2004 | B1 |
6690681 | Preston et al. | Feb 2004 | B1 |
6725190 | Cohen et al. | Apr 2004 | B1 |
6771629 | Preston et al. | Aug 2004 | B1 |
6782363 | Lee et al. | Aug 2004 | B2 |
6804640 | Weintraub et al. | Oct 2004 | B1 |
6822507 | Buchele | Nov 2004 | B2 |
6836761 | Kawashima et al. | Dec 2004 | B1 |
6859420 | Coney et al. | Feb 2005 | B1 |
6871176 | Choi et al. | Mar 2005 | B2 |
6891809 | Ciccone et al. | May 2005 | B1 |
6898293 | Kaulberg | May 2005 | B2 |
6910011 | Zakarauskas | Jun 2005 | B1 |
6937978 | Liu | Aug 2005 | B2 |
7020291 | Buck et al. | Mar 2006 | B2 |
7117149 | Zakarauskas | Oct 2006 | B1 |
7146012 | Belt et al. | Dec 2006 | B1 |
7146316 | Alves | Dec 2006 | B2 |
7167516 | He | Jan 2007 | B1 |
7167568 | Malvar et al. | Jan 2007 | B2 |
7206418 | Yang et al. | Apr 2007 | B2 |
7231347 | Zakarauskas | Jun 2007 | B2 |
7269188 | Smith | Sep 2007 | B2 |
7272566 | Vinton | Sep 2007 | B2 |
20010005822 | Fujii et al. | Jun 2001 | A1 |
20010028713 | Walker | Oct 2001 | A1 |
20020052736 | Kim et al. | May 2002 | A1 |
20020071573 | Finn | Jun 2002 | A1 |
20020176589 | Buck et al. | Nov 2002 | A1 |
20030040908 | Yang et al. | Feb 2003 | A1 |
20030093265 | Xu et al. | May 2003 | A1 |
20030093270 | Domer | May 2003 | A1 |
20030097257 | Amada et al. | May 2003 | A1 |
20030101048 | Liu | May 2003 | A1 |
20030206640 | Malvar et al. | Nov 2003 | A1 |
20030216907 | Thomas | Nov 2003 | A1 |
20040002856 | Bhaskar et al. | Jan 2004 | A1 |
20040024600 | Hamza et al. | Feb 2004 | A1 |
20040071284 | Abutalebi et al. | Apr 2004 | A1 |
20040078200 | Alves | Apr 2004 | A1 |
20040138882 | Miyazawa | Jul 2004 | A1 |
20040165736 | Hetherington et al. | Aug 2004 | A1 |
20040167777 | Hetherington et al. | Aug 2004 | A1 |
20040179610 | Lu et al. | Sep 2004 | A1 |
20050075866 | Widrow | Apr 2005 | A1 |
20050114128 | Hetherington et al. | May 2005 | A1 |
20050240401 | Ebenezer | Oct 2005 | A1 |
20060034447 | Alves et al. | Feb 2006 | A1 |
20060056502 | Callicotte | Mar 2006 | A1 |
20060074646 | Alves et al. | Apr 2006 | A1 |
20060089959 | Nongpiur et al. | Apr 2006 | A1 |
20060100868 | Hetherington et al. | May 2006 | A1 |
20060115095 | Giesbrecht et al. | Jun 2006 | A1 |
20060116873 | Hetherington et al. | Jun 2006 | A1 |
20060251268 | Hetherington et al. | Nov 2006 | A1 |
20060287859 | Hetherington et al. | Dec 2006 | A1 |
20070033031 | Zakarauskas | Feb 2007 | A1 |
20070136055 | Hetherington | Jun 2007 | A1 |
Number | Date | Country |
---|---|---|
2158847 | Sep 1994 | CA |
2157496 | Oct 1994 | CA |
2158064 | Oct 1994 | CA |
0 076 687 | Apr 1983 | EP |
0 275 416 | Jul 1988 | EP |
0 629 996 | Dec 1994 | EP |
0 629 996 | Dec 1994 | EP |
0 750 291 | Dec 1996 | EP |
1 450 353 | Aug 2004 | EP |
1 450 354 | Aug 2004 | EP |
1 669 983 | Jun 2006 | EP |
06269084 | Sep 1994 | JP |
06319193 | Nov 1994 | JP |
WO 0041169 | Jul 2000 | WO |
WO 0156255 | Aug 2001 | WO |
WO 0173761 | Oct 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20060089958 A1 | Apr 2006 | US |