This application is based upon and claims the benefit of priority from UK application number 1007705.5 filed on May 7, 2010, the entire contents of which are incorporated herein by reference.
Embodiments of the present invention described herein generally relate to the field of speech synthesis.
An acoustic model is used as the backbone of the speech synthesis. An acoustic model is used to relate a sequence of words or parts of words to a sequence of feature vectors. In statistical parametric speech synthesis, an excitation model is used in combination with the acoustic model. The excitation model is used to model the action of the lungs and vocal chords in order to output speech which is more natural.
In known statistical speech synthesis, features, such as cepstral coefficients are extracted from speech waveforms and their trajectories and modelled by a statistical model, such as a Hidden Markov Model (HMM). The parameters of the statistical model are estimated so as to maximize its likelihood to the training data or minimize an error between training data and generated features. At the synthesis stage, a sentence-level model is composed from the estimated statistical model according to an input text, and then features are generated from such sentence model so as to maximize their output probabilities or minimize an objective function.
The present invention will now be described with reference to the following non-limiting embodiments in which:
Current speech synthesis systems often use a source filter model. In this model, an excitation signal is generated and filtered. A spectral feature sequence is extracted from speech and utilized to separately estimate acoustic model and excitation model parameters. Therefore, spectral features are not optimized by taking into account the excitation model and vice versa.
The inventors of the present invention have taken a completely different approach to the problem of estimating the acoustic and excitation model parameters and in an embodiment provide a method in which acoustic model parameters are jointly estimated with excitation model parameters in a way to maximize the likelihood of the speech waveform.
According to an embodiment, it is presumed that speech is represented by the convolution of a slowly varying vocal tract impulse response filter derived from spectral envelope features, and an excitation source. In the proposed approach extraction of spectral features is integrated in the interlaced training of acoustic and excitation models. Estimation of parameters of the models in question based on the maximum likelihood (ML) criterion can be viewed as full-fledge waveform level closed-loop training with the implicit minimization of the distance between natural and synthesized speech waveforms.
In an embodiment, a joint estimation of acoustic and excitation models for statistical parametric speech synthesis is based on maximum likelihood. The resulting system becomes what can be interpreted as a factor analyzed trajectory HMM. The approximations made for the estimation of the parameters of the joint acoustic and excitation model comprise fixing the state sequence fixed along the training and derivation of a one-best spectral coefficient vector.
In an embodiment, parameters of the acoustic model are updated by taking into account the excitation model, and parameters of the latter are calculated assuming spectrum generated from the acoustic model. The resulting system connects spectral envelope parameter extraction and excitation signal modelling in a fashion similar to factor analyzed trajectory HMM. The proposed approach can be interpreted as a waveform level closed-loop training to minimize the distance between natural and synthesized speech.
In an embodiment, acoustic and excitation models are jointly optimized from the speech waveform directly in a statistical framework.
Thus, the parameters are jointly estimated as:
where λ represents the parameters of the excitation model and acoustic model to be optimised, s is the natural speech waveform and l is a transcription of the speech waveform.
In an embodiment, the above training method can be applied to text-to-speech (TTS) synthesizers constructed according to the statistical parametric principle. Consequently, it can also be applied to any task in which such TTS systems are embedded, such as speech-to-speech translation and spoken dialog systems.
In one embodiment a source filter model is used where said text input is processed by said acoustic model to output F0 (fundamental frequency) and spectral features, the method further comprising: processing said F0 features to form a pulse train and filtering said pulse train using excitation parameters derived from said excitation model to produce an excitation signal and filtering said excitation signal using filter parameters derived from said spectral features.
The acoustic model parameters may comprise means and variances of said probability distributions. Examples of the features output by said acoustic model are F0 features and spectral features.
The excitation model parameters may comprise filter coefficients which are configured to filter a pulse signal derived from F0 features and white noise.
In an embodiment, said joint estimation process comprises a recursive process where in one step excitation parameters are updated using the latest estimate of acoustic parameters and in another step acoustic model parameters are updated using the latest estimate of excitation parameters. Preferably, said joint estimation process uses a maximum likelihood technique.
In a further embodiment, said stochastic model further comprises a mapping model and said mapping model comprises mapping model parameters, said mapping model being configured to map spectral features to filter coefficients which represent the human vocal tract. Preferably the relationship between the spectral features and filter coefficients is modelled as a Gaussian process.
Embodiment of the present invention can be implemented either in hardware or on software in a general purpose computer. Further the present invention can be implemented in a combination of hardware and software. The present invention can also be implemented by a single processing apparatus or a distributed network of processing apparatuses.
Since the present invention can be implemented by software, the present invention encompasses computer code provided to a general purpose computer on any suitable carrier medium. The carrier medium can comprise any storage medium such as a floppy disk, a CD ROM, a magnetic device or a programmable memory device, or any transient medium such as any signal e.g. an electrical, optical or microwave signal.
The text signal is then directed into a speech processor 3 which will be described in more detail with reference to
The speech processor 3 takes the text signal and turns it into speech corresponding to the text signal. Many different forms of output are available. For example, the output may be in the form of a direct audio output 5 which outputs to a speaker. This could be implemented on a mobile telephone, satellite navigation system etc. Alternatively, the output could be saved as an audio file and directed to a memory. Also, the output could be in the form of an electronic audio signal which is provided to a further system 9.
Connected to the output module 63 is output for audio 67. The audio output 67 is used for outputting a speech signal converted from text input into text input 63. The audio output 67 may be for example a direct audio output e.g. a speaker or an output for an audio data file which may be sent to a storage medium, networked etc.
In use, the text to speech system 51 receives text through text input 63. The program 55 executed on processor 53 coverts the text into speech data using data stored in the storage 57. The speech is output via the output module 65 to audio output 67.
Acoustic models where a word or part thereof are converted to features or feature vectors are well known in the art of speech synthesis. In this embodiment, an acoustic model is used which is based on a Hidden Markov Model (HMM). However, other models could also be used.
The actual model used in this embodiment is a standard model, the details of which are outside the scope of this patent application. However, the model will require the provision of probability density functions (pdfs) which relate to the probability of an observation represented by a feature vector being related to a word or part thereof. Generally, this probability distribution will be a Gaussian distribution in n-dimensional space.
A schematic example of a generic Gaussian distribution is shown in
The text which is to be output into speech is first converted into phone labels. A phone label comprises a phoneme with contextual information about that phoneme. Examples of contextual information are the preceding and succeeding phonemes, the position within a word of the phoneme, the position of the word in a sentence etc. The phoneme labels are then input into the acoustic model.
The output of acoustic model HMM, once the model parameters have been determined, the model can be used to determine the likelihood of a sequence of observations corresponding to a sequence of words or parts of words.
In this particular embodiment, the features which are the output of acoustic model 101 are F0 features and spectral features. In this embodiment, the spectral features are cepstral coefficients. However, in other embodiments other spectral features could be used such as linear prediction coefficients (LPC), line spectral pairs (LSPs) and their frequency warped versions.
The spectral features are converted to form vocal tract filter coefficients expressed as hc(n).
The generated F0 features are converted into a pulse train sequence t(n) and according to the F0 values, periods between pulse trains are determined.
The pulse train is a sequence of signals in the time domain, for example:
0100010000100
where 1 is pulse. The human vocal cord vibrates to generate periodic signals for voiced speech. The pulse train sequence is used to approximate these periodic signals.
A white noise excitation sequence w(n) is generated from white noise generator (not shown).
A pulse train t(n) and white noise sequences w(n) are filtered by excitation model parameters Hv(z) and Hu(z) respectively. The excitation model parameters are produced from excitation model 105. Hv(z) represents the voiced impulse response filter coefficients and is sometimes referred to as the “glottis filter” since it represents the action of the glottis. Hu(z) represents the unvoiced filter response coefficients. Hv(z) and Hu(z) together are excitation parameters which model the lungs and vocal chords.
Voiced excitation signal v(n) which is a time domain signal is produced from the filtered pulse train and unvoiced excitation signal u(n) which is also a time domain signal is produced from the white noise w(n). These signal v(n) and u(n) are mixed (added) to compose the mixed excitation signals in time domain, e(n).
Finally, excitation signals e(n) are filtered by impulse response Hc(z) derived from the spectral features derived as explained above to obtain speech waveform s(n).
In a speech synthesis software product, the product comprises a memory which contains coefficients of Hv(z) and Hu(z) along with the acoustic model parameters such as means and variances. The product will also contain data which allows spectral features outputted from the acoustic model to be converted to Hc(z). When the spectral features are cepstral coefficients, the conversion of the spectral features to Hc(z) is deterministic and not dependent on the nature of the data used to train the stochastic model. However, if the spectral features comprise other features such as linear prediction coefficients (LPC), line spectral pairs (LSPs) and their frequency warped versions, then the mapping between the spectral features and Hc(z) is not deterministic and needs to be estimated when the acoustic and excitation parameters are estimated. However, regardless of whether the mapping between the spectral features and Hc(z) is deterministic or estimated using a mapping model, in a preferred embodiment, a software synthesis product will just comprise the information needed to convert spectral features to Hc(z).
Training of a speech synthesis system involves estimating the parameters of the models. In the above system, the acoustic, excitation and mapping model parameters are to be estimated. However, it should be noted that the mapping model parameters can be removed and this will be described later.
In a training method in accordance with an embodiment of the present invention, the acoustic model parameters and the excitation model parameters are estimated at the same time in the same process.
To understand the differences, first a conventional framework for estimating these parameters will be described.
In known statistical parametric speech synthesis, first a “super-vector” of speech features c=[c0T . . . cT−1T]T is extracted from the speech waveform, where ct=[ct(0) . . . ct(C)]T is a C-th order speech parameter vector at frame t, and T is the total number of frames. Estimation of acoustic model parameters is usually done through the ML criterion:
where l is a transcription of the speech waveform and λc denotes a set of acoustic model parameters.
During the synthesis, a speech feature vector c′ is generated for a given text to be synthesized l′ so as to maximize its output probability
These features together with F0 and possibly duration, are utilized to generate speech waveform by using the source-filter production approach as described with reference to
A training method in accordance with an embodiment of the present invention uses a different approach. Since the intention of any speech synthesizer is to mimic the speech waveform as well as possible, in an embodiment of the present invention a statistical model defined at the waveform level is proposed The parameters of the proposed model are estimated so as to maximize the likelihood of the waveform itself, i.e.,
where s=[s(0) . . . s(N−1)]T is a vector containing the entire speech waveform, s(n) is a waveform value at sample n, N is the number of samples, and λ denotes the set of parameters of the joint acoustic-excitation models.
By introducing two hidden variables: the state sequence q={q0, . . . , qT−1} (discrete) spectral parameter c=[c0T . . . CT−1T]T (continuous), Eq. (3) can be rewritten as:
where qt is the state at frame t.
Terms p(s|c,q,λ), and p(c|q,λ) and p(q|l,λ) of Eq. (5) can be analysed separately as follows:
It is possible to model p(c|q,λ) and p(q|l,λ) using existing acoustic models, such as HMM, HSMM or trajectory HMMs, the problem is how to model p(s|c,q,λ).
It is assumed that the speech signal is generated according to the diagram of
s(n)=hc(n)*[hv(n)*t(n)+hu(n)*w(n)], (6)
where * denotes linear convolution and
Here the vocal tract, voiced and unvoiced filters are assumed to have respectively the following shapes in the z-transform domain:
where P, M and L are respectively the orders of Hc(z), Hv(z) and Hu(z). Filter Hc(z) is considered to have minimum-phase response because it represents the impulse response of the vocal tract filter. In addition, if the coefficients of Hu(z) to be calculated according to the approach described in R. Maia, T. Toda, H. Zen, Y. Nakaku, and K. Tokuda, “An excitation model for HMM-based speech synthesis based on residual modelling,” in Proc. of the 6th ISCA Workshop on Speech Synthesis, 2007 then Hc(z) also has minimum-phase response. Parameters of the generative model above comprise the vocal tract, voiced and unvoiced filters, Hc(z), Hv(z) and Hu(z), and the positions and amplitudes of t(n), {p0 . . . pZ-1}, and {a0 . . . aZ-1} with Z being the number of pulses. Although there are several ways to estimate Hv(z) and Hu(z), this report will be based on the method described in R. Maia, T. Toda, H. Zen, Y. Nakaku, and K. Tokuda, “An excitation model for HMM-based speech synthesis based on residual modelling,” in Proc. of the 6th ISCA Workshop on Speech Synthesis, 2007.
Using matrix notation, with uppercase and lowercase capital letters meaning respectively matrices and vectors, Eq(6) can be written as:
s=H
c
H
v
t+s
u, (10)
where
The vector su contains samples of
s
u(n)=hc(n)*hu(n)*w(n), (17)
and can be interpreted as the error of the model for voiced regions of the speech signal, with covariance matrix
Φ=Hc(GTG)−1HcT, (19)
where
As w(n) is Gaussian white noise, u(n)=hu(n)*w(n) becomes a normally distributed stochastic process. By using vector notation, probability u is
p(u|G)=N(u;0,(GTG)−1), (22)
Where N(x;μ,Σ) is the Gaussian distribution of x with mean vector μ and covariance matrix Σ. Thus since
u(n)=Hc−1(z)[s(n)−h(n)*hv(n)*t(n)], (23)
the probability of speech vector s becomes
p(s|Hc,Hv,G,t)=N(s;HcHvt,Hc(GTG)−1HcT). (24)
If the last P rows of Hc are neglected, which means neglecting the zero-impulse response of Hc(z) which produces samples
then Hc becomes square with dimensions (N+M)×(N+M) equation (24) can be re-written as:
p(s|Hc,λe)=|Hc|−1N(Hc−1s;Hvt,(GTG)−1), (25)
where λe={Hv,G,t} are parameters of the excitation modelling part of the speech generative model. It is interesting to note that the term Hc−1s corresponds to the residual sequence, extracted from the speech signal s(n) through inverse filtering by Hc(z).
By assuming that Hv and Hu have a state-dependent parameter tying structure as that proposed in R. Maia, T. Toda, H. Zen, Y. Nakaku, and K. Tokuda, “An excitation model for HMM-based speech synthesis based on residual modelling,” in Proc. of the 6th ISCA Workshop on Speech Synthesis, 2007 Eq. (25) can be re-written as
p(s|Hc,q,λe)=|Hc|−1N(Hc−1s;Hv,qt,(GqTGq)−1), (26)
where Hv,q and Gq are respectively the voiced filter and inverse unvoiced filter impulse response matrices for state sequence q.
There is usually a one-to-one relationship between the vocal tract impulse response Hc (or coefficients of Hc(z)) and spectral features c. However, it is difficult to compute Hc, from c in a closed form for some spectral feature representations. To address this problem, a stochastic approximation is introduced to model the relationship between c and H.
If the mapping between c and Hc is considered to be represented by a Gaussian process with probability p(Hc|c,q,λh) where λh is the parameter set of the model that maps spectral features onto vocal tract filter impulse response, p(s|c,q,λe) becomes:
Where fq(c) is an approximated function to convert c to Hc and Ωq is the covariance matrix of the Gaussian distribution in question. This representation includes the case that Hc can be computed from c in a closed form as its special case, i.e. fq(c) becomes the mapping function in the closed form and Ωq becomes a zero matrix. It is interesting to note that the resultant model becomes very similar to that of a shared factor analysis model if a linear function for fq(c) is utilized and it has a parameter sharing structure dependent on q.
If a trajectory HMM is used as an acoustic model p(c|l,λc) then p(c|q,λc) and p(q|l,λc) can be defined as:
where πi is the initial state probability of state i, αij is the state transition probability from state i to state j, and
R
q
q=τq, (31)
R
q
=W
TΣq−1W=Pq−1, (32)
r
q
=W
TΣq−1μq, (33)
where W is typically a 3T(C+1)×T(C+1) window matrix that appends dynamic features(velocity and acceleration features) to c. For example, if the static, velocity, and acceleration features of ct, Δ(0)ct, Δ(1)ct and Δ(2)ct are calculated as:
Δ(0)zt=zt, (34)
Δ(1)zt=(zt+1−zt−1)/2, (35)
Δ(2)zt=zt−1−2zt+zt+1, (36)
then W is as follows
where I and 0 correspond to the (C+1)×(C+1) identity and zero matrices. λq and Σq−1 in Eqs. (32) and (33) corresponds to the 3T(C+1)×1 mean parameter vector and the 3T(C+1)×3 T(C+1) precision parameter matrix for the state sequence q, given as
μq=[μq
Σq−1=diag{Σq
where μi and Σi correspond to the 3(C+1) mean-parameter vector and the 3(C+1)×3(C+1) precision-parameter matrix associated with state i, and Y=diag {X1, . . . , XD} means that matrices {X1, . . . , XD} are diagonal sub-matrices of Y. Mean parameter vectors and precision parameter matrices are defined as
μi=[Δ(0)μiTΔ(1)μiTΔ(2)μiT]T, (40)
Σi−1=diag{Δ(0)Σi−1,Δ(1)Σi−1,Δ(2)ΣiT}, (41)
Where Δ(j)μi and Δ(j)Σi−1 correspond to the (C+1)×1 mean parameter vector and (C+1)×(C+1) precision parameter matrix associated with state i.
The final parameter model is obtained by combing the acoustic and excitation models via the mapping model as:
where
Where λ={λe,λh,λc}
There are various possible spectral features, such as cepstral coefficients, linear prediction coefficients (LPC), line spectral pairs (LSPs) and their frequency warped versions. In this embodiment cepstral coefficients are considered as a special case. The mapping from a cepstral coefficient vector, ct=[ct(0) . . . ct(C)]T, to its corresponding vocal tract filter impulse response vector hc,t=[hc,t(0) . . . hc,t(P)]T can be written in a closed form as
h
c,t
=D
s*·EXP[Dsct], (47)
Where EXP [.] means a matrix which is derived by taking the exponential of the elements of [.] and D is a (P+1)×(C+1) DFT (Discrete Fourier Transform) matrix,
W
P+1
=e
−2π/P+1j, (49)
and D* is a (P+1)×(P+1) IDFT (Inverse DFT) matrix with the following form
As the mapping between cepstral coefficients and vocal tract filter response can be computer in a closed form. There is no need to use a stochastic approximation between c and Hc.
The vocal tract filter impulse response-related term that appears in the generative model of Eq. (10) is HC not hc. Relationship between HC given as Eqs. (12) and (13), and hc is given by
h
c
=[h
c,0
T
. . . h
c,T−1
T]T (51)
h
c,t
[h
c,t(0) . . . hc,t(P)]T (52)
With hc,t being the synthesis filter impulse response of the t-th frame and T the total of frames, can be written as
In Eq. (53), N is the number of samples (of the database), and
Where B is an N(P+1)×T(P+1) matrix to map a frame-basis hc vector into sample-basis. It should be noted that the square version of Hc is considered by neglecting the last P rows. The N×N(P+1) matrices Jn are constructed as
where 0X,Y means a matrix of zeros elements with X rows and Y columns, and IX is an X-size identity matrix.
The training of the model will now be described with reference to
The training allows the parameters of the joint model X to be estimated such that:
where λ={λe,λh,λc} with λe={Hv,G,t} corresponding to parameters of the excitation model, and λ={m,σ} consisting of parameters of the acoustic model
m=[μ
0
T . . . μS−1T]′, (60)
σ=vdiag{diag{Σ0−1, . . . , ΣS−1−1}}, (61)
where S is the number of states. m and σ are respectively vectors formed by concatenating all the means and diagonals of the inverse covariance matrices of all states, with vdiag {[.]} meaning a vector formed by the diagonal elements of [.].
The likelihood function p(s|l,λ) assuming cepstral coefficients as spectral features, is
Unfortunately, estimation of this model through the expectation-maximization (EM) is intractable. Therefore, an approximate recursive approach is adopted.
If the summation over all possible g in Eq. (62) is approximated by a fixed state sequence the likelihood function above becomes
p(s|l,λ)≈∫∫p(s|Hc,{circumflex over (q)},λe)p(Hc|c,{circumflex over (q)},λh)p(c|{circumflex over (q)},λc)p({circumflex over (q)}|l,λc)dc, (63)
where {circumflex over (q)}={{circumflex over (q)}0, . . . , {circumflex over (q)}T−1} is the state sequence. Further, if the integration over all possible c is approximated by a spectral vector and an impulse response vector, then Eq. (64) becomes
p(s|l,λ)≈p(s|Ĥc,{circumflex over (q)},λe)p(Ĥc|ĉ,{circumflex over (q)},λh)p(ĉ|{circumflex over (q)},λc)p({circumflex over (q)}|l,λc), (64)
where ĉ=[ĉ1 . . . ĉT−1]T is the fixed spectral response vector.
By taking the logarithm of Eq. (64) or cost function to be maximized is obtained through update of acoustic, excitation and mapping model parameters
L=log p(s|Ĥc,{circumflex over (q)},λe)+log p(Ĥc|ĉ,{circumflex over (q)},λh)+log p(ĉ|{circumflex over (q)},λc)+log p({circumflex over (q)}|l,λc). (65)
The optimization problem can be split into two parts: initialization and recursion. The following explains the calculations performed in each part. Initialisation will be described with reference to
The model is trained using training data which is speech data with corresponding text data and which is input in step S210
c=[c
0
T
. . . c
T−1
T], (66)
c
t
=[c
c(0) . . . cc(C)]T. (67)
The recursive steps may be repeated several times. In the following each one of them is explained with details
The recursion terminates until convergence. Convergence may be determined in many different ways, in one embodiment, convergence will be deemed to have occurred when the change in likelihood is less than a predefined minimum value. For example the change in likelihood L is less than 5%.
In step 1 S 213 of the recursion, if cepstral coefficients are used as the spectral features then the likelihood function of Eq. (65) can be written as
Where the terms that depend on c can be selected to compose the cost function hc given by:
The best cepstral coefficient vector ĉ can be defined as the one which maximizes the cost function hc. By utilizing the steepest gradient ascent algorithm (see for example J. Nocedal and S. J. Wright, Numerical Optimization. Springer, 1999) or another optimization method such as the Broyden Fletcher Goldfarb Shanno (BFGS) algorithm, each update for ĉ can be calculated by
Where is the convergence factor (constant), t is the iteration index, and
with Diag ([.]) meaning a diagonal matrix formed with the elements of vector [.], and
In the above, the iterative process will continue until convergence. In a preferred embodiment, convergence will have occurred when the difference between successive iterations is less than 5%.
In Step 3 S217 of the recursive procedure, excitation parameters λe={Hv,G,G} are calculated by using one iteration of the algorithm describe in R. Maia, T. Toda, H. Zen, Y. Nakaku, and K. Tokuda, “An excitation model for HMM-based speech synthesis based on residual modelling,” in Proc. Of the 6th ISCA Workshop on Speech Synthesis, 2007. In this case the estimated cepstral vector ĉ is used to extract the residual vector e=Hc−1s through inverse filtering.
In step 4 S219 estimation of acoustic model parameters λ={m,σ} is done as described in H. Zen, K. Tokuda, and T. Kitamura, “Reformulating the HMM as a trajectory model by imposing explicit relationships between static and dynamic feature vector sequence,” Computer Speech and Language, vol. 21, pp. 153-173, January 2007, by utilizing the best estimated cepstral vector ĉ as the observation.
The above training method uses a set of model parameters λh of a mapping model to describe the uncertainty of Hc predicted by fq(c).
However, in an alternative embodiment, a deterministic case is assumed where fq(c) perfectly predicts Hc. In this embodiment, there is no uncertainty between Hc and fq(c) and thus λh is no longer required.
In such a scenario, the mapping model parameters are set to zero in step S209 of
Text is input at step S251. An acoustic model is run on this text and features including spectral features and F0 features are extracted in step S253.
An impulse response filter function is generated in step S255 from the spectral features extracted in step S253.
The input text is also inputted into excitation model and excitation model parameters are generated from the input text in step S257.
Returning to the features extracted in step S253, the F0 features extracted at this stage are converted into a pulse train in step S259. The pulse train is filtered using voiced filter function which has been generated in step S257.
White noise is generated by a white noise generator. The white noise is then filtered in step S263 using unvoiced filter function which was generated in step S257. The voiced excitation signal which has been produced in step S261 and the unvoiced excitation signal which has been produced in step S263 are then mixed to produce mixed excitation signal in step S265.
The mixed excitation signal is then filtered in step S267 using impulse response which was generated in step S255 and the speech signal is outputted.
By training acoustic and excitation models through joint optimization, the information which is lost during speech parameter extraction, such as phase information, may be recovered at run-time, resulting in synthesized speech which sounds closer to natural speech. Thus statistical parametric text-to-speech systems can be produced with the capability of producing synthesized speech which may sound very similar to natural speech.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms of modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
1007705.5 | May 2010 | GB | national |