A method of and a device for deriving formant frequencies from a part of a speech signal. For determining the formant frequencies from a part of a speech signal located within a given time interval, the split levinson algorithm is used. In the split levinson algorithm a higher order singular predictor polynomial (Pk (z)) is each time determined in successive recursion steps. After the last recursion step the formant frequencies (f1, f2, . . . ) are determined.
|
7. A method of determining the formant frequencies of a speech signal comprising:
converting an acoustic speech signal into a corresponding electric speech signal, deriving electric parameter values for successive time instants located within a given time interval which occurs over a part of the electric speech signal, deriving a singular predictor polynomial from the electric parameter values by means of a plurality of successive recursion steps in each of which a split levinson algorithm is performed, wherein a recursion step includes deriving a number of zeros of the singular predictor polynomial determined in said recursion step by using the zeros calculated during a previous recursion step and, after the last recursion step, deriving the formant frequencies in the speech signal from the zeros of the singular predictor polynomial obtained in the last recursion step.
1. A method of determining formant frequencies in a part of a speech signal located within a given time interval, which comprises:
deriving parameter values for successive instants located within the time interval from the part of the speech signal located within the time interval, determining a polynomial of a given order from the parameter values, deriving the formant frequencies in the speech signal from said polynomial, characterized in that a split levinson algorithm is performed in each of a number of successive recursion steps to determine a singular predictor polynomial from the parameter values, the singular predictor polynomial determined in a recursion step having a higher order than the singular predictor polynomial determined in a preceding recursion step, and wherein a recursion step includes deriving a number of zeros of the singular predictor polynomial determined in said recursion step by using the zeros calculated during a previous recursion step and, after the last recursion step, deriving the formant frequencies from the zeros of the singular predictor polynomial obtained in the last recursion step.
5. A device for determining formant frequencies from a part of a speech signal located within a given time interval, comprising:
an input terminal for receiving a speech signal, a first unit for deriving from said part of the speech signal respective parameter values for successive instants located within the given time interval, said first unit having an input coupled to the input terminal and an output coupled to an input of a second unit, said second unit including means for determining a polynomial of a given order from the parameter values and having an output coupled to an input of a third unit, and said third unit includes means for deriving the formant frequencies from the given polynomial, and having an output for supplying the formant frequencies, characterized in that the second unit performs a number of recursion steps in each of which a split levinson algorithm is performed to derive a singular predictor polynomial from the parameter values, the singular predictor polynomial derived in a recursion step having a higher order than the singular predictor polynomial determined in a preceding recursion step, wherein in a recursion step the second unit derives a number of zeros of the singular predictor polynomial determined in said recursion step by using zeros calculated during a previous recursion step, and in that the third unit derives the formant frequencies from the zeros of the singular predictor polynomial obtained in the last recursion step.
2. A method as claimed in
3. A method as claimed in
4. A method as claimed in
6. A device as claimed in
8. A method as claimed in
9. A method as claimed in
sampling another part of the speech signal and then repeating the steps of claim 7 for said another part of the speech signal to determine the formant frequencies thereof.
|
This invention relates to a method of determining formant frequencies from a part of a speech signal located within a given time interval, in which
for successive instants located within the time interval a parameter value is derived from the part of the speech signal located within the time interval,
a polynomial of a given order is determined from the parameter values,
the formant frequencies are derived from the given polynomial. The invention, also relates to a device for performing the method.
A method of and a device for deriving the formant frequencies in a speech signal is described in U.S. Pat. No. 4,346,262 (8/24/82), which is hereby incorporated by reference.
Formants are actually the resonances of the vocal cords and are characterized by much energy in the spectrum. During speaking the vocal cords constantly change their shape and hence the formants also change as far as the location on the frequency axis and the bandwidth are concerned. In a source filter model for speech production a description of the filter in terms of format frequencies and bandwidths is frequently used. The speech analysis for the Philips' speech synthesis chips MEA 8000 and PCF 8200 also uses a formant description of the speech signal, see list of literature (1) and (2). The reasons for using a formant description are:
economical coding is possible,
data to be interpreted physically are concerned so that manipulation provide an insight, such as for example concatenation of diphone segments and editing for the speech synthesis chip.
The description above gives the impression that the speech signal could always be described by means of a number of formants (=resonances). In that case the filter in the source filter model only comprises resonances (all pole filter). In running speech the speech production system does not always comply with this model: there are sounds for which the model should comprise fewer formants or there are sounds for which the model, besides comprising formants, should also comprise zeros (that means antiresonances: this is a frequency range in which a phenomenon contrasting with resonance occur so that the signal is not subjected to a resonant rise but is notched, and in which there is locally little energy in the spectrum). However, in a practical system the structure of the source filter model and hence the numbers of formants is laid down. The fact that the model used is not adapted to all actually occurring situations causes an operational definition to be given to the formants in the case of speech synthesis. The speech synthesis filter only comprises a fixed number of formants (and no zeros) and the associated speech analysis is assigned to find the model parameters independently of the suitability of the model for speech production.
A formant analysis is extensively described in (3). Two problems occur in this formant analysis:
the prescribed number of formants is not always found,
occasionally the analysis fails for numerical reasons: the algorithm used does not converge.
It is an object of the invention to provide a method of and a device for performing the method in which the prescribed number of operationally defined formants can be determined in all cases, while using an algorithm converging in all cases.
To this end the method according to the invention is characterized in that a Split Levinson algorithm is performed in each of a number of successive recursion steps to determine a singular predictor polynomial (SPP) from the parameter values. The singular predictor polynomial determined in a recursion step has a higher order than the singular predictor polynomial determined in a preceding recursion step. After the last recursion step the formant frequencies are derived from the singular predictor polynomial obtained in the last recursion step. The method may be further characterized in that in a recursion step the zeros of the singular predictor polynomial determined in this recursion step are derived, by using the zeros calculated during the previous recursion step and, after the last recursion step, the formant frequencies are derived from the zeros obtained in the last recursion step. The determination of the zeros of the singular predictor polynomials is simpler than the determination of the zeros in accordance with the known method. The zeros of the polynomial obtained in accordance with the known method are located within the unit circle, whereas the zeros of a singular predictor polynomial are located on the unit circle. As a result, the zeros can be calculated in a simpler manner and sufficient zeros are always found so that actually a robust method of determining formant frequencies is obtained.
The method may be further characterized in that for each of the formant frequencies thus found, the associated bandwidth is determined, starting from the parameter values and the calculated formant frequencies, by means of a minimizing algorithm. All quantities required to generate synthetic speech are then derived, as is already done with the previously mentioned speech chips MEA 8000 and PCF 8200.
The device for performing the method comprises
an input terminal for receiving a speech signal,
a first unit for deriving for successive instants located within the time interval a parameter value from the part of the speech signal located within said time interval, having an input coupled to the input terminal, and an output,
a second unit for determining a polynomial of a given order from the parameter values, having an input coupled to the output of the first unit, and an output, and
a third unit for deriving the formant frequencies from the given polynomial, having an input coupled to the output of the second unit and an output for supplying the formant frequencies. The device in accordance with the invention is characterized in that the second unit is adapted to perform a Split Levinson algorithm in each recursion step to derive a singular predictor polynomial from the parameter values, the singular predictor polynomial derived in a recursion step having a higher order than the singular predictor polynomial determined in a preceding recursion step, and in that the third unit is adapted to derive the formant frequencies from the singular predictor polynomial obtained in the last recursion step.
The second unit may be further adapted to derive in a recursion step the zeros of the singular predictor polynomial determined in this recursion step, using the zeros calculated during the previous recursion step, and the third unit is adapted to derive the formant frequencies from the zeros obtained in the last recursion step. If, in addition to the formant frequencies obtained in the manner described above, the bandwidths are also to be determined, the third unit may to this end be adapted to determine the associated bandwidth for each of the formant frequencies thus found, starting from the parameter values and the calculated formant frequencies, by means of a minimizing algorithm.
The invention will now be described in greater detail, by way of example, with reference to the accompanying drawings, in which:
FIG. 1 shows zeros of the A filter from the LPC analysis, located within the unit circle, and zeros of the singular predictor polynomial located on the unit circle,
FIGS. 2 and 3 show the behaviour of the zeros obtained for successive recursion steps in the Split Levinson algorithm,
FIG. 4 shows a flow chart of the method,
FIG. 5 is a flow chart of the programme section in which the Split Levinson algorithm is used, and
FIG. 6 shows a device for performing the method.
In the known method the formants are determined by calculating an all pole filter with the aid of the LPC analysis, which is subsequently analyzed into second-order sections. The LPC analysis is a method known from the literature, see for example Reference (5). In the LPC analysis a part of a signal of approximately 25 ms is taken and it is multiplied by a Hamming window and the auto correlation coefficients are calculated. A polynomial A(z) (1/A(z)=the all pole filter) of a given order is now determined by means of the so-called Levinson algorithm. This is a recursive algorithm in which for each recursion step an A-polynomial is calculated whose zeros are located within the unit circle.
Successively:
Ao (z)=1 (1.1)
A1 (z)=1+a1.1 z-1 (1.2)
A2 (z)=1+a2.1 z-1 +a2.2 z-2 (1.3)
Am (z)=1+am.1 z-1 + . . . +am.m z-m(1.4)
With each recursion the A polynomial changes completely. The fact that the zeros are always located within the unit circle ensures a stable synthesis filter and is a result of the use of the auto correlation method. The zeros of this polynomial are complex conjugate pairs or real zeros, see FIG. 1. In FIG. 1 the open circles indicate the complex conjugate pairs and the closed circles indicate the real zeros. The zero pairs (including the real ones) can be written as:
N(z)=1+pz-1 +qz-2 (2)
If the A polynomial A(z) is written as:
A(z)=1+a1 z-1 + . . . +am z-m (3)
it can be analyzed in second-order sections: ##EQU1## These (pj, qj) pairs can be split off by means of the so called bairstow algorithm which is known from the Handbook, see, inter alia Reference (6).
Added complex zero pairs represent a resonance (=formant) and the pj, qj numbers give the formant frequency and bandwidth as follows:
Pj =-2.exp(-πBj T).cos(2πFj T) (5a)
qj =exp(-2πBj T) (5b)
in which T=1/Fs is the sampling period from which Bj and Fj can be determined.
Real zeros cannot be transformed to formant data because they do not describe any resonance, but rather give the spectrum a certain slope.
The two problems, mentioned in the opening paragraph, in the current formant determination can now be better formulated:
the presence of real zeros of the A-polynomial so that no formant frequency and bandwidth can be determined,
the occasional failure of the bairstow-algorithm for numerical reasons which are not really known. The algorithm then remains iterating without converging.
The so-called Split Levinson algorithm has been developed by Genin and Delsarte (4) and one of its properties is that approximately half the number of multiplications is required to perform an LPC analysis as compared with the conventional Levinson algorithm. This is possible because the so-called singular predictor polynomials are now used instead of the A-polynomials. These predictor polynomials are symmetrical and therefore the zeros are located on the unit circle and, roughly speaking, these polynomials thus consist of half as many significant coefficients.
The attractive feature of this algorithm resides in the properties of the singular predictor polynomials (SPP). The SPP are defined by
Pk (z)=Ak-1 (z)+z-1 Ak-1 (z) (6)
in which Ak (z) is the A-polynomial at the k-th recursion of the normal Levinson algorithm and in which it holds for Ak (z) that:
Ak (z)=z-k.Ak (z-1) (7)
Ak (z) is the reciprocal polynomial of Ak (z).
As stated, these SPP are symmetrical polynomials and therefore they have zeros which are located on the unit circle and not within this circle, as is the case with the Ak (z).
These SPP are also related to the polynomials which play a role in the LSP analysis (Line Spectrum Pairs) (7). Based on the definition and the properties of Ak (z) a recurrent relation can be derived for the SPP:
Pk (z)=(1+z-1)Pk-1 (z)-αk-1 z-1 Pk-2 (z)(8)
in which αk-1 is a number calculated from the given auto correlation coefficients.
It is known (7) that the position of the zeros on the unit circle of this SPP, and having an even valued order, lie in the proximity of the formant positions as are derived from the A polynomial. This similarity is the better as the pole is located closer to the unit circle, or in other words the bandwidth of the formant is smaller. According to the invention the formant frequencies are now derived from the positions of the zeros of the singular predictor polynomial on the unit circle. This simplifies the problem of finding the zeros of the A-polynomial, which may be located anywhere within the unit circle, and of finding the zeros of the singular predictor polynomial which are located on the unit circle, see the crossed points on the unit circle in FIG. 1. Finding these zeros of the singular predictor polynomial is still further simplified because the zeros in the successive recursion steps shift quite systematically.
The recursion steps are traversed in the following manner. In the first recursion step Po (z)=1 is taken. In the second recursion step P1 (z)=1+z-1. This follows directly from the formulae (1.1), (6) and (7). The zero np1.1 of this polynomial is located at z-1 =-1 or w=π, in which w is the argument of the (complex) zero. In the third recursion step P2 (z) is calculated, using the formula (8):
Pk (z)=(1+z-1)Pk-1 (z)-αk-1 z-1 Pk-2 (z)(8)
in which
αk-1 =τk-1/τk-2 (9)
τk-1 =(ro +rk-1)+(r1 +rk-2)pk-1.1 +(10)
and pk.i follows from the general formula for Pk (z) namely
Pk (z)=1+pk.1 z-1 +pk.2 z-2 + . . . +pk.1 z-k+1 +z-k (11)
or
P2 (z)=1+p2.1 z-1 +z-2
For calculating P2 (z) it thus holds that
pk-1.1 =pk-1.2 = . . . =0
and thus
τ1 =ro +r1
Moreover τo =ro /2 is chosen.
Consequently P2 (z) becomes: ##EQU2## If z=ejw is substituted, which means that z+z-1 =2 cos w, then:
P2 (z)=e-jw {(2-α1)+2 cos w}
The second degree polynomial P2 (z) is now reduced to a first degree polynomial with zeros in the interval (-1,+1) instead of on the unit circle.
We find a zero np2.1 which is located in the interval determined by np1.1 (=-1) and +1, see FIG. 2.
Subsequently P3 (z) is calculated in the fourth recursion step, using the formulae (8), (9), (10) and (11). An equation is found in the form of: ##EQU3## This equation can be divided by 1+z-1 which yields a zero np3.1 at z-1 =-1, or w=π.
What remains is again a second degree comparison which can be converted in the manner as described with reference to P2 (z). Then a zero np3.2 is found which is located in the interval determined by np2.1 and +1, see FIG. 2.
Subsequently, P4 (z) is calculated in the fifth recursion step, using the formulae (8), (9), (10) and (11): ##EQU4## If z=ejw is substituted again then
z+z-1 =2 cos w and zk +z-k =2 cos kw
P4 (z)=e-2jw [2 cos 2w+2p4.1 cos w+p4.2 ]
And this can always be written in powers of y=cos w; in this case with cos 2w=2 cos2 w-1.
P4 (z)=e-2jw [4y2 +2p4.1 y+(p4.2 -2)]
The fourth-degree polynomial P4 (z) is now reduced to a-second degree polynomial with zeros at the interval (-1,+1) again instead of on the unit circle. Particularly there is a zero np4.1 between np3.1 and np3.2 and there is a zero np4.2 between np3.2 and +1, see FIG. 2.
Summarizing:
In the Split Levinson algorithm the SPP in the successive recursion steps are as follows: ##EQU5## and so forth.
It is a property of this SPP Pk (z) that the zeros of Pk (z) are located in an interval which can be derived from the zeros of Pk-1 (z). See FIG. 2: for k=1 the zero np1.1 =-1, for k=2 the zero is located in the interval (np1.1, +1). For k=3 one zero np3.1 =-1 and the other zero np3.2 is located in the interval (np2.1, +1), etcetera.
Finding a zero in an interval of which only one is known to be present always leads to success. In the algorithm the positions of the zeros are determined from the start (from k=3), see also FIG. 3.
The formant frequencies are calculated in the following manner from the zeros determined in the last recursion step. Since a zero np1,j indicates the length of the projection on the horizontal axis (see FIG. 1) of the unit vector towards a given point on the unit circle, it holds that:
npi,j =cos(2πfj.T)
in which T=1/fs is the sampling period and fs is the sampling frequency.
It follows that the formant frequency
fj =fs arc cos (npi,j)/2π
in which j ranges from 1 to 1/2M inclusive and i is equal to M.
The number M is determined by the number of formants which is expected within the frequency range to be analyzed. If the bandwidth of the frequency range to be analyzed is, for example 5000 Hz, five formants for a male voice and four formants for a female voice are located within this range. In this case M is 10 and 8, respectively. If the bandwidth is, for example 8000 Hz, 8 formants for a male voice and 6 formants for a female voice are located within this frequency range. M is now 16 and 12, respectively. It may be evident that M is thus taken to be equal to twice the expected number of formants within the frequency range.
The bandwidth information in the formant frequencies thus found must now be determined. This problem is solved by using a minimizing technique, with the bandwidths as unknowns. To this end a choice for each formant is made from the table of possible bandwidths. From this table an A-polynomial can be calculated which can be checked to find out how well this polynomial fits the incoming signal. Hence we can also calculate which choice from the table fits best with the incoming signal. The fit between an a-filter and the incoming signal can now be determined by means of the auto correlation coefficients (already calculated). Let it be assumed that A (z-1) is the a filter which has been found by choosing a value from the available table for all, still unknown bandwidths. Then the error made is ##EQU6## This can be reduced to ##EQU7## in which ##EQU8## which are the auto correlation coefficients which have already been calculated and have also served as an input for the Split Levinson algorithm.
In the minimizing algorithm the minimum of the error is sought for the bandwidth of the first formant, subsequently for the second formant, and so forth, and then again for the first formant, and so forth. This process is repeated until the bandwidth values do not change anymore. The values for the bandwidths are taken from a table with a given quantization. This quantization was tested with different step sizes without the convergence ever failing. The sequence in which the minimization is effected (in this case successively for formants 1, 2, 3, 4 and 5) is important for the rate of convergence.
FIG. 4 shows a flow chart of the method according to the invention. The method is started in block 40. In block 41 a part of the speech signal located in a given time interval of, for example, 25 ms is inputted. The signal is processed under the influence of a Hamming window. Subsequently auto correlation coefficients ri (i=O, . . . , M) in which M<<N are calculated from the then obtained samplings S1, . . . SN in the block 42. In block 43 the Split Levinson algorithm is used, starting from the auto correlation coefficients ri. After a number of recursion steps, namely M steps, in the Split Levinson algorithm the zeros npM.1, npM.2, . . . , npM.1/2M (M is even) are found. Subsequently the formant frequencies f1 . . . fM/2 are derived in the block 44 from the zeros obtained in the last recursion step. Then the bandwidths B1 to BM/2 associated with the formant frequencies are derived in block 45. Then the programme returns via the chain 46, 47 to block 41 and a speech signal is taken in from a time interval (of 25 ms) shifted over a given time interval (of, for example 10 ms), from which signal a set of formant frequencies with the associated bandwidths can be derived again. The programme is thus repeated every time until the full speech signal has been coded. The programme then ends via 46 and 48.
FIG. 5 is a further elaboration of block 43 of FIG. 4. FIG. 5 shows a flow chart of the Split Levinson algorithm as outlined hereinbefore. The programme starts in block 50. Po (z) and P1 (z) are calculated in the blocks 51 and 52, respectively. The zero of P1 (z) np1,1 is located at z-1 =-1. Subsequently k=2 is taken (block 53) and the singular predictor polynomial Pk (z) is calculated in block 54 in accordance with formula (8). Dependent on the question whether k is even or odd (block 55), the zeros npk.1, npk.2 are either determined in accordance with block 56 or in accordance with block 57. Subsequently the value k is increased by 1 (block 58) and the programme returns via 59 and the chain 60 to block 54 to pass through the next recursion step. After the last recursion step (k=M) the programme leads via 59 to block 61 and the programme is ended.
FIG. 6 shows an embodiment of the device according to the invention for performing the method. A speech signal is applied to the device via the input terminal 65. In the first unit 66 a part of the speech signal located within a given time interval is used to calculate a parameter value, for example the auto correlation coefficient for successive instants located within this time interval. These parameter values are applied to a second unit 67. This unit 67 applies the Split Levinson algorithm to the supplied parameter values. The zeros obtained in the last recursion step of the Split Levinson algorithm are applied to the third unit 68 deriving formant frequencies therefrom. In addition the third unit 68 may be adapted to calculate the associated bandwidths. The results are presented to an output 69 of the third unit 68.
It is to be noted that various modifications of the method and the device shown are possible without departing from the spirit and scope of the invention as defined in the Claims.
TABLE |
______________________________________ |
Inscriptions in the flow charts of FIGS. 4 and 5 |
block number |
inscription |
______________________________________ |
40, 50 start |
41 derive speech segment |
42 determine auto correlation coefficients |
43 determination of zeros in Split Levinson |
algorithm |
44 calculate formant frequencies |
45 calculate corresponding bandwidths |
48 stop |
54 calculate singular predictor polynomial |
55 k even? |
56, 57 determination of zeros |
61 return |
______________________________________ |
(1) Philips' Elcoma technical publication no. 101 (1983) MEA 8000 voice synthesizer: principles and interfacing.
(2) Philips' Elcoma technical publication no. 217 (1986) Speech synthesis: the complete approach with the PCF 8200.
(3) Vogten, L. L. M. (1983) Analyse, zuinige kodering en resynthese van spraakgeluid. Dissertatie, Eindhoven.
(4) Delsarte, P. and Genin, Y. V. (1986) The Split Levinson Algorithm. IEEE Trans. on ASSP, Vol. ASSP-34, No. 3, Jun. 86, p. 470-478.
(5) Markel, J. D. and Gray, A. H. (1976) Linear prediction of speech Springer Verlag.
(6) Hilderbrand, F. B., Introduction to numerical analysis. McGraw Hill (1956).
(7) Sugamura, N. en Itakura, F., Speech analysis and synthesis methods develped at ELL in NTT - From LPC to LSP, in Speech Communication Vol. 5, 1986, p. 199-215.
Patent | Priority | Assignee | Title |
5321636, | Mar 03 1989 | U.S. Philips Corporation | Method and arrangement for determining signal pitch |
5361324, | Oct 04 1989 | Matsushita Electric Industrial Co., Ltd. | Lombard effect compensation using a frequency shift |
6208959, | Dec 15 1997 | Telefonaktiebolaget LM Ericsson | Mapping of digital data symbols onto one or more formant frequencies for transmission over a coded voice channel |
6233552, | Mar 12 1999 | Comsat Corporation | Adaptive post-filtering technique based on the Modified Yule-Walker filter |
6385585, | Dec 15 1997 | Telefonaktiebolaget LM Ericsson (publ) | Embedded data in a coded voice channel |
6993480, | Nov 03 1998 | DTS, INC | Voice intelligibility enhancement system |
7756703, | Nov 24 2004 | SAMSUNG ELECTRONICS CO , LTD | Formant tracking apparatus and formant tracking method |
8050434, | Dec 21 2006 | DTS, INC | Multi-channel audio enhancement system |
8509464, | Dec 21 2006 | DTS, INC | Multi-channel audio enhancement system |
9232312, | Dec 21 2006 | DTS, INC | Multi-channel audio enhancement system |
9847093, | Jun 19 2015 | Samsung Electronics Co., Ltd. | Method and apparatus for processing speech signal |
Patent | Priority | Assignee | Title |
4346262, | Apr 04 1979 | N V PHILIPS GLOEILAMPENFABRIEKEN, KINGDOM OF THE NETHERLANDS; TECHNISCHE HOGESCHOOL EINDHOVEN, KINGDOM OF THE NETHERLANDS | Speech analysis system |
4477925, | Dec 11 1981 | MagnaChip Semiconductor, Ltd | Clipped speech-linear predictive coding speech processor |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 04 1987 | U.S. Philips Corporation | (assignment on the face of the patent) | / | |||
Feb 16 1988 | WILLEMS, LEONARDUS F | U S PHILIPS CORPORATION, A CORP OF DE | ASSIGNMENT OF ASSIGNORS INTEREST | 004831 | /0630 |
Date | Maintenance Fee Events |
Jan 03 1994 | M183: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 18 1994 | ASPN: Payor Number Assigned. |
Dec 18 1997 | M184: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 20 2002 | REM: Maintenance Fee Reminder Mailed. |
Jul 31 2002 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jul 31 1993 | 4 years fee payment window open |
Jan 31 1994 | 6 months grace period start (w surcharge) |
Jul 31 1994 | patent expiry (for year 4) |
Jul 31 1996 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 31 1997 | 8 years fee payment window open |
Jan 31 1998 | 6 months grace period start (w surcharge) |
Jul 31 1998 | patent expiry (for year 8) |
Jul 31 2000 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 31 2001 | 12 years fee payment window open |
Jan 31 2002 | 6 months grace period start (w surcharge) |
Jul 31 2002 | patent expiry (for year 12) |
Jul 31 2004 | 2 years to revive unintentionally abandoned end. (for year 12) |