A common problem in speech recognition and speech transmission is the corruption of the speech signal by additive noise. In particular, corruption due to the speech of another speaker has proven to be difficult to detect and/or correct.
Recently, systems have been developed that attempt to remove noise by using a combination of an alternative sensor, such as a bone conduction microphone, and an air conduction microphone. Various techniques have been developed that use the alternative sensor signal and the air conduction microphone signal to form an enhanced speech signal that has less noise than the air conduction microphone signal. However, perfectly enhanced speech has not been achieved and further advances in the formation of enhanced speech signals are needed.
A method and apparatus determine a likelihood of a speech state based on an alternative sensor signal and an air conduction microphone signal. The likelihood of the speech state is used to estimate a clean speech value for a clean speech signal.
Embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with embodiments of the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, telephony systems, distributed computing environments that include any of the above systems or devices, and the like.
Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention is designed to be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules are located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 110 through input devices such as a keyboard 162, a microphone 163, and a pointing device 161, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190. In addition to the monitor, computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through an output peripheral interface 195.
The computer 110 is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110. The logical connections depicted in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Memory 204 is implemented as non-volatile electronic memory such as random access memory (RAM) with a battery back-up module (not shown) such that information stored in memory 204 is not lost when the general power to mobile device 200 is shut down. A portion of memory 204 is preferably allocated as addressable memory for program execution, while another portion of memory 204 is preferably used for storage, such as to simulate storage on a disk drive.
Memory 204 includes an operating system 212, application programs 214 as well as an object store 216. During operation, operating system 212 is preferably executed by processor 202 from memory 204. Operating system 212, in one preferred embodiment, is a WINDOWS® CE brand operating system commercially available from Microsoft Corporation. Operating system 212 is preferably designed for mobile devices, and implements database features that can be utilized by applications 214 through a set of exposed application programming interfaces and methods. The objects in object store 216 are maintained by applications 214 and operating system 212, at least partially in response to calls to the exposed application programming interfaces and methods.
Communication interface 208 represents numerous devices and technologies that allow mobile device 200 to send and receive information. The devices include wired and wireless modems, satellite receivers and broadcast tuners to name a few. Mobile device 200 can also be directly connected to a computer to exchange data therewith. In such cases, communication interface 208 can be an infrared transceiver or a serial or parallel communication connection, all of which are capable of transmitting streaming information.
Input/output components 206 include a variety of input devices such as a touch-sensitive screen, buttons, rollers, and a microphone as well as a variety of output devices including an audio generator, a vibrating device, and a display. The devices listed above are by way of example and need not all be present on mobile device 200. In addition, other input/output devices may be attached to or found with mobile device 200 within the scope of the present invention.
Air conduction microphone 304 receives ambient noise 308 (V) generated by one or more noise sources 310 and generates its own sensor noise 305 (U). Depending on the type of ambient noise and the level of the ambient noise, ambient noise 308 may also be detected by alternative sensor 306. However, under embodiments of the present invention, alternative sensor 306 is typically less sensitive to ambient noise than air conduction microphone 304. Thus, the alternative sensor signal 316 (B) generated by alternative sensor 306 generally includes less noise than air conduction microphone signal 318 (Y) generated by air conduction microphone 304. Although alternative sensor 306 is less sensitive to ambient noise, it does generate some sensor noise 320 (W).
The path from speaker 300 to alternative sensor signal 316 can be modeled as a channel having a channel response H. The path from ambient noise 308 to alternative sensor signal 316 can be modeled as a channel having a channel response G.
Alternative sensor signal 316 (B) and air conduction microphone signal 318 (Y) are provided to a clean signal estimator 322, which estimates a clean signal 324. Clean signal estimate 324 is provided to a speech process 328. Clean signal estimate 324 may either be a time-domain signal or a Fourier Transform vector. If clean signal estimate 324 is a time-domain signal, speech process 328 may take the form of a listener, a speech coding system, or a speech recognition system. If clean signal estimate 324 is a Fourier Transform vector, speech process 328 will typically be a speech recognition system, or contain an Inverse Fourier Transform to convert the Fourier Transform vector into waveforms.
Within clean signal estimator 322, alternative sensor signal 316 and microphone signal 318 are converted into the frequency domain being used to estimate the clean speech. As shown in
Each respective frame of data provided by frame constructors 406 and 416 is converted into the frequency domain using Fast Fourier Transforms (FFT) 408 and 418, respectively.
The frequency domain values for the alternative sensor signal and the air conduction microphone signal are provided to clean signal estimator 420, which uses the frequency domain values to estimate clean speech signal 324.
Under some embodiments, clean speech signal 324 is converted back to the time domain using Inverse Fast Fourier Transforms 422. This creates a time-domain version of clean speech signal 324.
The present invention utilizes a model of the system of
In the model of
The model of
Under one embodiment of the present invention, the clean speech signal estimate and the likelihoods of the states for the clean speech signal estimate are formed by first assuming Gaussian distributions for the noise components in the system model. Thus:
V˜N(0,g2σv2) EQ. 1
U˜N(0,σu2) EQ. 2
W˜N(0,σw2) EQ. 3
where each noise component is modeled as a zero-mean Gaussian having respective variances g2σv2, σu2, and σw2, V is the ambient noise, U is the sensor noise in the air conduction microphone, and W is the sensor noise in the alternative sensor. In EQ. 1, g is a tuning parameter that allows the variance of the ambient noise to be tuned.
In addition, this embodiment of the present invention models the probability of the clean speech signal given a state as a zero-mean Gaussian with a variance σs2 such that:
X|(S=s)˜N(0,σs2) EQ. 4
Under one embodiment of the present invention, the prior probability of a given state is assumed to be a uniform probability such that all states are equally likely. Specifically, the prior probability is defined as:
where Ns is the number of speech states available in the model.
In the description of the equations below for determining the estimate of the clean speech signal and the likelihood of the speech states, all of the variables are modeled in the complex spectral domain. Each frequency component (Bin) is treated independently of the other frequency components. For ease of notation, the method is described below for a single frequency component. Those skilled in the art will recognize that the computations are performed for each frequency component in the spectral version of the input signals. For variables that vary with time, a subscript t is added to the variable.
To estimate the clean speech signal Xt from the noisy observations Yt and Bt, the present invention maximizes the conditional probability p(Xt|Yt,Bt), which is the probability of the clean speech signal given the noisy air conduction microphone signal and the noisy alternative sensor signal. Since the estimate of the clean speech signal depends on the speech state St under the model, this conditional probability is determined as:
where {S} denotes the set of all speech states, p(Xt|Yt,Bt,St=s) is the likelihood of Xt given the current noisy observations and the speech state s, and p(St=s|Yt,Bt) is the likelihood of the speech state s given the noisy observations. Any number of possible speech states may be used under the present invention, including speech states for voiced sounds, fricatives, nasal sounds and back vowel sounds. In some embodiments, a separate speech state is provided for each of a set of phonetic units, such as phonemes. Under one embodiment, however, only two speech states are provided, one for speech and one for non-speech.
Under some embodiments, a single state is used for all of the frequency components. Therefore, each frame has a single speech state variable.
The terms on the right hand side of EQ. 6 can be calculated as:
which indicate that the conditional probability of the clean speech signal given the observations can be estimated by the joint probability of the clean speech signal, the observations and the state and that the conditional probability of the state given the observations can be approximated by integrating the joint probability of the clean speech signal, the observations and the state over all possible clean speech values.
Using the Gaussian assumptions for the distributions of the noise discussed above in equations 1-3, the joint probability of the clean speech signal, the observations and the state can be computed as:
where p(Xt|St=s)=N(Xt; 0,σs2), p(St) is the prior probability of the state which is given by the uniform probability distribution in EQ. 5, G is the channel response of the alternative sensor to the ambient noise, H is the channel response of the alternative sensor signal to the clean speech signal, and complex terms between vertical bars such as, |G|, indicate the magnitude of the complex value.
The alternative sensor's channel response G for background speech is estimated from the signals of the air microphone Y and of the alternative sensor B across the last D frames in which the user is not speaking. Specifically, G is determined as:
where D is the number of frames in which the user is not speaking but there is background speech. Here, we assume that G is constant across all time frames D. In other embodiments, instead of using all the D frames equally, we use a technique known as “exponential aging” so that the latest frames contribute more to the estimation of G than the older frames.
The alternative sensor's channel response H for the clean speech signal is estimated from the signals of the air microphone Y and of the alternative sensor B across the last T frames in which the user is speaking. Specifically, H is determined as:
where T is the number of frames in which the user is speaking. Here, we assume that H is constant across all time frames T. In other embodiments, instead of using all the T frames equally, we use a technique known as “exponential aging” so that the latest frames contribute more to the estimation of H than the older frames.
The conditional likelihood of the state p(St=s|Yt,Bt) is computed using the approximation of EQ. 8 and the joint probability calculation of EQ. 9 as:
which can be simplified as:
A close look at EQ. 13 reveals that the first term is in some sense modeling the correlation between the alternative sensor channel and the air conduction microphone channel whereas the second term makes use of the state model and the noise model to explain the observation in the air microphone channel. The third term is simply the prior on the state, which under one embodiment is a uniform distribution.
The likelihood of the state given the observation as computed in EQ. 13 has two possible applications. First, it can be used to build a speech-state classifier, which can be used to classify the observations as including speech or not including speech so that the variances of the noise sources can be determined from frames that do not include speech. It can also be used to provide a “soft” weight when estimating the clean speech signal as shown further below.
As noted above, each of the variables in the above equations is defined for a particular frequency component in the complex spectral domain. Thus, the likelihood of EQ. 13 is for a state associated with a particular frequency component. However, since there is only a single state variable for each frame, the likelihood of a state for a frame is formed by aggregating the likelihood across the frequency components as follows:
where L(St(f))=p(St(f)|Yt(f),Bt(f)) is the likelihood for the frequency component f as defined in EQ. 13. The product is determined over all frequency components except the DC and Nyquist frequencies. Note that if the likelihood computation is carried out in the log-likelihood domain, then the product in the above equation is replaced with a summation.
The above likelihood can be used to build a speech/non-speech classifier, based on a likelihood ratio test such that:
where a frame is considered to contain speech if the ratio r is greater than 0 and is considered to not contain speech otherwise.
Using the likelihood of the speech states, an estimate of the clean speech signal can be formed. Under one embodiment, this estimate is formed using a minimum mean square estimate (MMSE) based on EQ. 6 above such that:
where E(Xt|Yt,Bt) is the expectation of the clean speech signal given the observation, and E(Xt|Yt,Bt,St=s) is the expectation of the clean speech signal given the observations and the speech state.
Using equations 7 and 9, the conditional probability p(Xt|Yt,Bt,St=s) from which the expectation E(Xt|Yt,Bt,St=s) can be calculated is determined as:
This produces an expectation of:
and M* is the complex conjugate of M.
Thus, the MMSE estimate of the clean speech signal Xt is given by:
where πs is the posterior on the state and is given by:
where L(St=s) is given by EQ. 14. Thus, the estimate of the clean speech signal is based in part on the relative likelihood of a particular speech state and this relative likelihood provides a soft weight for the estimate of the clean speech signal.
In the calculations above, H was assumed to be known with strong precision. However, in practice, H is only known with limited precision. Under an additional embodiment of the present invention, H is modeled as a Guassian random variable N(H; H0,σH2). Under such an embodiment, all of the calculations above are marginalized over all possible values of H. However, this makes the mathematics intractable. Under one embodiment, an iterative process is used to overcome this intractability. During each iteration, H is replaced in equations 13 and 20 with H0 and σw2 is replaced with σw2+|{circumflex over (X)}t|2σH2 where {circumflex over (X)}t is an estimate of the clean speech signal determined from a previous iteration. The clean speech signal is then estimated using EQ. 21. This new estimate of the clean speech signal is then set as the new value of {circumflex over (X)}t and the next iteration is performed. The iterations end when the estimate of the clean speech signal becomes stable.
To identify frames where the user is not speaking, the alternative sensor signal can be examined. Since the alternative sensor signal will produce much smaller signal values for background speech than for noise, when the energy of the alternative sensor signal is low, it can initially be assumed that the speaker is not speaking. The values of the air conduction microphone signal and the alternative sensor signal for frames that do not contain speech are stored in a buffer and are used to compute variances of the noise as:
where Nv is the number of noise frames in the utterance that are being used to form the variances, V is the set of noise frames where the user is not speaking, and Bt′ refers to the alternative sensor signal after leakage has been accounted for, which is calculated as:
B′t=Bt−GYt EQ. 25
which in some embodiments is alternatively calculated as:
Under some embodiments, the technique of identifying non-speech frames based on low energy levels in the alternative sensor signal is only performed during the initial frames of training. After initial values have been formed for the noise variances, they may be used to determine which frames contain speech and which frames do not contain speech using the likelihood ratio of EQ. 15.
The value of g, which is a tuning parameter that can be used to either increase or decrease the estimated variance σv2, is set to 1 under one particular embodiment. This suggests complete confidence in the noise estimation procedure. Different values of g may be used under different embodiments of the present invention.
The variance of the noise for the air conduction microphone, σu2, is estimated based on the observation that the air conduction microphone is less prone to sensor noise than the alternative sensor. As such, the variance of the air conduction microphone can be calculated as:
σu2=1e−4σw2 EQ. 27
At step 602, the speech variance σs2 is estimated using a noise suppression filter with temporal smoothing. The suppression filter is a generalization of spectral subtraction. Specifically, the speech variance is calculated as:
where {circumflex over (X)}t-1 is the clean speech estimate from the preceding frame, τ is a smoothing factor which in some embodiments is set to 0.2, α controls the extent of noise reduction such that if α>1, more noise is reduced at the expense of increase speech distortion, and β gives the minimum noise floor and provides a means to add background noise to mask the perceived residual musical noise. Under some embodiments, γ1=2 and γ2=½. In some embodiments, β is set equal to 0.01 for 20 dB noise reduction for pure noise frames.
Thus, in EQ. 28, the variance is determined as a weighted sum of the estimated clean speech signal of the preceding frame and the energy of the air conduction microphone signal filtered by the noise suppression filter Ks.
Under some embodiments, α is chosen according to a signal to noise ratio and a masking principle which has shown that the same amount of noise in a high speech energy band has a smaller impact in perception than in a low speech energy band and the presence of high speech energy at one frequency will reduce the perception of noise in an adjacent frequency band. Under this embodiment, α is chosen as:
where SNR is the signal-to-noise ratio in decibels (dB), B is the desired signal-to-noise ratio level above which noise reduction should not be performed and α0 is the amount of noise that should be removed at a signal-to-noise ratio value of 0. Under some embodiments, B is set equal to 20 dB.
Using a definition of signal to noise ratio of:
the noise suppression filter of EQ. 29 becomes:
This noise suppression filter provides weak noise suppression for positive signal-to-noise ratios and stronger noise suppression for negative signal-to-noise ratios. In fact, for sufficiently negative signal-to-noise ratios, all of the observed signal and noise are removed and the only signal present is a noise floor that is added back by the “otherwise” branch of the noise suppression filter of Eq. 33.
Under some embodiments, α0 is made frequency-dependent such that different amounts of noise are removed for different frequencies. Under one embodiment, this frequency dependency is formed using a linear interpolation between α0 at 30 Hz and α0 at 8 KHz such that:
α0(k)=α0min+(α0max−α0min)k/225 EQ. 34
where k is the count of the frequency component, α0min is the value of α0 desired at 30 Hz, α0max is the α0 desired at 8 KHz and it is assumed that there are 256 frequency components.
After the speech variance has been determined at step 602, the variances are used to determine the likelihood of each speech state at step 604 using equations 13 and 14 above. The likelihood of the speech states is then used in step 606 to determine a clean speech estimate for the current frame. As noted above, in embodiments in which a Gaussian distribution is used to represent H, steps 604 and 606 are iterated using the latest estimate of the clean speech signal in each iteration and using the changes to the equations discussed above to accommodate the Gaussian model for H.
Although the present invention has been described with reference to particular embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
3383466 | Hilix et al. | May 1968 | A |
3746789 | Alcivar | Jul 1973 | A |
3787641 | Santori | Jan 1974 | A |
4025721 | Graupe et al. | May 1977 | A |
5054079 | Frielingsdorf et al. | Oct 1991 | A |
5148488 | Chen et al. | Sep 1992 | A |
5151944 | Yamamura | Sep 1992 | A |
5197091 | Takagi et al. | Mar 1993 | A |
5295193 | Ono | Mar 1994 | A |
5404577 | Zuckerman et al. | Apr 1995 | A |
5446789 | Loy et al. | Aug 1995 | A |
5555449 | Kim | Sep 1996 | A |
5590241 | Park et al. | Dec 1996 | A |
5647834 | Ron | Jul 1997 | A |
5692059 | Kruger | Nov 1997 | A |
5727124 | Lee et al. | Mar 1998 | A |
5757934 | Yokoi | May 1998 | A |
5828768 | Eatwell et al. | Oct 1998 | A |
5873728 | Jeong | Feb 1999 | A |
5884257 | Maekawa et al. | Mar 1999 | A |
5933506 | Aoki et al. | Aug 1999 | A |
5943627 | Kim et al. | Aug 1999 | A |
5983073 | Ditzik | Nov 1999 | A |
6028556 | Shiraki | Feb 2000 | A |
6052464 | Harris et al. | Apr 2000 | A |
6052567 | Ito et al. | Apr 2000 | A |
6091972 | Ogasawara | Jul 2000 | A |
6094492 | Boesen | Jul 2000 | A |
6125284 | Moore et al. | Sep 2000 | A |
6137883 | Kaschke et al. | Oct 2000 | A |
6175633 | Morrill et al. | Jan 2001 | B1 |
6243596 | Kikinis | Jun 2001 | B1 |
6308062 | Chien et al. | Oct 2001 | B1 |
6339706 | Tillgren et al. | Jan 2002 | B1 |
6343269 | Harada et al. | Jan 2002 | B1 |
6408081 | Boesen | Jun 2002 | B1 |
6408269 | Wu et al. | Jun 2002 | B1 |
6411933 | Maes et al. | Jun 2002 | B1 |
6542721 | Boesen | Apr 2003 | B2 |
6560468 | Boesen | May 2003 | B1 |
6594629 | Basu et al. | Jul 2003 | B1 |
6664713 | Boesen | Dec 2003 | B2 |
6675027 | Huang | Jan 2004 | B1 |
6760600 | Nickum | Jul 2004 | B2 |
6778954 | Kim et al. | Aug 2004 | B1 |
7054423 | Nebiker et al. | May 2006 | B2 |
7110722 | Godsill et al. | Sep 2006 | B2 |
7146315 | Balan et al. | Dec 2006 | B2 |
7453963 | Joublin et al. | Nov 2008 | B2 |
20010027121 | Boesen | Oct 2001 | A1 |
20010039195 | Nickum | Nov 2001 | A1 |
20020057810 | Boesen | May 2002 | A1 |
20020075306 | Thompson et al. | Jun 2002 | A1 |
20020181669 | Takatori et al. | Dec 2002 | A1 |
20020196955 | Boesen | Dec 2002 | A1 |
20020198021 | Boesen | Dec 2002 | A1 |
20030040908 | Yang et al. | Feb 2003 | A1 |
20030083112 | Fukuda | May 2003 | A1 |
20030125081 | Boesen | Jul 2003 | A1 |
20030144844 | Colmenarez et al. | Jul 2003 | A1 |
20040002858 | Attias et al. | Jan 2004 | A1 |
20040092297 | Huang | May 2004 | A1 |
20040111260 | Deligne et al. | Jun 2004 | A1 |
20040267536 | Hershey et al. | Dec 2004 | A1 |
20050114124 | Liu et al. | May 2005 | A1 |
20050185813 | Sinclair et al. | Aug 2005 | A1 |
20060008256 | Khedouri et al. | Jan 2006 | A1 |
20060009156 | Hayes et al. | Jan 2006 | A1 |
20060072767 | Zhang et al. | Apr 2006 | A1 |
20060079291 | Granovetter et al. | Apr 2006 | A1 |
20060178880 | Zhang et al. | Aug 2006 | A1 |
Number | Date | Country |
---|---|---|
199 17 169 | Nov 2000 | DE |
0 720 338 | Jul 1996 | EP |
0 854 535 | Jul 1998 | EP |
0 939 534 | Sep 1999 | EP |
0 951 883 | Oct 1999 | EP |
1 333 650 | Aug 2003 | EP |
1 569 422 | Aug 2005 | EP |
2 761 800 | Apr 1997 | FR |
2 375 276 | Nov 2002 | GB |
2 390 264 | Dec 2003 | GB |
3108997 | May 1991 | JP |
5276587 | Oct 1993 | JP |
8065781 | Mar 1996 | JP |
8070344 | Mar 1996 | JP |
8079868 | Mar 1996 | JP |
10-023122 | Jan 1998 | JP |
10-023123 | Jan 1998 | JP |
11265199 | Sep 1999 | JP |
2001119797 | Oct 1999 | JP |
2001245397 | Feb 2000 | JP |
20002-09688 | Jul 2000 | JP |
2000196723 | Jul 2000 | JP |
2000261529 | Sep 2000 | JP |
2000261530 | Sep 2000 | JP |
2000261534 | Sep 2000 | JP |
2000354284 | Dec 2000 | JP |
2001292489 | Oct 2001 | JP |
2002-125298 | Apr 2002 | JP |
2002-358089 | Dec 2002 | JP |
WO 9301664 | Jan 1993 | WO |
WO 9517746 | Jun 1995 | WO |
WO 0021194 | Oct 1998 | WO |
WO 9904500 | Jan 1999 | WO |
WO 0045248 | Aug 2000 | WO |
WO 0277972 | Mar 2002 | WO |
WO 02098169 | Dec 2002 | WO |
WO 03055270 | Mar 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20060293887 A1 | Dec 2006 | US |