text:
Registration deadline expires for District Council electors
People eligible to vote but who have yet to submit an application to have their names added to the electoral register have missed out on their chance to vote in November's District Council elections.
The deadline for registration passed at midnight.
However, eligible electors can still register to vote in future elections.
A spokeswoman for the Registration and Electoral Office said the final registers of electors would not be released until the verifying procedure had been completed.
Apart from the government, political groups such as the Democratic Party and think-tanks such as the Savantas Policy Institute have run registration drives in the past few months to round up potential voters.
Democratic lawmaker Yeung Sum said his party had received lukewarm responses, and believed the government had completed the job for the most part. 'Those registration workers get into each block and building in the city and have reached most people who haven't registered,' he said.
'We are just picking up those who have been left out.'
Ronald Chan Ngok-pang of Savantas said the public's responses were generally positive but agreed most were already on the voters' roll.
Dr Yeung said he expected a lower turnout in the forthcoming district council elections than in the one in late 2003.
'That election took place after the July 1 rally, in 2003, when the atmosphere in the community was completely different,' he said.
'The voters were using their votes to express their anger at that time, and it is unlikely to happen this time.'
He expects the pan-democratic camp to receive fewer votes than in the last district elections. 'When the turnout goes down, we are usually the one to suffer,' he said.
The final register last year had 3,185,927 electors. That was a decrease of 0.92 per cent from 2005, since some electors had died and others had failed to report new home addresses to the election offices.
There are 18 districts in the city. Most of the 529 councillors are directly elected - 400 in total. The chief executive appoints 102 members, and another 27 New Territories rural committee chairman are ex officio members.
Direct vote
Councillors are elected by simple plurality
Average number of people each councillor represents: 17,000
Most Popular
- 1
- 2
- 3
- 4
- 5


text:
Fancy pink devices? If so, TELUS has just released the BlackBerry Curve 8530 in a lovely shade of pink. Arriving just in time for Mothers day, it may be something you'll want to check out if Mom is need of some BlackBerry love. The price remains the same as any other version of the BlackBerry Curve 8530 meaning it will set you back $49.99 on a 3-year; 2-year contract for $249.99; 1-year contract for $299.99 and no contract for $349.99. If you're interested in picking up a BlackBerry Curve 8530 be sure to check out our reviews to get a better look at the device.
Pink BlackBerry Curve 8530 Released For TELUS Customers
Reader comments
Pink BlackBerry Curve 8530 Released For TELUS Customers
This shade of pink is really pretty.
this looks pretty ugly O_o
Pink is just so...pink. Really, I love the Smoky Violet. It's my wife's phone number, only, I'm going to claim it as my own until my 2-yr. Verizon plan is up. Then she'll get her pink Blackberry 8530 Curve in this shade of Pink. But the Smoky Violet just flat out rocks like Foghat in 1977.
Wow-haven't been this stoked waiting for my cell phone to arrive since my wife and I got our Blackberry Pearl 8130's a couple of years ago. Seems so long ago but it wasn't. The Blackberry Curve 8530 in Smokey Violet is going to provide me with some faster web surfing and access to my MSN Hotmail account and comes with a camera that should suit me fine.
I have a digital camera that I am more serious about as far as taking pictures goes. I'll post back in here when the phone arrives. It will get here to the house in a couple a days! Whoo-hoo!

subset: commoncrawl


text:
|Publication number
|Publication type
|Application number
|Publication date
|Jan 12, 1993
|Filing date
|Jun 12, 1991
|Priority date
|Jun 12, 1991
|Fee status
|Publication number
|William C. Yip, David L. Barron
|Original Assignee
|Motorola, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (1), Referenced by (23), Classifications (8), Legal Events (6)
|External Links: USPTO, USPTO Assignment, Espacenet
U'.sub.k (m)=[U'.sub.k-1 (m)+C.sub.k (M+k-1)C.sub.k (M+k-1+m)](3) ##EQU19## for m=0 to T<M; repeating the second calculating step until (M+k-1)=L; and
U'.sub.k (m)=[U'.sub.k-1 (m)+C.sub.k (M+k-1)C.sub.k (M+k-1+m)](2)
U.S. patent applications entitled "CELP Vocoder with Efficient Adaptive Codebook Search", Ser. No. 07/708947, filed May 31, 1991, and "Reduced Codebook Search Arrangement for CELP Vocoders", Ser. No. 07/708609, filed May 31, 1991, by the same inventors and commonly assigned are related.
The present invention concerns an improved means and method for digital coding of speech or other analog signals and, more particularly, code excited linear predictive coding.
Code Excited Linear Predictive (CELP) coding is a well-known stochastic coding technique for speech communication. In CELP coding, the short-time spectral and long-time pitch are modeled by a set of time-varying linear filters. In a typical speech coder based communication system, speech is sampled by an A/D converter at approximately twice the highest frequency desired to be transmitted, e.g., an 8 KHz sampling frequency is typically used for a 4 KHz voice bandwidth. CELP coding synthesizes speech by utilizing encoded excitation information to excite a linear predictive (LPC) filter. The excitation, which is used as inputs to the filters, is modeled by a codebook of white Gaussian signals. The optimum excitation is found by searching through a codebook of candidate excitation vectors on a frame-by-frame basis.
LPC analysis is performed on the input speech frame to determine the LPC parameters. Then the analysis proceeds by comparing the output of the LPC filter with the digitized input speech, when the LPC filter is excited by various candidate vectors from the table, i.e., the code book. The best candidate vector is chosen based on how well speech synthesized using the candidate excitation vector matches the input speech. This is usually performed on several subframes of speech.
After the best match has been found, information specifying the best codebook entry, the LPC filter coefficients and the gain coefficients are transmitted to the synthesizer. The synthesizer has the same copy of the codebook and accesses the appropriate entry in that codebook, using it to excite the same LPC filter.
The codebook is made up of vectors whose components are consecutive excitation samples. Each vector contains the same number of excitation samples as there are speech samples in the subframe or frame. The excitation samples can come from a number of different sources. Long term pitch coding is determined by the proper selection of a code vector from an adaptive codebook. The adaptive codebook is a set of different pitch periods of the previously synthesized speech excitation waveform.
The optimum selection of a code vector, either from the stochastic or the adaptive codebooks, depends on minimizing the perceptually weighted error function. This error function is typically derived from a comparison between the synthesized speech and the target speech for each vector in the codebook. These exhaustive comparison procedures require a large amount of computation and are usually not practical for a single Digital Signal Processor (DSP) to implement in real time. The ability to reduce the computation complexity without sacrificing voice quality is important in the digital communications environment.
The error function, codebook vector search, calculations are performed using vector and matrix operations of the excitation information and the LPC filter. The problem is that a large number of calculations, for example, approximately 5�108 multiply-add operations per second for a 4.8 Kbps vocoder, must be performed. Prior art arrangements have not been entirely successful in reducing the number of calculations that must be performed. Thus, a need continues to exist for improved CELP coding means and methods that reduce the computational burden without sacrificing voice quality.
A prior art 4.8k bit/second CELP coding system is described in Federal Standard FED-STD-1016 issued by the General Services Administration of the United States Government. Prior art CELP vocoder systems are described for example in U.S. Pat. Nos. 4,899,385 and 4,910,781 to Ketchum et al., U.S. Pat. No. 4,220,819 to Atal, U.S. Pat. No. 4,797,925 to Lin, and U.S. Pat. No. 4,817,157 to Gerson, which are incorporated herein by reference.
Typical prior art CELP vocoder systems use an 8 kHz sampling rate and a 30 millisecond frame duration divided into four 7.5 millisecond subframes. Prior art CELP coding consists of three basic functions: (1) short delay "spectrum" prediction, (2) long delay "pitch" search, and (3) residual "code book" search.
While the present invention is described for the case of analog signals representing human speech, this is merely for convenience of explanation and, as used herein, the word "speech" is intended to include any form of analog signal of bandwidth within the sampling capability of the system.
A new way of CELP coding speech simplifies the recursive loop used to poll adaptive code book vectors by reducing the number of calculations that must be carried out to determine autocorrelation coefficients when vectors of length M less than the frame length L are being evaluated and the copy-up procedure commonly used in the prior art for vectors of length M<L produces undesirable errors. The prior art copy-up procedure is avoided.
Autocorrelation coefficients Uk (m) of a first vector Ck (n) of length M<L are calculated, where k=1 and m is an autocorrelation lag index and n is an index of the successive samples in the codebook vector and L is the analysis frame length, according to, ##EQU1## for m=0 to T<M. Autocorrelation coefficients Uk (m) of the remaining codebook vectors are calculated incrementally where k≧2 according to,
U'.sub.k (m)=[U'.sub.k-1 (m)+C.sub.k (M+k-1)C.sub.k (M+k-1+m)](3) ##EQU2## for m=0 to T<M and the process repeated until (M+k-1)=L. The values of U.sub.1' (m) and U.sub.k' (m) obtained are scaled by the indicated scaling factors, e.g., (L/M) for k=1, L/(M+1) for k=2, and so forth until (M+k-1)=L. The autocorrelation coefficients obtained are used in determining which of the codebook vectors C.sub.k (n) produces the least error when compared to input speech.
An apparatus for CELP coding of speech employing autocorrelation coefficients of vectors of an adaptive codebook wherein analysis initially utilizes a subset of samples M in connection with a speech analysis frame of length L>M, comprises, a means for determining autocorrelation coefficients Uk' (m) of a first vector Ck (n) of length M, where k=1 and m is an autocorrelation lag index and n is an index of successive samples in the codebook vector, according to, ##EQU3## for m=0 to T<M, a means for determining autocorrelation coefficients Uk (m) of remaining codebook vectors incrementally where k≧2 according to,
U'.sub.k (m)=[U'.sub.k-1 (m)+C.sub.k (M+k-1)C.sub.k (M+k-1+m)](2)
for m=0 to T<M until (M+k-1)=L, a means for scaling the result of Eq. (1) according to ##EQU4## and scaling the result for Eq. (2) according to ##EQU5## for m=0 to T<M to produce a result for each m and each k, and a means for using the result to evaluate which codebook vector provides a least error compared to input speech.
The present invention will be more fully appreciated in terms of the accompanying figures and description that follows.
FIG. 1 illustrates in simple block diagram and generalized form a CELP vocoder system;
FIGS. 2A-B illustrates, in simplified block diagram form, a CELP coder according a preferred embodiment of the present invention;
FIG. 3 illustrates, in greater detail, a portion of the coder of FIG. 2B, according to a first embodiment;
FIG. 4 illustrates, in greater detail, a portion of the coder of FIG. 2B, according to a preferred embodiment of the present invention; and
FIG. 5 illustrates an apparatus for providing autocorrelation coefficients of the adaptive codebook vectors according to a preferred embodiment of the present invention.
FIG. 1 illustrates, in simplified block diagram form, a vocoder transmission system utilizing CELP coding. CELP coder 100 receives incoming speech 102 and produces CELP coded output signal 104. CELP coded signal 104 is sent via transmission path or channel 106 to CELP decoder 300 where facsimile 302 of original speech signal 102 is reconstructed by synthesis. Transmission channel 106 may have any form, but typically is a wired or radio communication link of limited bandwidth. CELP coder 100 is frequently referred to as an "analyzer" because its function is to determine CELP code parameters 104 (e.g., code book vectors, gain information, LPC filter parameters, etc.) which best represent original speech 102. CELP decoder 300 is frequently referred to as a synthesizer because its function is to recreate output synthesized speech 302 based on incoming CELP coded signal 104. CELP decoder 300 is conventional and is not a part of the present invention and will not be discussed further.
FIGS. 2A-B show CELP coder 100 in greater detail and according to a preferred embodiment of the present invention. Incoming analog speech signal 102 is first band-passed by filter 110 to prevent aliasing. Band-passed analog speech signal 111 is then sampled by analog to digital (A/D) converter 112. Sampling is usually at the Nyquist rate, for example at 8 KHz for a 4 KHz CELP vocoder. Other sampling rates may also be used. Any suitable A/D converter may be used. Digitized signal 113 from A/D converter 112 comprises a train of samples, e.g., a train of narrow pulses whose amplitudes correspond to the envelop of the speech waveform.
Digitized speech signal 113 is then divided into frames or blocks, that is, successive time brackets containing a predetermined number of digitized speech samples, as for example, 60, 180 or 240 samples per frame. This is customarily referred to as the "frame rate" in CELP processing. Other frame rates may also be used. This is accomplished in framer 114. Means for accomplishing this are well known in the art. Successive speech frames 115 are stored in frame memory 116. Output 117 of frame memory 116 sends frames 117 of digitized speech 115 to blocks 122, 142, 162 and 235 whose function will be presently explained.
Those of skill in the art understand that frames of digitized speech may be further divided into subframes and speech analysis and synthesis performed using subframes. As used herein, the word "frame", whether singular or plural, is intended to refer to both frames and subframes of digitized speech.
CELP coder 100 uses two code books, i.e., adaptive codebook 155 and stochastic codebook 180 (see FIG. 2B). For each speech frame 115, coder 100 calculates LPC coefficients 123 representing the formant characteristics of the vocal tract. Coder 100 also searches for entries (vectors) from both stochastic codebook 180 and adaptive codebook 155 and associated scaling (gain) factors that, when used to excite a filter with LPC coefficients 123, best approximates input speech frame 117. The LPC coefficients, the codebook vectors and the scaling (gain coefficient) information are processed and sent to channel coder 210 where they are combined to form coded CELP signal 104 which is transmitted by path 106 to CELP decoder 300. The process by which this is done will now be explained in more detail.
Referring now to data path 121 containing blocks 122, 125, 130 and 135, LPC analyzer 122 is responsive to incoming speech frames 117 to determine LPC coefficients 123 using well-known techniques. LPC coefficients 123 are in the form of Line Spectral Pairs (LSPs) or Line Spectral Frequencies (LSFs), terms which are well understood in the art. LSPs 123 are quantized by coder 125 and quantized LPC output signal 126 sent to channel coder 210 where it forms a part (i.e., the LPC filter coefficients) of CELP signal 104 being sent via transmission channel 106 to decoder 300.
Quantized LPC coefficients 126 are decoded by decoder 130 and the decoded LSPs sent via output signals 131, 132 respectively, to spectrum inverse filters 145 and 170, which are described in connection with data paths 141 and 161, and via output signal 133 to bandwidth expansion weighting generator 135. Signals 131, 132 and 133 contain information on decoded quantized LPC coefficients. Means for implementing coder 125 and decoder 130 are well known in the art.
Bandwidth expansion weighting generator 135 provides a scaling factor (typically=0.8) and performs the function of bandwidth expansion of the formants, producing output signals 136, 137 containing information on bandwidth expanded LPC filter coefficients. Signals 136, 137 are sent respectively, to cascade weighting filters 150 and 175 whose function will be explained presently.
Referring now to data path 141 containing blocks 142, 145 and 150, spectral predictor memory subtracter 142 subtracts previous states 196 (i.e., left by the immediately preceding frame) in short term spectrum predictor filter 195 (see FIG. 2B) from input sampled speech 115 arriving from frame memory 116 via 117. Subtractor 142 provides speech residual signal 143 which is digitized input speech 115 minus what is referred to in the art as the filter ringing signal or the filter ringdown. The filter ringing signal arises because an impulse used to excite a filter (e.g., LPC filter 195 in FIG. 2B) in connection with a given speech frame does not completely dissipate by the end of that frame, but may cause filter excitation (i.e., "ringing") extending into a subsequent frame. This ringing signal appears as distortion in the subsequent frame, since it is unrelated to the speech content of that frame. If the ringing signal is not removed, it affects the choice of code parameters and degrades the quality of the speech synthesized by decoder 300.
Speech residual signal 143 containing information on speech 115 minus filter ringing signal 196 is fed into spectrum inverse filter 145 along with signal 131 from decoder 130. Filter 145 is typically implemented as a zero filter (i.e. A(z)=Ao +A1 z-1 +. . . +An z-n where the A's are LPC filter coefficients and z is "Z transform" of the filter), but other means well known in the art may also be used. Signals 131 and 143 are combined in filter 145 by convolution to create LPC inverse-filtered speech. Output signal 146 of filter 145 is sent to cascade weighting filter 150. Filter 150 is typically implemented as a pole filter (i.e., 1/A(z/r), where A(z/r)=Ao +A1 rz-1 +. . . +An rn z-n, and the A's are LPC filter coefficients and r is an expansion factor and z is "Z transform" of the filter), but other means well known in the art may also be used.
Output signal 152 from block 150 is perceptually weighted LPC impulse function H(n) derived from the convolution of an impulse function (e.g., 1, 0, 0, . . . , 0) with bandwidth expanded LPC coefficient signal 136 arriving from block 135. Signal 136 is also combined with signal 146 in block 150 by convolution to create at output 151, perceptually weighted short delay target speech signal X(n) derived from path 141.
Outputs 151 and 152 of weighting filter 150 are fed to adaptive codebook searcher 220. Target speech signal 151 (i.e , X(n)) and perceptually weighted impulse function signal 152 (i.e., H(n)) are used by the searcher 220 and adaptive codebook 155 to determine the pitch period (i.e., the excitation vector for filter 195) and the gain therefore which most closely corresponding to digitized input speech frame 117. The manner in which this is accomplished is explained in more detail in connection with FIGS. 3-4.
Referring now to data path 161 which contains blocks 162, 165, 170 and 175, pitch predictor memory subtractor 162 subtracts previous filter states 192 in long delay pitch predictor filter 190 from digitized input sampled speech 115 received from memory 116 via 117 to give output signal 163 consisting of sampled speech minus the ringing of long delay pitch predictor filter 190. Output signal 163 is fed to spectrum predictor memory subtractor 165.
Spectral memory subtractor 165 performs the same function as described in connection with block 142 and subtracts out short delay spectrum predictor ("spectral") filter ringing or ringdown signal 196 from digitized input speech frame 117 transmitted va pitch subtracter 162. This produces remainder output signal 166 consisting of current frame sampled speech 117 minus the ringing of long delay ("pitch") filter 190 and short delay ("spectral") filter 195 left over from the previous frame. Remainder signal 166 is fed to spectrum inverse filter 170 which is analogous to block 145.
Inverse filter 170 receives remainder signal 166 and output 132 of decoder 130. Signal 132 contains information on decoded quantized LPC coefficients. Filter 170 combines signals 166 and 132 by convolution to create output signal 171 comprising LPC inverse-filtered speech. Output signal 171 is sent to cascade weighting filter 175 analogous to block 150.
Weighting filter 175 receives signal 171 from filter 170 and signal 137 from bandwidth expansion weighting generator 135. Signal 137 contains information on bandwidth expanded LPC coefficients. Cascade weighting filter 175 produces output signals 176, 177. Filter 175 is typically implemented as a pole filter (i.e. only poles in the complex plane), but other means well known in the art may also be used.
Signals 137, 171 are combined in filter 175 by convolution to create at output 177, perceptually weighted LPC impulse function H(n) derived from path 121, and create at output 176, perceptually weighted long delay and short delay target speech signal Y(n) derived from path 161. Output signals 176, 177 are sent to stochastic searcher 225.
Stochastic searcher 225 uses stochastic codebook 180 to select an optimum white noise vector and a optimum scaling (gain) factor which, when applied to pitch and LPC filters 190, 195 of predetermined coefficients, provide the best match to input digitized speech frame 117. Stochastic searcher 225 performs operations well known in the art and generally analogous to those performed by adaptive searcher 220 described more fully in connection with FIGS. 3-4.
In summary, in chain 141, spectrum inverse filter 145 receives LSPs 131 and residual 143 and sends its output 146 to cascade weighting filter 150 to generate perceptually weighted LPC impulse function response H(n) at output 152 and perceptually weighted short delay target speech signal X(n) at output 151. In chain 161, spectrum inverse filter 170 receives LSPs 132 and short delay and long delay speech residual 166, and sends its output 171 to weighting filter 175 to generate perceptually weighted LPC impulse function H(n) at output 177 and perceptually weighted short and long term delay target speech signal Y(n) at output 176.
Blocks 135, 150, 175 collectively labelled 230 provide the perceptual weighting function. The decoded LSPs from chain 121 are used to generate the bandwidth expand weighting factor at outputs 136, 137 in block 135. Weighting factors 136, 137 are used in cascade weighting filters 150 and 175 to generate perceptually weighted LPC impulse function H(n). The elements of perceptual weighting block 230 are responsive to the LPC coefficients to calculate spectral weighting information in the form of a matrix that emphasizes those portions of speech that are known to have important speech content. This spectral weighting information 1/A(z/r) is based on finite impulse response H(n) of cascade weighting filters 150, and 175. The utilization of finite impulse response function H(n) greatly reduces the number of calculations which codebook searchers 220 and 225 must perform. The spectral weighting information is utilized by the searchers in order to determine the best candidate for the excitation information from the codebooks 155 and 180.
Continuing to refer to FIGS. 2A-B, adaptive codebook searcher 220 generates optimum adaptive codebook vector index 221 and associated gain 222 to be sent to channel coder 210. Stochastic codebook searcher 225 generates optimum stochastic codebook vector index 226, and associated gain 227 to be sent to channel coder 210. These signals are encoded by channel coder 210.
Channel coder 210 receives five signals: quantized LSPs 126 from coder 125, optimum stochastic codebook vector index 226 and gain setting 227 therefore, and optimum adaptive codebook vector index 221 and gain setting 222 therefore. The output of channel coder 210 is serial bit stream 104 of the encoded parameters. Bit stream 104 is sent via channel 106 to CELP decoder 300 (see FIG. 1) where, after decoding, the recovered LSPs, codebook vectors and gain settings are applied to identical filters and codebooks to produce synthesized speech 302.
As has already been explained, CELP coder 100 determines the optimum CELP parameters to be transmitted to decoder 300 by a process of analysis, synthesis and comparison. The results of using trial CELP parameters must be compared to the input speech frame by frame so that the optimum CELP parameters can be selected. Blocks 190, 195, 197, 200, 205, and 235 are used in conjunction with the blocks already described in FIGS. 2A-B to accomplish this. The selected CELP parameters (LSP coefficients, codebooks vectors and gain, etc.) are passed via output 211 to decoder 182 from whence they are distributed to blocks 190, 195, 197, 200, 205, and 235 and thence back to blocks 142, 145, 150, 162, 165, 170 and 175 already discussed.
Block 182 is identified as a "channel decoder" having the function of decoding signal 211 from coder 210 to recover signals 126, 221, 222, 226, 227. However, those of skill in the art will understand that the code-decode operation indicated by blocks 210-182 may be omitted and signals 126, 221, 222, 226, 227 fed in uncoded form to block 182 with block 182 merely acting as a buffer for distributing the signals to blocks 190, 195, 197, 200, 205, and 235. Either arrangement is satisfactory, and the words "channel coder 182", "coder 182" or "block 182" are intended to indicate either arrangement or any other means for passing such information.
The output signals of decoder 182 are quantized LSP signal 126 which is sent to block 195, adaptive codebook index signal 221 which is sent to block 190, adaptive codebook vector gain index signal 222 which is sent to block 190, stochastic codebook index signal 226 which is sent to block 180, and stochastic codebook vector gain index signal 227 which is sent to block 197. These signals excite filter 190 thereby producing output 191 which is fed to to adaptive codebook 155 and to filter 195. Output 191 in combination with output 126 of coder 182, further excites filter 195 to produce synthesized speech 196.
Synthesizer 228 comprises gain multiplier 197, long delay pitch predictor 190, and short delay spectrum predictor 195, subtractor 235, spectrum inverse filter 200 and cascade weighting filter 205. Using the decoded parameters 126, 221, 222, 226 and 227, stochastic code vector 179 is selected and sent to gain multiplier 197 to be scaled by gain parameter 226. Output 198 of gain multiplier 197 is used by long delay pitch predictor 190 to generate speech residual 191. Filter state output information 192, also referred to in the art as the speech residual of predictor filter 190, is sent to pitch memory subtracter 162 for filter memory update. Short delay spectrum predictor 195, which is an LPC filter whose parameters are set by incoming LPC parameter signal 126, is excited by speech residual 191 to produce synthesized digital speech output 196. The same speech residual signal 191 is used to update adaptive codebook 155.
Synthesized speech 196 is subtracted from digitized input speech 117 by subtracter 235 to produce digital speech remainder output signal 236. Speech remainder 236 is fed to the spectrum inverse filter 200 to generate residual error signal 202. Output signal 202 is fed to the cascade weighting filter 205, and output filter state information 206, 207 is used to update cascade weighting filters 150 and 175 as previously described in connection with signal paths 141 and 161. Output signal 201, 203, which is the filter state information of spectrum inverse filter 200, is used to update the spectrum inverse filters 145 and 170 as previously described in connection with blocks 145, 170.
FIGS. 3-4 are simplified block diagrams of adaptive codebook searcher 220. FIG. 3 shows a suitable arrangement for adaptive codebook searcher 220 and FIG. 4 shows a further improved arrangement. The arrangement of FIG. 4 is preferred.
Referring now to FIGS. 3-4 generally, the information in adaptive codebook 155 is excitation information from previous frames. For each frame, the excitation information consists of the same number of samples as the sampled original speech. Codebook 155 is conveniently organized as a circular list so that a new set of samples is simply shifted into codebook 155 replacing the earliest samples presently in the codebook. The new excitation samples are provided by output 191 of long delay pitch predictor 190.
When utilizing excitation information out of codebook 155, searcher 220 deals in sets, i.e., subframes and does not treat the vectors as disjointed samples. Searcher 220 treats the samples in codebook 155 as a linear array. For example, for 60 sample frames, searcher 220 forms the first candidate set of information by utilizing samples 1 through sample 60 from codebook 155, and the second set of candidate information by using samples 2 through 61 and so on. This type of codebook searching is often referred to as an overlapping codebook search. The present invention is not concerned with the structure and function of codebook 155, but with how codebook 155 is searched to identify the optimum codebook vector.
Adaptive codebook searcher 220 accesses previously synthesized pitch information 156 already stored in adaptive codebook 155 from output 191 in FIG. 2B, and utilizes each such set of information 156 to minimize an error criterion between target excitation 151 received from block 150 and accessed excitation 156 from codebook 155. Scaling factor or gain index 222 is also calculated for each accessed set of information 156 since the information stored in adaptive codebook 155 does not allow for the changes in dynamic range of human speech or other input signal.
The preferred error criterion used is the Minimum Squared Prediction Error (MPSE), which is the square of the difference between the original speech frame 115 from frame memory output 117 and synthetic speech 196 produced at the output of block 195 of FIG. 2B. Synthetic speech 196 is calculated in terms of trial excitation information 156 obtained from the codebook 155. The error criterion is evaluated for each candidate vector or set of excitation information 156 obtained from codebook 155, and the particular set of excitation information 156' giving the lowest error value is the set of information utilized for the present frame (or subframe).
After searcher 220 has determined the best match set of excitation information 156' to be utilized along with a corresponding best match scaling factor or gain 222', vector index output signal 221 corresponding to best match index 156' and scaling factor 222 corresponding to the best match scaling factor 222' are transmitted to channel encoder 210.
FIG. 3 shows a block diagram of adaptive searcher 220 according to a first embodiment and FIG. 4 shows adaptive searcher 220' according to a further improved and preferred embodiment. Adaptive searchers 220, 220' perform a sequential search through the adaptive codebook 155 vectors indices C1 (n) . . . CK (n). During the sequential search operation, searchers 220, 220' accesses each candidate excitation vector Ck (n) from the codebook 155 where k is an index running from 1 to K identifying the particular vector in the codebook and where n is a further index running from n=1 to n=N where N is the number of samples within a given frame. In a typical CELP application K=256 or 512 or 1024 and N=60 or 120 or 240, however, other values of K and N may also be used.
Adaptive codebook 155 contains sets of different pitch periods determined from the previously synthesized speech waveform. The first sample vector starts from the Nth sample of the synthesized speech waveform Ck (N) which is located from the current last sample of the synthesized speech waveform back N samples. In human voice, the pitch frequency is generally around 40 Hz to 500 Hz. This translates to about 200 to 16 samples. If fractional pitch is involved in the calculation, K can be 256 or 512 in order to represent the pitch range. Therefore, the adaptive codebook contains a set of K vectors Ck (n) which are basically samples of one or more pitch periods of a particular frequency.
Referring now to FIG. 3, convolution generator 510 of adaptive codebook searcher 220 convolves each codebook vector Ck (n), i.e., signal 156, with perceptually weighted LPC impulse response function H(n), i.e., signal 152 from cascade weighted filter 150. Output 512 of convolution generator 510 is then cross-correlated with target speech residual signal X(n) (i.e., signal 151 of FIGS. 2A-B) in cross-correlator 520. The convolution and correlation are done for each codebook vector Ck (n) where n=1, . . . , N. The operation performed by convolution generator 510 is expressed mathematically by equation (1) below: ##EQU6## The operation performed by cross correlation generator 520 is expressed mathematically by equation (2) below: ##EQU7## Output 512 of convolution generator 510 is also fed to energy calculator 535 comprising squarer 552 and accumulator 553 (accumulator 553 provides the sum of the squares determined by squarer 552). Output 554 is delivered to divider 530 which calculates the ratio of signals 551 and 554. Output 521 of cross-correlator 520 is fed to squarer 525 whose output 551 is also fed to divider 530. Output 531 of divider 530 is fed to peak selector circuit 570 whose function is to determine which value Ck (m) of Ck (n) produces the best match, i.e., the greatest cross-correlation. This can be expressed mathematically by equations (3a) and (3b). Equation (3a) expresses the error E. ##EQU8## To minimize error E is to maximize the cross-correlation expressed by equation (3b) below, where Gk is defined by equation (4): ##EQU9## The identification (index) of the optimum vector index Ck (m) is delivered to output 221. Output 571 of peak selector 570 carries the gain scaling information associated with best match pitch vector Ck (m) to gain calculator 580 which provides gain index output 222. The operation performed by gain calculator 580 is expressed mathematically by equation (4) below. ##EQU10## Outputs 221 and 222 are sent to channel coder 210. Means for providing convolution generator 510, cross-correlation generator 520, squarers 525 and 552 (which perform like functions on different inputs), accumulator 553, divider 530, peak selector 570 and gain calculator 580 are individually well known in the art.
While the arrangement of FIG. 3 provides satisfactory results it requires more computations to perform the necessary convolutions and correlations on each codebook vector than are desired. This is because convolution 510 and correlation 520 must both be performed on every candidate vector in code book 155 for each speech frame 117. This limitation of the arrangement of FIG. 3 is overcome with the arrangement of FIG. 4.
Adaptive codebook searcher 220' of FIG. 4 uses a frame of perceptually weighted target speech X(n) (i.e., signal 151 of FIG. 2A-B) to convolve with the impulse perceptually weighted response function H(n) of a short term LPC filter (i.e., output 152 of block 150 of FIG. 2) in convolution generator 510' to generate convolution signal W(n). This is done only once per frame 117 of input speech. This immediately reduces the computational burden by a large factor approximately equal to the number of candidate vectors in the codebook. This is a very substantial computational saving. The operation performed by convolution generator 510' is expressed mathematically by equation (5) below: ##EQU11## Output 512' of convolution generator 510' is then correlated with each vector Ck (n) in adaptive codebook 155 by cross-correlation generator 520'. The operation performed by cross correlation generator 520' is expressed mathematically by equation (6) below: ##EQU12##
Output 551' is squared by squarer 525' to produce output 521' which is the square of the correlation of each vector Ck (n) normalized by the energy of the candidate vector Ck (n). This is accomplished by providing each candidate vector Ck (n) (output 156) to auto-correlation generator 560' and by providing filter impulse response H(n) (from output 152) to auto-correlation generator 550' whose outputs are subsequently manipulated and combined. Output 552' of auto-correlation generator 550' is fed to look-up table 555' whose function is explained later. Output 556' of table 555' is fed to multiplier 543' where it is combined with output 561' of auto-correlator 560'.
Output 545' of multiplier 543' is fed to accumulator 540' which sums the products for successive values of n and sends the sum 541' to divider 530' where it is combined with output 521' of cross-correlation generator 520'. The operation performed by auto-correlator 560' is described mathematically by equation (7) and the operation performed by auto-correlator 550' is described mathematically by equation (8) ##EQU13## where, Ck (n) is the kth adaptive code book vector, each vector being identified by the index k running from 1 to K,
H(n) is the perceptually weighted LPC impulse response,
N is the number of digitized samples in the analysis frame, and
m is a dummy integer index and n is the integer index indicating which of the N samples within the speech frame is being considered.
The search operation compares each candidate vector Ck (n) with the target speech residual X(n) using MSPE search criteria. Each candidate vector Ck (n) received from output 156 of codebook 155 is sent to autocorrelation generator 560' which generates all autocorrelation coefficients of the candidate vector to produce autocorrelation output signal 561' which is fed to energy calculator 535' comprising blocks 543' and 540'.
Autocorrelation generator 550' generates all the autocorrelation coefficients of the H(n) function to produce autocorrelation output signal 552' which is fed to energy calculator 535' through table 555' and output 556'.
Energy calculator 535' combines input signals 556' and 561' by summing all the product terms of all the auto-correlation coefficients of candidate vectors Ck (n) and perceptually weighted impulse function H(n) generated by cascade weighting filter 150. Energy calculator 535' comprises multiplier 543' to multiply the auto-correlation coefficients of the Ck (n) with the same delay term of the auto-correlation coefficients of H(n) (signals 561' and 552') and accumulator 540' which sums the output of multiplier 543' to produce output 541' containing information on the energy of the candidate vector which is sent to divider 530'. Divider 530' performs the energy normalization which is used to set the gain. The energy of the candidate vector Ck (n)is calculated very efficiently by summing all the product terms of all the autocorrelation coefficients of candidate vectors Ck (n) and perceptually weighted impulse function H(n) of perceptually weighted short term filter 150. The above-described operation to determine the loop gain Gk is described mathematically by equation (9) below. ##EQU14## where Ck (n), X(m), H(n) φk (n), Uk (n) and N are as previously defined and Gk is the loop gain for the kth code vector.
Table 555' permits the computational burden to be further reduced. This is because auto-correlation coefficients 552' of the impulse function H(n) need be calculated only once per frame 117 of input speech. This can be done before the codebook search and the results stored in table 555'. The auto-coefficients 552' stored in table 555 before the codebook search are then used later to calculate the energy for each candidate vector from adaptive codebook 155. This provides a further significant savings in computation.
The results of the normalized correlation of each vector in codebook 155 are compared in the peak selector 570' and the vector Ck (m) which has the maximum cross-correlation value is identified by peak selector 570' as the optimum pitch period vector. The maximum cross-correlation can be expressed mathematically by equation (10) below, ##EQU15## where Gk is defined in equation (9) and m is a dummy integer index.
The location of the pitch period. i.e., the index of code vector Ck (m) is provided at output 221' for transmittal to channel coder 210.
The pitch gain is calculated using the selected pitch period candidate vector Ck (m) by the gain calculator 580' to generate the gain index 222'.
The means and method described herein substantially reduces the computational complexity without loss of speech quality. Because the computational complexity has been reduced, a vocoder using this arrangement can be implemented much more conveniently with a single digital signal processor (DSP), The means and method of the present invention can also be applied to other areas such as speech recognition and voice identification, which use Minimum Squared Prediction Error (MPSE) search criteria.
While the present invention has been described in terms of a perceptually weighted target speech signal X(n), sometimes called the target speech residual, produced by the method and apparatus described herein, the method of the present invention is not limited to the particular means and method used herein to obtain the perceptually weighted target speech X(n), but may be used with target speech obtained by other means and methods and with or without perceptual weighting or removal of the filter ringing.
As used herein the word "residual" as applied to "speech" or "target speech" is intended to include situations when the filter ringing signal has been subtracted from the speech or target speech. As used herein, the words "speech residual" or "target speech" or "target speech residual" and the abbreviation "X(n)" therefore, are intended to include such variations. The same is also true of the impulse response function H(n), which can be finite or infinite impulse response function, and with or without perceptual weighting. As used herein the words "perceptually weighted impulse response function" or "filter impulse response" and the notation "H(n)" therefore, are intended to include such variations. Similarly, the words "gain index" or "gain scaling factor" and the notation Gk therefore, are intended to include the many forms which such "gain" or "energy" normalization signals take in connection with CELP coding of speech.
Even with the advantages presented by the embodiment illustrated in FIG. 4, a significant computational burden still remains. For example, evaluation of the autocorrelation coefficients in block 560' of FIG. 4 (see equation (7)), requires (K)�(N!) multiplications in order to calculate the energy normalization (gain) coefficients for the K vectors in codebook 155. Since K is typically of the order of 512 or 1024 and N is typically of the order of 60 or 120 or 240, (K)�(N!)=(K)�(N)�(N-1)�(N-2) . . . (2) is usually a very large number. These calculations are in addition to those required by the operations of blocks 510', 520', 550' and others needed to recursively determine the particular adaptive codebook vector Ck=j (n) and corresponding value of Gk=j, as well as the best fit stochastic codebook vector and corresponding gain factor, which give the best fit (least error) of the target speech X(n) to the input speech. This requires a substantially amount of computational power to perform the necessary calculations in a reasonable time.
It has been found that the number of autocorrelation operations required to be performed on a codebook having K vectors of N entries per vector can be substantially reduced without significant adverse impact on speech quality. This is accomplishes by the method comprising, autocorrelating the codebook vectors for a first P of N entries (P<<N) to determine first autocorrelation values therefore, evaluating the K codebook vectors by producing synthetic speech using the K codebook vectors and the first autocorrelation values and comparing the result to the input speech, determining which S of K codebook vectors (S<<K) provide synthetic speech having less error compared to the input speech than the K-S remaining vectors evaluated, autocorrelating the codebook vectors for those S of K vectors for R entries (P<R≦N) in each codebook vector to provide second autocorrelation values therefore, re-evaluating the S of K vectors using the second autocorrelation values to identify which of the S codebook vectors provides the least error compared to the input speech, and forming the CELP code for the frame of speech using the identity of the codebook vector providing the least error. For K and N of the sizes described herein, P and S in the ranges of 5≦P≦10 and 1≦S≦7 are suitable. It is desirable that R=N or N-1.
The above operations may also be described in terms of the equations and figures provided herein. For example, instead of recursively evaluating equation (7) for m=0 to N-1 for each n=1 to N, and for each value of k=1 to k=K, the following procedure is used:
(1) Perform autocorrelation of codebook vectors Ck (n) in block 550' according to equation (7), for m=0 to m=P where P<<N;
(2) Using the P values of Uk (P) found thereby, recursively evaluate all K vectors Ck (n) and choose those S of K vectors Ck (n), S<<K, providing the closest match to the input speech; then
(3) Recursively re-evaluate the S of K vectors chosen in step (2) above now using more than the initially chose P values, preferably all m=0 to m=N-1 values, for determining Uk (m) in equation (7) to determine the jth value Ck=j (n) and corresponding gain index or factor Gk=j providing the best fit to the input speech; and
(4) Send Ck=j (n) and Gk=j to channel coder 210, as before.
As used herein, "recursively" is intended to refer to the repetitive analysis-by-synthesis codebook search and error minimization procedure described in connection with FIGS. 2A-B and 4.
It has been found that output speech quality improves with increasing P up to about P=10 with little further improvement for P>10. Good speech quality is obtained for 5≦P≦10. Speech quality degrades rapidly for P<5. Since N is usually of the order of 60 or more, a significant computational saving is obtained.
It has been found that useful speech quality results for values of S as small as S=1, and that speech quality increases with increasing S. Beyond about S=7, further improvement in speech quality becomes difficult to detect. Thus, 1≦S≦7 is a useful operating range which provides significant reduction in the number of computations that must be performed during the recursive search for the optimum codebook vectors and corresponding gain index or factor. This makes it still easier to accomplish the desired VOCODER function using a dingle digital signal processor.
A further problem exists with respect to how the codebook entries are structured and the autocorrelation performed. This arises as a result of a procedure called "copy-up" that is frequently used in the prior art to facilitate identification of short pitch periods (e.g., see Ketchum et al., supra). This is explained below.
The energy term of the error function in an adaptive codebook search for the optimum pitch period can be reduced to a linear combination of autocorrelation coefficients of two function (see Eqs. 7-9). These two functions are the impulse response function H(n) of the perceptually weighted short-time linear filter and the codebook vectors Ck (n) of the adaptive codebook. The computational complexity is greater for the adaptive codebook than the stochastic codebook because the autocorrelation coefficients for the adaptive codebook vectors cannot be pre-computed and stored.
Each adaptive codebook vector is a linear array of N entries, also referred to as samples or values. Each entry is identified by an index n running from 1 to N or from N to 1. Adjacent vectors in the codebook differ from each other by one entry, that is, each successive vector has one new entry added at one end of the vector and one old entry dropped from the other end of the vector with the intervening entry remaining the same. Thus, except at the ends of the vector, adjacent vectors have identical entries displaced by one index number. If adjacent vectors are placed by side by side, they match up if displaced by one entry or sample. This is illustrated schematically below for hypothetical adjacent vectors k, k' having arbitrary entry values between 0 and 9 and indices n=1-60. This displacement is referred to as the codebook "overlap".
______________________________________k(n): 1,2,3,4,5,6,7, . . . ,55,56,57,58,59,60 (index) 4,6,9,3,5,1,8, . . . ,0,4,6,8,2,3 (values)k'(n): 1,2,3,4,5,6,7, . . . ,55,56,57,58,59,60 (index) 6,9,3,5,1,8,5, . . . ,4,6,8,2,3,7 (values)______________________________________
It can be seen that the vector k' has the same entries as adjacent vector k displaced by one index, and that an old entry has been dropped from one end (e.g., the value 4 is dropped the left end) of the vector and a new entry added at the other end (e.g., the value 7 added at the right end).
The autocorrelation function Uk (m) is given by Eq. 7 where m=0 to N-1 is the "lag" value in the products Ck (n)*Ck (n+m) and n=1 to N is the index of the vector entries. Up to now it has been assumed that the vector length N (i.e., the number of entries per codebook vector) and the frame length L (i.e., the number of speech samples per analysis frame) are the same. But this is not always so. Different strategies are used for determining autocorrelation coefficients depending on whether N and L are the same or different.
Where the vector length N is equal to or greater than a frame length L, the autocorrelation coefficients can be calculated by a process called add-delete end correction. For example, the zero order or zero delay (lag m=0) autocorrelation coefficients of successive adaptive codebook vectors Ck, Ck', Ck", etc., can be determined by calculating the sum of the (Ck (n))2 for the first vector and finding the other vectors by end correction. End correction requires adding the square of the newly added vector value and subtracting off the square of the just deleted vector value. This same procedure can be followed (with some variations) for m=1, 2, 3, etc., with the result that the computational burden is reduced as compared to calculating each autocorrelation coefficient by evaluating Eq. 7 separately for each vector. This add-delete end correction process for determining autocorrelation coefficients is well known in the art.
Where the number of samples in the vector is less than a frame length L, it is common to "copy-up" the vector to fill out the frame (e.g., see Ketchum et al, supra). For example, if the frame length is 60 and only twenty entries are being used in the analysis, the 20 entries are repeated three times to obtain a vector length of sixty. This is illustrated below in terms of the indices of the vector values.
______________________________________Vector 1,2, . . . ,59,60Copied-up vector 1,2, . . . ,19,20,1,2, . . . ,19,20,1,2, . . .______________________________________ ,19,20.
This duplication or "copy-up" creates errors if one attempts to use the previously described add-delete end correction method for calculating the autocorrelation coefficients. These errors degrade the quality of the synthesized speech.
The end correction errors increase for larger values of m, i.e., the higher order (greater "lag") terms in the autocorrelation function. The simple add-delete end correction procedure described earlier no longer works satisfactorily on copied-up vectors. One is then left with the undesirable choice of accepting poorer speech quality in order to have a smaller computational burden (e.g., easy end correction) or having higher speech quality and a large computational burden (e.g., calculate each vector separately). It has been found that the computational burden of obtaining the autocorrelation coefficients for the situation where the number of samples in the vector is less than a frame length can be reduced without loss of synthesized speech quality by an improved computational procedure and apparatus described below.
Assume that the analysis frame has a length L (e.g., 60) and codebook vectors with N samples or values (e.g., 60) are to be used in connection with the apparatus and procedure of FIGS. 2-4 to determine the adaptive codebook vector producing the best match to the target speech. Further assume that in order to quickly detect short pitch periods, a smaller subset M<N of vector values (e.g., M ˜20) are initially used for the analysis. In the past the M samples or values would have been copied-up to fill out the frame of length L and the analysis based on the copied-up frame. With the invented method, it is not necessary to copy-up the sub-frame of M values.
The description provided in connection with this embodiment is directed particularly to efficiently determining the autocorrelation coefficients of the adaptive codebook vectors and reference should be had to the discussion of FIGS. 2-4 for an explanation of the other portions of the analysis process used for choosing the codebook vector having the smallest error and the best match to the target speech.
Reference should also be had to Eq. 7 wherein the sum Uk (n) over n=1 to N and m=0 to N-1 of the product [Ck (n)*Ck (n+m)] is the autocorrelation coefficient of the kth vector. The index m runs ordinarily from 0 to N-1 and identifies the "lag" used to calculate the autocorrelation coefficient. The index k running from 1 to K identifies the codebook vector and the index n denotes an individual sample or value within the vector. The number of samples used in the analysis depends upon the pitch period being detected. For example, about 20 samples are required for the shortest pitch periods associated with the human voice and about 147 for the longest pitch periods.
The 0th order autocorrelation coefficient corresponds to m=0, the 1st order coefficient to m=1, and so forth. The "pitch lag" M<N is defined as the number of values in a vector that are to be used for the analysis. Thus, in determining the autocorrelation coefficients for short pitch period speech components, m varies from 0 to M. The "frame size" L is defined as the number of samples of speech in the frame. Ordinarily, L=N. A typical value for L is 60 and a typical value for M is 20, but other values can be used for both provided that M<L. For convenience of explanation, the values of L=60 and M=20 are assumed in the discussion that follows. However, those of skill in the art will understand based on the description herein that this is not intended to be limiting and that other values of M and L can also be used.
The present invention provides a means and method for reducing the computational burden of determining the autocorrelation coefficients and avoiding the copy-up errors. It applies to the portion of the recursive analysis by synthesis procedure where copy-up was formerly used, that is, where a limited number of codebook samples (e.g., 20) are needed to quickly identify the shortest pitch periods, but where the limited number of samples must be expanded to the analysis frame length (e.g., 60) to avoid energy normalization problems. Once the first M+k-1 vectors have been analyzed and vector expansion is completed so that N=L, then the autocorrelation coefficients are calculated by the add-delete end correction process discussed earlier.
In a preferred embodiment, the method of the present invention comprises:
(1) Determining the autocorrelation coefficient Uk for the first vector k by evaluating Eq. 7 for m=0 to T<M and n=1 to M and multiply the result by L/M, where L, M, P, n, and m have the meanings described above. For L=60 and M=20, L/M=3. The parameter T determines how many values of the autocorrelation lag m are used, i.e., how many autocorrelation coefficients are calculated. Typically, T=M-1, but other smaller values of T may also be used. Using a smaller value of T is advantageous if the dominant values in the codebook vector are clustered so that the dominant autocorrelation coefficients are those for small values of m.
(2) Determining the autocorrelation coefficient Uk for the second vector k' by taking the sum of the products in Eq. 7 for each value of m previously obtained in step (1) and adding (Ck' (n=M+1))2 to the m=0 term, adding Ck' (n=M+1)*Ck' (n=M+2) to the m=1 term, add Ck' (n=M+1)*Ck' (n=M+3) to the m=2 term, and so forth up to the Tth term, and multiply the result by L/(M+1);
(3) Determining the autocorrelation coefficient Uk for the third vector k" by taking the sum of the products for each value of m previously obtained in step (2) and adding (Ck' (n=M+2))2 to the m=0 term, add Ck" (n=M+2)*Ck" (n=M+3) to the m=1 term, add Ck" (n=M+2)*Ck" (n=M+4) to the m=2 term, and so forth up to the Tth term, and multiply the result by L/(M+2); and
(4) Determining the remaining autocorrelation coefficients for the remaining vectors by continuing as in (1)-(3) above, incrementing the values by one for each additional vector until L/(M+k-1)=1. Thereafter, the autocorrelation coefficients are calculated by the conventional prior art add-delete procedure described earlier.
Stated another way, the autocorrelation coefficients of the codebook vectors are determined by calculating the coefficient Uk (m) of the first vector k=1 using Eqs. 11a-b below, ##EQU16## for m=0 to T<M, and then calculating the autocorrelation coefficients Uk (m) of the remaining codebook vectors incrementally using Eqs. 12a-b below.
U'.sub.k (m)=[U'.sub.k-1 (m)+C.sub.k (M+k-1)C.sub.k (M+k-1+m)](12a) ##EQU17## for m=0 to T<M and for (M+k-1)≦L. The analysis by synthesis is performed using vectors (and their corresponding autocorrelation coefficients) of increasing length, starting with a vector of length M and increasing the length of each successive vector by one sample until the vector length equals the frame length, i.e., until (M+k-1)=L. The expansion of the short pitch sample to match the frame length is then complete. Subsequent vectors have the same length as the frame length and each successive vector of the overlapping codebook corresponds to deleting an old sample from one end and adding a new sample at the other end of the vector. The prior art add-delete end correction method is then used for determining the autocorrelation coefficients of the remaining vectors being analyzed.
It will be noted that the sum of the products in Eq. 11a need be evaluated only once for the first vector and then other vectors up to (M+k-1) can be calculated from the terms of the first vector by adding the contribution of the Ck *Ck products for the additional values or samples being included. No copy-up procedure is required and the errors in the autocorrelation coefficients created by copy-up do not arise. This substantially reduces the computational burden in the analysis by synthesis procedure described in connection with FIGS. 2-4.
The difference between the prior art copy-up and the invented procedure is illustrated schematically below in terms of the vector indices. Calculation of the autocorrelation coefficients involves summing the products of the vector with itself for various amounts of lag m, i.e., relative displacement of the vector. The examples below show which values are multiplied together for various amounts of lag m for the copy-up approach and the invented approach. The numbers in the examples are the indices of the vector values or entries, not the values themselves, and may be thought of as a measure of the position of each entry along the vector
For COPY-UP, multiply term by term and add, for each a and m, for example:
______________________________________For (k = 1, m = 0), multiply1,2,3, . . . ,19,20,1,2,3, . . . ,19,20,1,2,3, . . . ,19,20 by1,2,3, . . . ,19,20,1,2,3, . . . ,19,20,1,2,3, . . . ,19,20;For (k = 2, m = 0), multiply1,2, . . . ,19,20,21,1,2, . . . ,19,20,21,1,2, . . . ,17,18 by1,2, . . . ,19,20,21,1,2, . . . ,19,20,21,1,2, . . . ,17,18;For (k = 3, m = 0), multiply1,2, . . . ,19,20,21,22,1,2, . . . ,20,21,22,1,2, . . . ,15,16 by1,2, . . . ,19,20,21,22,1,2, . . . ,20,21,22,1,2, . . . ,15,16;and so forth for all k, m and n.______________________________________
For the invented arrangement, multiply and sum the first (e.g. 20) entries for m=0 to M-1 and then add products of the n=M+1, n=M+2, etc., entries, for example:
______________________________________For (k = 1, m = 0), calculate1,2,3, . . . ,19,20 times1,2,3, . . . ,19,20 and multiplying by L/M;For (k = 2, m = 0)obtain 1,2,3, . . . ,19,20,21 times1,2,3, . . . ,19,20,21 by adding 21 � 21 tothe previous calculation for k = 1, andmultiplying by L/M+1;For (k = 3, m = 0)obtain 1,2,3, . . . ,19,20,21,22 times1,2,3, . . . ,19,20,21,22 by adding 22 � 22to the previous calculation for k =2, and multiplying by L/M+2; andcontinuing for all m and until thevector length equals the frame lengthand the last term 60 � 60 isadded, then proceed as in theprior art.______________________________________
While only the 0th order term is illustrated in the above examples of the autocorrelation process for the prior art and invented approach, those of skill in the art will understand based on the description herein how to shift the vectors to represent the product terms for m=1, m=2, etc. As an aid to that process, the following example is given for the present invention for k=1, k=2 and m=1:
______________________________________For (k = 1, m = 1), calculate1,2,3, . . . ,19,20 times1,2, . . . ,18,19, and multiply by L/M+1;For (k = 2, m = 1)obtain 1,2,3, . . . ,19,20,21 times1,2,3, . . . ,19,20 by adding 20 � 21 tothe previous calculation for k = 1 andmultiplying by L/M+2;For (k = 3, m = 1)obtain 1,2,3, . . . ,19,20,21,22 times1,2,3, . . . ,19,20,21 by adding 21 � 22to the previous calculation for k = 2, and multiplying by L/M+3; andcontinuing for all k and m being evaluated up toL/(M+k-1) = 1.______________________________________
An apparatus suitable for determining the autocorrelation coefficients in the manner described above according to a preferred embodiment of the present invention is illustrated in FIG. 5. Autocorrelation apparatus 600 corresponding to the present invention comprises signal input 602 whose vector samples Ck (n) are received from adaptive codebook 155 of FIG. 4. Vector samples or values Ck (n) follow two paths 604, 606. Path 606 passes via switch 608 to initial vector (i.e., k=1) autocorrelator 610. Initial vector autocorrelator 610 performs the functions indicated by Eq. 11a, that is, it calculates the autocorrelation coefficients U1 (m) corresponding to k=1, m=1, 2, 3, . . . , T-1, T. These autocorrelation coefficients are delivered via switch 620 to end correction coefficient calculator 622.
First vector autorrelation coefficient calculator 610 comprises registers 612 and 614 into which the first M (e.g., 20) samples in the codebook are loaded. Registers 612, 614 are conveniently well known serial-in/parallel-out registers, but other arrangements well known in the art can also be used.
The sample values are transferred to autocorrelator 616 which determines the sum of the products U1 (m)=SUM[C1 (n)C1 (n+m)] for m=0 (i.e., U1 (0)) and clocks this coefficient out to block 622 through switch 620. Autocorrelator 616 then shifts the samples in register 614 by one sample, via block 618, corresponding to m=1 and calculates U1 (1), which is then clocked out to block 622. This procedure continues until all of the autocorrelation coefficients for initial vector C1 (n) have been determined and loaded into block 622. Switches 608 and 620 then disconnects autorrelation generator 610 from block 622.
Block 622 performs the function described by Eqs. 11b and 12a-b. This is conveniently accomplished by the combination of register 624, multipliers 626, adders 628, register-accumulators 630, multiplier 632 and output buffer 634. Registers 624, 630 and buffer 634 conveniently have the same length as registers 612, 614 (as shown for example in FIG. 5), but may be longer or shorter depending on how many autocorrelation coefficients are desired to be evaluated and updated for subsequent vectors. For example, registers 624, 630 and buffer 634 can be as large as the frame length.
Register elements 630 contain the previously calculated autocorrelation coefficients to which end corrections are to be added to determine the autocorrelation coefficients for subsequent vectors. The end corrections are provided by register 624 in combination with multipliers 626. The end corrections from multipliers 626 are added to the previously calculated coefficients from register 630 in adders 628 and fed back to update register 630 via loops 629. From register 630, the autocorrelation coefficients are transferred to multiplier 632 where they are scaled by the appropriate L/(M+k-1) factor and sent to output buffer 634 where they form, for example, output 561' in FIG. 4, wherein autocorrelation generator 600 describes element 560' in more detail for (m+k-1)≦L.
Describing the operation of block 622 in more detail, register 624 is loaded with the vector values at the same time as registers 612, 614. Register 630 is loaded with output U1 (m) of first vector autocorrelation coefficient generator 610 before autocorrelator 610 is disconnected from block 622. These initial autocorrelation coefficients are copied to multiplier 632 wherein they are multiplied by L/M and sent to buffer 634 from which they are extracted during the analysis by synthesis procedure described in connection with FIGS. 2-4.
After register 630 has been loaded with the first T autocorrelation coefficient values, then an additional vector value is clocked into register 624 and the vector value in each stage of register 624 is clocked out as shown by arrows 625. Assuming that the initial vector had M values, the most recent value now present in register 624 is n=M+1. This corresponds to vector k=2 since each vector differs from the previous vector by the addition of one entry until n=(M+k-1)=L.
The new value n=M+1 is multiplied by itself in multiplier 6261 and the result delivered to adder 6281 where it is combined with the 0th order U1 (m=0) coefficient already stored in register element 6301. Register element 6301 is then updated as indicated by arrow 6291 so that the sum of U1 (0)+Ck (M+1)Ck (M+1) is now present in register element 6301 and transferred to multiplier 632 where it is multiplied by L/(M+1) and loaded into buffer 634, along with the other updated coefficient values from the other elements of register 630 which have been multiplied in 632 by the same factor. Counter 640 is provided to keep track of the number of codebook vector entries that have been loaded into register 624 and adjust the multiplication factor in multiplier 632 so that it corresponds to L/(M) for k=1, L/(M+1) for k=2, L/(M+2), and so forth up to (M+k-1)=L.
Sample Ck (M) from register 624 is multiplied by Ck (M+1) in multiplier 6262 and summed with U1 (1) from register element 6302 in adder 6282, which sum updates register element 6302 via connection 6292. The updated value is sent to multiplier 632 where it is multiplied by L/(M+1) and sent to buffer 634. The remaining samples in register 624 are processed in a like manner and then another sample, e.g., n=M+2, clocked into register 624 and the process repeated. In this fashion, the autocorrelation coefficients are available in buffer 634 for each new vector formed by the addition of one more sample to the previous vector, in the same fashion as is illustrated in simplified form in Examples IV-V.
While the temporary storage elements 612, 614, 624, 630, and 634 have been described as registers or buffers, those of skill in the art will understand based on the description herein that this is merely for convenience of explanation and that other forms of data storage can also be used, as for example and not limited to, random accessible memory, content addressable memory, and so forth. In addition, such memory can have a wide varied of physical implementations, for example, flip-flops, registers, core and semiconductor memory elements. As used herein the terms "register" and "buffer", whether singular or plural, are intended to include any modifiable information store of whatever kind or construction. Similarly, the other blocks identified, as for example, autocorrelator 616, indexer, 618, switches 608, 620, adders 628, multipliers 626 and/or counter 640, are intended to include equivalent functions of any form, whether separate elements or a combination of elements, or standard or application specific integrated circuits, or programmed general purpose processors able to perform the described functions, separately or in combination.
The present invention provides a rapid and simple method of determining the autocorrelation coefficients for a standard analysis frame length (e.g., 60) based on a shorter set of codebook vector samples (e.g., 20) which are needed to detect short pitch periods, without introducing the former copy-up errors involved in expanding the small number of codebook samples to the standard frame length. The computational burden is reduced without sacrifice of speech quality because the end autocorrelation add-delete errors associated with the prior art copy-up arrangement are avoided. Copy-up is avoided entirely.
While the invented apparatus for generating the autocorrelation coefficients has been described above in terms of hardware registers, autocorrelators, multipliers, adders, switches and the like, those of skill in the art will understand that these can be implemented in software so as to configure a computer to perform the same functions as have been described herein for the apparatus and to execute the method of the present invention based on the detailed description of the embodiments provided herein, and that such variations are contemplated by the present invention.
Finally, the above-described embodiments of the invention are intended to be illustrative only. Numerous alternative embodiments may be devised without departing from the spirit and scope of the following claims.
|Cited Patent
|Filing date
|Publication date
|Jan 7, 1988
|Mar 28, 1989
|Motorola, Inc.
|Digital speech coder having improved vector excitation source
|Citing Patent
|Filing date
|Publication date
|Aug 5, 1994
|May 21, 1996
|Motorola, Inc.
|Method and apparatus for inserting signaling in a communication system
|Apr 29, 1993
|Jun 11, 1996
|Northern Telecom Limited
|Reducing search complexity for code-excited linear prediction (CELP) coding
|Dec 2, 1994
|Aug 12, 1997
|Electronics And Telecommunications Research Institute
|Method for processing speech signal in speech processing system
|Dec 7, 1993
|Feb 10, 1998
|Pacific Communication Sciences, Inc.
|Adaptive speech coder having code excited linear predictor with multiple codebook searches
|May 16, 1997
|Jun 2, 1998
|Nec Corporation
|Vector quantinizer with distance measure calculated by using correlations
|Jun 14, 1995
|Oct 13, 1998
|Nahumi; Dror
|Optimized pulse location in codebook searching techniques for speech processing
|Sep 29, 1995
|Mar 2, 1999
|Kabushiki Kaisha Toshiba
|Coding apparatus having adaptive coding at different bit rates and pitch emphasis
|Jul 1, 1997
|Jul 13, 1999
|Nokia Mobile Phones
|ACLEP codec with modified autocorrelation matrix storage and search
|Dec 20, 1991
|Jan 18, 2000
|British Telecommunications Public Limited Company
|Generating the variable control parameters of a speech signal synthesis filter
|Dec 30, 1999
|Dec 26, 2000
|Matsushita Electric Industrial Co., Ltd.
|Linear prediction coefficient analyzing apparatus for the auto-correlation function of a digital speech signal
|May 6, 1998
|Mar 6, 2001
|Nokia Mobile Phones Limited
|Pitch-lag estimation in speech coding
|Sep 15, 1998
|Jun 5, 2001
|Matsushita Graphic Communication Systems, Inc.
|Speech coding apparatus and pitch prediction method of input speech signal
|Sep 18, 1998
|May 28, 2002
|Conexant Systems, Inc.
|Data organizational scheme for enhanced selection of gain parameters for speech coding
|Apr 16, 1999
|Oct 22, 2002
|Texas Instruments Incorporated
|Subframe-based correlation
|Sep 4, 1998
|Mar 9, 2004
|Nortel Networks Limited
|Perceptual audio coding
|Aug 7, 2007
|Feb 7, 2012
|Panasonic Corporation
|Audio encoding device and audio encoding method
|Sep 23, 2008
|Dec 31, 2013
|O'hearn Audio Llc
|Speech coding system and method using bi-directional mirror-image predicted pulses
|Dec 14, 2011
|Apr 26, 2016
|Panasonic Intellectual Property Corporation Of America
|Coding device, communication processing device, and coding method
|Jan 26, 2006
|Apr 19, 2007
|Fujitsu Limited
|Voice data processing method and device
|Sep 23, 2008
|Feb 12, 2009
|Conexant Systems, Inc.
|Speech coding system and method using bi-directional mirror-image predicted pulses
|Aug 7, 2007
|Jul 15, 2010
|Panasonic Corporation
|Audio encoding device and audio encoding method
|Dec 21, 2015
|Apr 28, 2016
|Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V.
|Apparatus and method for improved concealment of the adaptive codebook in a celp-like concealment employing improved pitch lag estimation
|Mar 13, 1998
|Nov 12, 1998
|Nokia Mobile Phones Limited
|Speech coding
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification
|Jun 12, 1991
Owner name: MOTOROLA, INC. A CORP. OF DELAWARE, ILLINOIS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:YIP, WILLIAM C.;BARRON, DAVID L.;REEL/FRAME:005749/0809
Effective date: 19910612
|May 10, 1996
|Fee payment
Year of fee payment: 4
|Jun 27, 2000
|Fee payment
Year of fee payment: 8
|Jan 8, 2002
Owner name: GENERAL DYNAMICS DECISION SYSTEMS, INC., ARIZONA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC.;REEL/FRAME:012435/0219
Effective date: 20010928
|Jun 29, 2004
|Fee payment
Year of fee payment: 12
|Sep 15, 2005
Owner name: GENERAL DYNAMICS C4 SYSTEMS, INC., VIRGINIA
Free format text: MERGER AND CHANGE OF NAME;ASSIGNOR:GENERAL DYNAMICS DECISION SYSTEMS, INC.;REEL/FRAME:016996/0372
Effective date: 20050101


text:
The fun-filled day involved 32 golfers who played a morning round of 18 holes followed by a delicious catered buffet lunch at the prestigious Fort Lauderdale Country Club. Participating individual golfers were challenged to raise a minimum of $2,000 each from their business associates, friends and family members, while corporate foursomes were tasked to raise a minimum of $5,000. In addition, 11 "virtual golfers" participated by raising funds for but not competing in the event.
On Friday, May 29, more than 350 business and community leaders joined the Broward Partnership to celebrate 16 years of opening doors to possibilities for more than 21,000 men, women and children experiencing homelessness in Broward County at the annual Salute to Leadership Gala. The event, held at the Hilton Fort Lauderdale Marin, raised more than $254,000 to support the Partnership's work to assist those experiencing homelessness.
Entertained throughout the evening by the R&B sounds of the Valerie Tyson Band, guests enjoyed a cocktail reception while bidding on auction items, which was then followed by dinner and an awards ceremony.
On a beautiful weekend in April 2015, the Broward Partnership celebrated the tremendous impact its volunteers made on the lives of those experiencing homelessness at its Annual Volunteer Recognition Awards Luncheon held aboard Carnival Cruise's Fun Ship Freedom.


text:
Meridian Media Resource Center
Journalists, dealers and distributors can now download hi-res images, data 24/7
Meridian Audio is pleased to announce a new service for journalists, dealers and distributors who need up to date information on, and above all high -resolution images of, Meridian products.
The new Meridian Media Centre server is available via the Web or via FTP (preferred for large files). To begin using the server, point a web browser at:
http://greatcircle.meridian -audio.ltd.uk/ and follow the instructions.
The server contents are broken down into a number of sections, including Product Images, Room Images (photos of rooms with Meridian installations), Logos, Press releases, Data Sheets, and a special password -protected area for dealers and distributors containing advertising artwork, presentations and other information. Each area is accessed from a simple set of buttons.
Each of the photographic areas include high -resolution CMYK TIFF files ideal for features, magazine covers and advertising applications, plus large and small JPEGs for a variety of other applications. Under development is an 'Imagebank' preview system, where the images can be viewed as thumbnails or previews, making it easy to choose a file to download. This is currently being tested.
In addition to hi -res images, the server contains the latest versions of data sheets for current products, plus press releases and other useful information.
The availability of the server means that there will no longer be a need to wait while we supply a special CD -ROM, and you won't have to put up with whatever resolution images the maximum file size of your email system allows. Instead you can download what you need, when you want. We can also advise you on a suitable image for a particular purpose and email you a link to it.
For more details, visit the site or email Richard Elen, Meridian Creative Services, at email@example.com.
[Ends: 290 words RE]
Meridian Audio Limited is based in Huntingdon, near Cambridge, UK, and was founded in 1977 by Allen Boothroyd and Robert Stuart. With a 25 -year history of innovation and development of the highest quality consumer audio systems, the award -winning company is widely recognized as a world leader in digital and analog audio reproduction. Meridian developed the world's first audiophile CD player, the world's first consumer digital surround controller, developed the MLP lossless packing systems mandated for use in DVD -Audio, and is the only UK audio hardware manufacturer to be a member of the DVD Forum. The company's optical disc players, DSP -based loudspeakers and Digital Theatre systems are unique in the industry, maintaining a super -quality digital audio signal throughout the path from the studio to the amplifier, and using digital signal processing to generate advanced crossover characteristics that would be impossible with conventional passive analogue systems.
Featured Product
This is Control4 Home Automation with Amazon Alexa.
INTRODUCING THE SIMPLEST WAY TO CONTROL YOUR ENTIRE HOUSE YOUR VOICE. Imagine this... We've all been there-walking through the door into a dark house, arms full. Wouldn't it be nice to tell your house to offer a helping hand? Now you can. A simple voice command-such as "Alexa, turn on Welcome"-lights up the hallway and kitchen, fires up your favorite Pandora station, while the door locks itself behind you. This is Control4 Home Automation with Amazon Alexa.


text:
If your program is located in our 6 county area of Mahoning, Medina, Portage, Stark, Summit or Trumbull, you can list employment opportunities at no cost. Listings will be posted within one business day of receiving your email about the posting.
Child Care Connection will no longer be in operation aftr June 30, 2017. Employment opportunites will no longer be posted on the Jobs Board.
Employment opportunities must be related to child care. Child Care Connection reserves the right to refuse or remove any job postings that do not meet this criteria. Removal will be based solely on the discretion of Child Care Connection without need of explanation.


text:
- Exterior
- Interior
- Quality
- Features
- Performance
- Value for money
Lovely car <3 🙂
Wriggling its way into the Korean manufacturer's line-up, the 2015 Hyundai Grand i10 is a stepping stone for those who want something finer than a regular i10 but aren't willing to settle for an i20.
* Price point in comparison to its rivals.
* Well equipped for its price.
* Quality of materials used around the cabin could have been improved.
Based on the new generation Hyundai i10 which is yet to make its debut in the Middle East, the 2015 Hyundai Grand i10 sits at 3,765 mm long and 1,520 mm tall, making it exactly 100 mm longer, 20 mm taller, and 10 kg heavier than its sibling it's based on. Flaunting a prominent hexagonal grille, LEDs around the fog lamp housings, and tail lamps that slice their way into the fenders, it's still unmistakably an i10, but it's worth noting the visit to the surgeons has paid off.
Sporting a two-tone colour scheme, the 2015 Hyundai Grand i10 hasn't let go of what made the regular i10 stand out; unfortunately, it hasn't let go of the abundant supply of hard plastics, either. Planted onto a horizontal layout, the clutter-free placement of buttons on the dashboard gives the impression of a significantly roomier cabin – a major plus point.
Fitted with steering wheel controls, Bluetooth telephony, a smart key, and push button ignition, the 2015 Hyundai Grand i10 isn't exactly under equipped. In fact, with rear parking sensors, an auto defogging system, and ABS as well, it offers a fair amount of kit for its sub AED 40,000 price tag.
What's on offer?
Churning out 86 horsepower and 120 Nm of torque from its 1.2 litre 4-cylinder engine, the 2015 Hyundai Grand i10 takes a painstaking 15 seconds to reach 100 km/h. Mated to a 4 speed automatic transmission or a 5 speed manual, the Korean hatchback channels power to the front wheels and runs breathless at a calm 157 km/h.
Summing it…
Wearing a price tag that ranges from AED 38,900 – 41,900, the Grand i10 has a clear monetary advantage when compared to the likes of the Suzuki Swift and Mitsubishi Attrage. Quite frankly, that's all that's needed in its segment to be successful.
|2015 Hyundai Grand i10
|Engine/ Cylinders
|1.2 litre / 4 cyl
|Max Power
|86 hp @ 6,000 RPM
|Max Torque
|120 Nm @ 4,000 RPM
|4 speed automatic / 5 speed manual
|Front Wheel Drive
|0-100 km/h
|15.0 secs
|Top speed
|157 km/h
Nader Hany Reply
December 5, 2015 at 11:45 pm
Lovely car <3 🙂
karunakar Reply
April 17, 2015 at 3:05 pm
i am satisfied and happy i hope every one will love the Hyundai Grand i 10 for family's. and young stares even look wise also very rich and very comfort.
DuPont-D KC
April 20, 2015 at 11:02 am
Hi Karunakar,
Thank you very much for sharing your experience with us and all of our readers.
Glad to hear you're enjoying the i10 Grand.
Best regards,
karunakar Reply
April 17, 2015 at 3:04 pm
i am satisfied and happy i hope every one will love the Hyundai Grand i10 for familyes. and young stares even look wisr also very rich and very comfort.
Find your next car within minutes


text:
Archive: Polar bears in peril
Polar bear is listed as threatened species
The animal, whose habitat has been shrinking with the melting of Arctic sea ice, is the first to be designated as threatened with extinction mainly because of global warming.
Judge says U.S. must decide whether polar bears are endangered species
A federal judge, in setting a May 15 deadline for a decision, rejects the Bush administration's plea for additional time. The order is a victory for 3 environmental groups.
Polar bears may have to chill 10 weeks
Officials want time to review protections. Critics smell oil issues.
Delay over polar bear protection is criticized
The chairwoman of the Senate Environment Committee on Wednesday criticized Interior Secretary Dirk Kempthorne for failing to appear before her panel to explain why the Bush administration had delayed a decision on whether to protect polar bears under the Endangered Species Act. Sen. Barbara Boxer...
Graphic: On thin ice
U.S. is close to listing polar bears as threatened
The Bush administration is nearing a decision that would officially acknowledge the environmental damage of global warming, and name its first potential victim: the polar bear. The Interior Department may act as soon as this week on its year-old proposal to make the polar bear the first species...


text: Hi well I'm still putting a little away every payday toward a new Hi definition TV hope to get one early next year. Well in the meantime I think I want something for the bedroom so I was thinking about getting a 27-inch with the latest inputs component, Svhs. I heard about V-compression while out to Best Buy and recently saw an add for a Toshiba 27 inch TV in Best Buys flyer. They advertised that V-compression gets rid of the cropping in windscreen movies, so I was wondering if someone could take a moment and explain to me how this works, I've heard some similar hype before about different sceams that supposedly get ride of the cropping bars but basically just make everyone in the movie look like a contortionist with stretched faces and the like, well I know you guys can give me the scope so that's why I stopped by. Wishing everyone a Marry Xmas and a safe and prosperous New Year!! :b Tom j.


text:
Sperethiel is the fictional language of the elves in the role-playing game Shadowrun.
A number of words from Sperethiel are present—as loan words—in Or'zet.
Within the world of Shadowrun, Sperethiel is supposed to be a unique language isolate, related to no other language or family of languages. In reality, the authors borrowed heavily from Irish for many of the words or phrases given as examples. E.g. Tír na nÓg and Tír Tairngire relate to concepts of Irish mythology. On the other hand, the word inventory is not very fleshed out, and many words or morphemes are not cognate with Gaelic, but are new combinations somewhat suggestive of that language.
Sperethiel is described as a very complex language with a number of subtle variations enabling expressions of different levels of formality and rank between speakers, much as in Japanese.
Some commonly known Sperethiel words Edit
- Carromeleg - The elven martial art
- celenit - non-elf (insult)
- goronagit - an elf who isn't part of an elven group (insult)
- goronit - barbarian (insult)
- li-ha - "Isn't that so?"
- liayah - "Sure" "I'll do it" "I agree"
- Rinelle - rebel, deserter
- sielle - "Yes", literally "It is the way of things"
- tech - common swear word, equivalent to "drek"
- wineg - ork or troll (insult)


text: Iv flashed different .zip files to my hero, gapps, froyo mms fix, market fix etc. You get the point But im wondering how i can view a list of all the things iv flashed. Iv made many changes to my phone and would like to see what is currently flashed to my device. And also i was wondering if theres a way to unflash this stuff and if not what will get rid of it? Because i hav no backups. They were all messed up and got deleted


text:
fre amateur vid
bikini royle
Tags: gay, moves, sex
This entry was posted
on Sunday, July 31st, 2011 at 6:19 pm and is filed under Uncategorized.
You can follow any responses to this entry through the RSS 2.0 feed.
Responses are currently closed, but you can trackback from your own site.
Comments are closed.
confessions sex mother in law is proudly powered by
WordPress MU running on Pornblink.com. Create a new blog and join in the fun!
Entries (RSS)
and Comments (RSS).


text: Spam Stats December 11, 2014 paste AOL Spam Submitted by Blade Leave a Reply Cancel reply Your email address will not be published. Required fields are marked *Comment Name * Email * Website Notify me of follow-up comments by email. Notify me of new posts by email. Post navigation mikro's Outlook CreatorVK_Fade.bas


text:
OOOooops..I looked closer and finally see what others saw...
Now why didnt Travco continue these???
The later version such as I have, totally suck!
Thank you for the heads up.
Travco Classic Motorhome Support & Discussion Forum
Return to New Members Introductions
Users browsing this forum: No registered users and 3 guests


text:
Birmingham, United Kingdom (PressExposure) September 14, 2009 -- Need help planning an event or wedding come to Sukhdev caterers.
Since a big challenge in planning your wedding and other big functions is finding a catering company you can rely on. Sukhdev Caterers ends your search for caterers and offer a complete catering service in UK , Birmingham.
Sukhdev foods catering services: An Exclusive and recommended caterers at many top hotels and venues throughout the UK. Sukhdev catering provide you with the best of everything. It also has an extensive variety of foods to choose from. The company's only philosophy is to delight the customers with a wide array of food and dishes, thereby providing best Indian Food Catering Service in UK for all occasions.
Sukhdev Catering menu comprises of Starters, Curries, Vegetarian, Non vegetarian, Pulao, naan and list goes further and further.
Our Foods catering Services includes:
â¢Outdoor Catering Service: We are provides a completely wide-ranging outdoor catering service including a various range of foods and drinks. So be assured to enjoy our fully Managed Catering Service within your premises managing all of your catering needs.
â¢Wedding Catering Services: SCS is specialized in wedding receptions catering which is required to make this unique event cherished for the years to come. All our food is prepared fresh on our premises using the best seasonal ingredients available.
â¢Birthday celebrations:
Sukhdev's Caterers can arrange birthday parties for any number of guests and any occasion. Our extensive menu options give you a wide choice of gourmet meals at an affordable price. SCS outstanding services are enough to make any occasion delightful and unforgettable.
â¢Engagements Catering Services: SCS outstanding services are enough to make any occasion delightful and unforgettable. SCS is well-versed to arrange engagement parties with a touch of class. We uphold the highest standards for ingredients, cooking and presentation
â¢Formal Function: Sukhdev cateres understands its customers varied requirements and tastes. SCS specializes in design a menu to best suit you and your guests. Clients etc. Informal Functions: Sukhdev caterers are equally good in arranging catering services for informal function as well. Our service staff will help you enjoy your function and help you to stop worrying about the arrangement perspective.
The constant pre-occupation with the customer's comfort is what makes Sukhdev's Catering unique. With its core traditional values and affection for the Indian culture and its food. There are numerous benefits that you can enjoy if you hire a catering service for your wedding.
For More information and order booking please visit [http://www.sukhdevsfood.com]
Contact us at: Sukhdev's Catering Services Ltd 125, Soho Road Handsworth Birmingham B21 ST England (UK) Mob: +44-7831-668067 Tel: 0845-130 0042 Fax: 0121-554 1211
Url: [http://www.sukhdevsfood.com]
Email: firstname.lastname@example.com


text:
Yesterday morning I had the pleasure of photographing darling Halle again, along with her brother, cousin and parents! I photographed Halle when she was a newborn (post here) and a few other times, so I was so happy to get to see how much she'd grown! She's such a pretty baby! W Family, (& Melissa & Aria 🙂 ) I had such a wonderful time with you all, thank you! Enjoy your sneak peek!
The cousins!
SO adorable! Wish I had one like this of my kids! 🙂
As soon as they get to see their full gallery, there will be alot more on Facebook! Hope everyone's having a fabulous weekend!


text:
0 BURNS RD, Ash Township, Michigan
0 BURNS RD, Ash Township, Michigan 48117 - Don't miss this opportunity to get over 9.5 acres of buildable land in Carleton! Level site with 330' frontage in Airport School District. City water available at street. ( Additional MLS Data: Summer Tax: $310, Winter Tax: $1516 )
Listing Courtesy of Provided through IDX through Realcomp II Ltd. Courtesy of RE/MAX Masters Copyright 2014 Realcomp II Ltd. Shareholders


text:
> Dining
> Restaurants
> Le Petit Franck
Add:376 Wukang Rd
Time:Tue-Sun, 12pm-12am
Credit Cards Accepted
English Service Available
The horseshoe-shaped French bar/restaurant shows old French films (without soundtrack) in the dim light, making it a perfect place when you are in a nostalgic mood.
The laid-back eatery evokes 1930s-40s New York and the al fresco is a peaceful haven not to be missed.
Customers can refer to the brief menu on a blackboard, or flip over the paper menu that features bistro-style dishes.
From ¥280
From ¥280
From ¥35


text:
Template >> Business Card - Colorful Flower Power Business Card 1845 by Layoutlet @ CreativeMarket
File Size: 2.29 MB; Requirements: Adobe CS3+; Layered: Yes; DPI: 300 DPI; Vector: Yes; Dimensions: 3.5 x 2 in.
The flower power business card template is a colorful hippie inspired design great for any small business in the flower industry such as a flower shop, a flower distribution company and even a flower specialist consultant.
If you like this template, please consider following us on Twitter (http://bit.ly/U6tQgY) and liking our page on Facebook (http://on.fb.me/U6tUxu) to keep up with our latest work.
ЎЄ Business Card Landscape (3.5X2")
ЎЄ Fully editable with the click of a button
ЎЄ Files are fully layered and organized by folders
ЎЄ Print ready CMYK 300dpi resolution
ЎЄ 1/8" bleed-lines included in all files
Included Files
ЎЄ Adobe Illustrator Files (.ai)
ЎЄ Encapsulated Postscript Files (.eps)
ЎЄ High Resolution JPEG Preview (.jpg)
External Resources
ЎЄ Font: Brewsky (http://bit.ly/UYgJzh)
The images above are for preview purpose only. If you need to create a set of previews for your own business card designs, you should these business card mockups: http://bit.ly/14lH0ey
Keywords: business card, template, layout, layoutlet, colorful, flower, power, fun, funny, green, hippie, red, orange, creme, beige, yellow.


text:
6/15 Carter Street Seven Hills 2147 NSW
Near New Four Bedroom Townhouse
With quality inclusions and finishes this town house is a must to inspect!
Conveniently situated within a well maintained complex and located within walking distance to public transport, schools and shops. This free-standing town house features four generous sized bedrooms, all with built in wardrobes, master bedroom with en suite. Modern bathroom and near new kitchen included with stainless steel appliances, gas cooking, dishwasher and plenty of cupboard space. Open plan dining and lounge room with ducted air conditioning throughout.The property features a low maintenance courtyard with an under covered patio area.Further features include internal laundry with third toilet, single remote controlled garage with internal access and additional open car space, ducted air-conditioning and security alarm system.
Sorry no pets.
Email this agent
Email sent successfully!
Your email has been sent.
Would you like to get The Real Estate Conversation?
Agent Information
Elders Real Estate Toongabbie
Toongabbie NSW, 2146
More property from Elders Real Estate Toongabbie
Get new properties in your inbox
Real Estate For Rent in Seven Hills, NSW 2147 priced between $410 and $760


text: Would agree with Otis on Bigi / Gadzhev. Whilst bigi was fairly poor he did put a few good tackles in, whilst Gadzhev is still to show me why he should play conference football let alone league one. Thought I'd do some match ratings RCC - 6.5 largely untested, made a mistake coming out but made amends with a good save. Handling was pretty solid, and some good distribution. DKE - 7 what he lacks in stature he more than makes up for in desire. Can only ask a player once selected to give their all & he certainly does. One very good block with score at 2-0 Stokes - 6.5 looked solid, good 45 minutes for him, were barely tested in first 45 Harries 7 - so comfortable on the ball and for a slight guy is strong and brave in the air and the tackle. Big future. Haynes 7 - got forward really well, still question marks defensively but he's improving. Superb goal. Jones - 8 great running with the ball. Managed to use his right foot for Thomas'! And was involved in the first. Ran tirelessly, deserved a goal. Lameiras 7.5 - he did give the ball away too much but he was also involved in a lot of the positive stuff we did. Think in that kind of player you're always going to be frustrated with some of his decisions. Good nights work in general. Bigi - 5.5 usually a more positive Bigi fan but was ineffective tonight. He actually was probably better tackling than passing which is rare for him as he's not the best without the ball. Gadzhev 4 - generous Thomas - 7.5 worked tirelessly, rewarded with a goal. Similarly to Lameiras, few poor decisions but overall positive display. Beavon - 8 what work rate. Involved in everything, wins a lot in the air for someone of his height. Looking like hell be a fan favourite. Also deserved a goal. Finch - 6.5 thought he acquitted himself well bar a 10 yard pass to their centre forward that I have no idea what he was thinking. Tudgay - 5.5 chested the ball, held up a bit but usually gave it away Stevenson - N/A not on the pitch for long enough to make an impact. Hope it's not the last we see of him. Slade - 8.5/10 thanks for some positivity Russell! Thought he might have brought Stevenson on ten minutes earlier as we were getting overrun for a fifteen minute spell but overall a comfortable victory. Play Up Sky Blues Sent from my iPhone using Tapatalk


text:
The Umbrella of Irony…. The Umbrella of Irony. There are a variety of tones & attitudes that fall under the "umbrella" of irony…. Parody. Sarcasm. Irony. Satire. Epithet. Sardonic Voice. Burlesque. Irony. Definition: Language that states the opposite of the intended meaning
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
There are a variety of tones & attitudes that fall under the "umbrella" of irony…
Sardonic Voice
He was happily married – but his wife wasn't
If you're one in a million, there are six thousand people exactly like you
I find television very educating. Every time somebody turns on the set, I go into the other room and read a book
I like you. People say I've got no taste, but I like you.
Irony: Language which states the opposite of intended meaning
The TRUE OPINION of the author
The satiric voice or circumstance which the author fashions to portray THE OPPOSITE OF TRUE OPINION (creating irony)
What the author wants to CHANGE OR CORRECT