Speech encoding apparatus and method

Abstract: A speech analysis means and a window locating means are implemented in a speech coding apparatus. The speech coding apparatus encodes input speech per analysis frame defined having a fixed length and is offset at fixed interval. The speech analysis means extracts frequency spectrum characteristic parameters of the input speech taken within an analysis window. The location of the analysis window is specified by the window locating means. The window locating means selects the location of the analysis window which is used in extracting the frequency spectrum characteristic parameters at the speech analysis means. In this case, depending upon the characteristic parameter of the input speech within and near the frame concerned, the window locating means selects the location of the analysis window within the range which is not to be exceeding the range of the frame concerned.

Description: BACKGROUND OF THE INVENTION FIELD OF THE INVENTION The present invention relates to a method and apparatus for speech encoding, which are used when speech is transmitted digitally, stored and synthesized. DESCRIPTION OF THE RELATED ART In a conventional speech coding apparatus, input speech taken within analysis windows are analyzed by taking their frequency spectrum. The analysis windows are either aligned with the analysis frames or at a fixed offset from the analysis frames. The analysis frames are defined as having a fixed length and are offset at fixed interval. In a conventional speech decoding apparatus and a speech post processor, the quantization noise of synthesized speech is perceptually reduced by emphasizing peaks (formant) and suppressing other part of the speech spectrum. The peak is produced by the resonation of the vocal tract in the speech spectrum. An article on the conventional speech coding/decoding apparatus is "Sine-Wave Amplitude Coding at Low Data Rates", (Adavance in Speech Coding, Kluwer Academic Publishers, P203-213) of the article 1 by R. Macaulay, T. Parks, T. Quartieri, M. Sabin. Fig. 4 shows a configuration of the speech coding/decoding apparatus stated in this article. The conventional speech coding/decoding apparatus comprises a speech coding apparatus 1, a speech decoding apparatus 2 and a transmission line 3. Input speech 4 is input into the speech coding apparatus 1. Output speech 5 is output from the speech decoding apparatus 2. A speech analysis means 6, a pitch coding means 7, a harmonics coding means 8 are implemented in the speech coding apparatus 1. A pitch decoding means 9, a harmonics decoding means 10, an amplitude emphasizing means 11 and a speech synthesis means 12 are implemented in the speech decoding apparatus 2. The speech coding apparatus 1 has lines 101, 102, 103. The speech decoding apparatus 2 has lines 104, 105, 106, 107. Fig. 5 shows speech waveforms resulting from operation of the conventional speech coding and decoding apparatus. The operation of the conventional speech coding/decoding apparatus is described with reference to Figs. 4 and 5. The input speech 4 is input into the speech analysis means 6 through the line 101. The speech analysis means 6 analyzes the input speech 4 per analysis frame having a fixed length. The speech analysis means 6 analyzes the input speech 4 within an analysis window. The analysis window, that is, for instance, a Hamming window, has its center at the specific location in the analysis frame. The speech analysis means 6 extracts a power P of the input speech within the analysis window. The speech analysis means 6 also extracts a pitch frequency by using, for instance, an auto correlation analysis. The speech analysis means 6 also extracts an amplitude Am and a phase m (m is a harmonic number) of a harmonic components on a frequenc spectrum at an interval of the pitch frequency by a frequency spectrum analysis. Fig. 5(a), (b), show a example of calculating the amplitude Am of the harmonic components on the frequency spectrum by picking up input speech within one frame. The pitch frequency (1/T, T stands for the pitch length) extracted by the speech analysis means 6 is output to a pitch coding means 7 through the line 103. The power P, and the amplitude Am and the phase m of the harmonics are output to a harmonics coding means 8 through the line 102. The pitch coding means 7 encodes the pitch frequency (1/T) input through the line 103 after quantizing. The quantizing is, for example, done using a scalar quantization. The pitch coding means 7 outputs a coded data to the speech decoding apparatus 2 through a transmission line 3. The harmonics coding means 8 calculates a quantized power P' by quantizing the power P input through the line 102. The quantizing is done, for example, using the scalar quantization. The harmonics coding means 8 normalizes the amplitude Am of the harmonic component input through the line 102 by using the quantization power P' to get a normalized amplitude ANm. The harmonics coding means 8 quantizes the normalized amplitude ANm to get a quantized amplitude ANm'. The harmonics coding means 8 quantizes, for example using the scalar quantization, the phase m input through the line 102 to get a quantized phase m'. Then the harmonics coding means 8 encodes the quantized amplitude and the quantized phase m' and outputs the coded data to the speech decoding apparatus 2 through the transmission line 3. The operation of the speech decoding apparatus 2 is explained. The pitch decoding means 9 decodes the pitch frequency of the coded data of the pitch frequency input through the transmission line 3. The pitch decoding means 9 outputs the decoded pitch frequency to a speech synthesis means 12 in the speech decoding apparatus 2 through the line 104. A harmonics decoding means 10 decodes the power P', and the amplitude ANm' and the phase m' of the harmonic components, within the coded data input through the transmission line 3 from the harmonics coding means 8. The harmonics decoding means 10 calculates a decoded amplitude Am' by multiplying the amplitude ANm' by P'. The harmonics decoding means 10 outputs these decoded amplitude Am' and phase m' to an amplitude emphasizing means 11 through the line 105. The decoded amplitude Am' contains the quantization noise generated by quantizing. Generally, the human ear has a characteristic of perceiving less quantization noise at peaks (formant part) of the frequency spectrum than at bottoms. By using this characteristic, the amplitude emphasizing means 11 reduces giving the quantization noise to human ear. The amplitude emphasizing means 11 emphasizes the peaks of the decoded amplitude Am' and suppresses other part of Am'. Thus, the amplitude emphasizing means 11 reduces giving the quantization noise to the human ear. The emphasized amplitude AEm' and the phase m' are output to a speech synthesis means 12 through the line 106. Depending upon the input pitch frequency, the emphasized amplitude AEm' of the harmonic components and the phase m', the speech syntheses means 12 synthesizes a decoded speech S(t) using the following formula (1). The decoded speech S(t) is output as an output speech 5 through the line 107. Fig. 5 (c), (d) show an example of how the speech is synthesized from the amplitudes of each harmonics. PROBLEMS TO BE SOLVED BY THE INVENTION In the conventional speech coding apparatus shown in Fig. 4, the location of the analysis window defined in the speech analysis means 6 is fixed against the analysis frame. Therefore, when the input speech within the analysis window W changes largely from unvoiced to voiced as shown by the input speech waveform in Fig. 6, extracted frequency spectrum parameters sometimes have intermediate characteristics which are between voiced sound patterns and unvoiced sound patterns. Consequently, it has been a problem that the output speech synthesized in the speech decoding apparatus is not clear and then the sound quality becomes bad. The object of the present invention is to solve the above problems to get a good quality output speech. SUMMARY OF THE INVENTION The problem is solved by the features of claim 1 and claim 10. A speech coding apparatus according to the present invention comprises a speech analysis means which extracts frequency spectrum characteristic parameters and a window locating means which selects a location of an analysis window depending upon the characteristic parameter of input speech and sends a direction to the speech analysis means. The speech analysis means calculates and outputs a value of power of the input speech as a power of analysis frame concerned. This input speech is analyzed within an analysis window whose center is at the center of the analysis frame concerned. A method for speech encoding according to the present invention is used in the above apparatus. A window locating means selects a location of the analysis window depending upon the characteristic parameters of the input speech within and near the frame. The location of the analysis window is used when the frequency spectrum characteristic parameter is extracted in the speech analysis means. The window locating means sends a direction on the selected location to the speech analysis means. In this case, the location of the analysis window is selected within the range and not exceeding the range of the analysis frame concerned. The speech analysis means calculates and outputs a value of power of the input speech, which is taken by locating the center of the analysis window at the center of the frame every time, as the power of the frame. As mentioned above, according to the present invention, it is possible to remove the effect of the unvoiced characteristic on the frequency spectrum when there are voiced parts and the unvoiced parts in the frame. Consequently, there is an effect of getting a fairly clear and natural decoded speech quality. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows a configuration of an embodiment of the present invention. Fig. 2 explains the embodiment of the present invention shown in Fig. 1. Fig. 3 is a flowchart of the embodiment of the present invention shown in Fig. 1. Fig. 4 is a configuration of the conventional speech coding apparatus and the speech decoding apparatus. Fig. 5 explains the conventional speech coding apparatus and the speech decoding apparatus. Fig. 6 shows a problem of the conventional speech coding apparatus. DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 1 shows an example of an embodiment of the present invention. Fig. 1 is a configuration of a speech coding apparatus 1 which encodes input speech, and a speech decoding apparatus 2 which decodes the encoded speech. Fig. 2 shows an operation of this embodiment. In Fig. 1, elements corresponding to the elements of Fig. 4 are named coincidently and explanations about them are omitted. A window locating means 13 and a line 111 are implemented in the speech coding apparatus 1 in Fig. 1. Now, the operation of the embodiment shown in Fig. 1 is explained. As shown in the waveform of input speech in Fig. 2 in some cases, the input speech changes from unvoiced to voiced largely even in one analysis frame. In this case, a clear frequency spectrum parameter can be calculated if the frequency spectrum is taken based on the speech which is taken at the center of the voiced sound because the unvoiced sound has little effect on the speech. The window locating means 13 shifts an analysis window to find the location of the voiced part in the frame. As shown in Fig. 2, the input speech is taken one after another by shifting the analysis window per fixed time within the current analysis frame range. The range of shifting the analysis window should not exceed the range of the frame too much. For instance, the center of the analysis window is shifted within the analysis frame. Fig. 2 shows the case of analysis windows W1 to W9 offset at fixed intervals and having a fixed length. The center of the analysis window W1 is at the edge S of the analysis frame. The center of the analysis window W9 is at the other edge E of the analysis frame. The window locating means 13 calculates values of power of input speech taken one after another within the analysis windows. The window locating means 13 selects a location of the analysis window which has the maximum value of power. The window locating means 13 outputs the location of the analysis window having the maximum value of power to a speech analysis means 6 through a line 111. Fig. 3 is a flowchart showing one example of a selecting process of the window location at the window locating means 13. First, variables used in the flowchart of Fig. 3 are explained. "I" stands for the maximum number of the analysis windows to be allocated at the analysis frame. Since there are 9 analysis windows in the example shown in Fig. 2, "I" is defined to be nine (I=9). "Pi" stands for the power of the input speech calculated by using the ith analysis window (i= 1, 2, 3 .....I). "L" is a length of the analysis window. "SH" is a shifting length when the analysis window is shifted. "is" stands for data about the location of the selected analysis window. "Pmax" is the maximum power value among the power "Pi". "S(t)" is the input speech. The flowchart of Fig. 3 is explained using these variables. At Step S1, the maximum power value Pmax is set at the initial value of 0. The maximum power value Pmax is the variable used for finding the maximum power. Therefore Pmax is updated whenever a new maximum power value is found. At Step S2, "i" is initialized to 1. Steps S3 to S7 are a routine which loops I times (I is the maximum number of analysis windows). The power Pi of the input speech S(t) is calculated at Step S3. The power Pi is calculated as a sum of squared value of the input speech S(t) for the window length. At Step S4, the power Pi calculated at S3 is compared to the maximum power value Pmax, which has been already calculated, to find which of the two is higher. When the power Pi calculated at Step S3 is higher than the maximum power value Pmax calculated before, Pi ist substituted for Pmax, and "i", indicating the place of the analysis window, is put in the data "is" which shows the location of the selected analysis window. "i" is incremented by 1 (one) at Step S6. At Step S7 "i" is compared to "I" which is the maximum number of the windows. When "i" is smaller than "I", the process from Steps S3 to S7 is repeated. Thus, the process from Steps S3 to S7 is repeated as many times as the maximum number of windows, then the maximum power value Pmax and data "is" about the selected window location are calculated. At Step S8, the data "is" about the selected window location is output to a speech analysis means 6 through the line 111. The above constitutes the operation of the window locating means. The speech analysis means 6 takes speech at a location based on the data "is" about the selected window location. The data "is" is input through the line 111. The speech analysis means 6 calculates a pitch frequency of the taken speech. The speech analysis means 6 calculates an amplitude Am and a phase m of a harmonics on a frequency spectrum at the interval of the pitch frequency. The speech analysis means 6 calculates a power P of the speech taken by locating the center of the analysis window at the center of the frame concerned. In the example of Fig. 2, the power P is calculated by using an analysis window W5. Thus, the power of the input speech is taken by locating the center of the analysis window at the center of the frame every time. The power of the input speech taken is used as the power of the frame. The calculated amplitude Am and the phase m of the harmonics and the power P are output to a harmonics coding means 8 through a line 102. Thus, the amplitude and the phase of the harmonics are calculated by using the analysis window having the maximum power value, which prevents an output speech from being unclear. Since the value of power of the frame is calculated from the center of the frame, the output speech has a power consistency. As mentioned above, it is a feature of this embodiment to implement the speech analysis means and the window locating means in the speech coding apparatus. The speech coding apparatus encodes the input speech per analysis frame having a fixed length and is offset at fixed interval. The speech analysis means takes the input speech by using the analysis window whose location is designated by the window locating means. Besides, the speech analysis means extracts the frequency spectrum characteristic parameter of the taken input speech. The window locating means selects a location of the analysis window, which is used in extracting the frequency spectrum characteristic parameter at the speech analysis means, depending upon the characteristic parameter of the input speech within and near the frame concerned. When the location of the analysis window is selected, it is not to be exceeding the range of the frame concerned. The window locating means sends a direction about the selected window location to the speech analysis means. It is also a feature of this embodiment to implement the speech analysis means which calculates and outputs the value of power of the input speech taken by locating the center of the analysis window at the center of the frame every time, as the power of the frame. By using the method of this embodiment, when there are voiced parts and unvoiced parts in a frame, it is possible to remove an effect of an unvoiced part on a frequency spectrum since the frequency spectrum is calculated by centering the analysis window mainly on the voiced part. The voiced part which as a large speech power is more important than the unvoiced part perceptually. Besides, it is possible to get a consistency between the power of output speech and the power of input speech since the speech power value is calculated using the analysis window at the center of the frame. Consequently, the above method has an effect of getting a fairly clear and natural decoded speech quality. Although the case of allocating nine analysis windows against one frame is explained in Fig. 2, the number of the analysis windows is not necessary to be nine always. Any plural number is acceptable. The case of the center of the analysis window W1 being at the edge S of the analysis frame and the center of the analysis window W9 being at the other edge E of the analysis frame has been stated. This is just an example of showing the range of the analysis window not exceeding the range of the frame. It is not necessary for the center of the analysis window to be at the edge of the analysis frame. In the case of shifting the analysis windows, it is important to shift the analysis windows whithin the range wherein the characteristic of the input speech in the frame can be specified. Although the case of the window length L being the same as the analysis frame length has been shown in the example of Fig. 2, it is not necessary for the window length L to be the same length as the analysis frame length. It is acceptable for the length of the analysis frame to be different from the length of the analysis window. Although the case of the analysis windows being shifted from W1 to W9 in turn at a fixed offset has been explained in the example of Fig. 2, it is not necessary to be shifted at the fixed offset. Being shifted at random or shifted at other prescribed rule is acceptable. Although the analysis windows are shifted from W1 to W9 in turn in time, it is not necessary to be shifted in time as long as the window locating means 13 has a memory which can memorize the input speech in the analysis frame. In the case of the input speech being memorized in the memory, the analysis windows from W1 to W9 can be shifted in inverse order or random order. The case of the analysis window having the maximum input speech power value being selected from the analysis windows has been explained in the example of Fig. 3. Not only the value of power of the input speech but also other characteristic parameter can be used in selecting the analysis window. The reason for the analysis window having the maximum power value being used after comparing the power of each analysis window is that the voiced part has a higher power value than the unvoiced part generally when there are both voiced and invoiced parts in one frame. Accordingly, any characteristic parameter can be used as long as the characteristic parameter can distinguish the voiced part from the unvoiced part. For example, a spectrum pattern can be used as the characteristic parameter of the input speech instead of the value of power. There is a characteristic relation between the frequency and the amplitude in the spectrum pattern in the voiced part. Namely, the lower the frequency is, the larger the amplitude is. That is, the higher the frequency is, the smaller the amplitude is. However, in the unvoiced part, the spectrum pattern tends to be flat or the amplitude becomes large as the frequency becomes high generally. Accordingly, it is possible to distinguish the voiced part from the unvoiced part by checking the spectrum pattern in shifting the analysis windows. As another instance of the characteristic parameter, an auto correlation analysis can be used. Since the waveform of the input speech has a periodic pattern in the voiced part, an auto correlation function indicates a periodic characteristic. However, in the unvoiced part, the auto correlation function indicates a random value having no periodic characteristic. Accordingly, it is possible to distinguish the voiced part from the unvoiced part by calculating the auto correlation function of the input speech taken by each analysis window in shifting the analysis windows. In the above example, the case of the power value of the input speech being calculated by locating the center of the analysis window at the center of the analysis frame has been explained. It is not necessary to use the analysis window whose center is at the center of the analysis frame. The reason for using the analysis window whose center is at the center of the analysis frame is that it is thought the value of power of the analysis frame can be extracted best by using such window. So another analysis window being at another place can be used as long as the analysis window can extract the value of power of the analysis frame appropriately. The analysis window selected by the window locating means has a defect of having too high power comparing to other analysis frames since the analysis window indicates the voiced part having a high speech power. Thus, the power consistency of the speech can be made better by using another analysis window instead of the analysis window selected by the window locating means. Any analysis window is acceptable as long as the analysis window can get the power consistency. Although the case of the length L of the analysis window which is shifted by the window locating means being as long as the length L of the analysis window used for calculating the value of power of the analysis frame has been explained in this example, it is acceptable that there be a difference between the both lengths. It is desirable that the length of the analysis window for calculating the value of power of the analysis frame is as long as the length of the analysis frame, since the analysis window is used for calculating the value of power of the frame. However, the length of the analysis window for taking the input speech can be longer or shorter than the length of the analysis frame.

Claims: A speech coding apparatus for coding input speech within an analysis window of an analysis frame, comprising: (a) window locating means (13) for defining a plurality of analysis windows at different locations in the analysis frame, for receiving an input speech within each of the analysis windows, for calculating a predefined feature of the input speech within each analysis window, for comparing the calculated features of each analysis window, and for selecting an analysis window based on a result of the comparison; (b) speech analysis means (6) for extracting characteristic parameters of the input speech in the selected analysis window selected by the window locating means; and (c) coding means (7, 8) for receiving the characteristic parameters and for encoding the characteristic parameters. The speech coding apparatus of claim 1, wherein the predefined feature is a power of the input speech, and wherein the analysis window (W) having a maximum power value is the window selected. The speech coding apparatus of claim 1 or 2, wherein the speech analysis mean (6) comprises: means for providing a second analysis window different from the selected analysis window; and means for calculating a value of power of the input speech within the second analysis window and for outputting the calculated power value to the coding means. The speech coding apparatus of claim 3, wherein a center of the second analysis window is placed at a center of the analysis frame. The speech coding apparatus of claim 3, wherein the analysis frame has a fixed frame length and the second analysis window has a window length which is substantially the same as the analysis frame length. The speech coding apparatus of claim 1, wherein the selected analysis window is the window having a center which is substantially in the center of the analysis frame. The speech coding apparatus of claim 1, wherein the analysis frame has a fixed length and the analysis window has a window length which is substantially the same as the frame length. The speech coding apparatus of claim 1, wherein the predefined feature is a spectrum of the input speech and wherein the comparison is a comparison of the spectrums of the input speech within each analysis window. The speech coding apparatus of claim 1, wherein the predefined feature is an auto correlation of the input speech within each analysis window and wherein the analysis window whose auto correlation function shows periodicity is the window selected. A speech coding method for encoding input speech within a selected analysis window of an analysis frame, comprising the steps of: (a) creating an analysis window having a location in the analysis frame; (b) calculating a value of power of the input speech within the analysis window; (c) repeating the above steps, wherein each new analysis window is created at a different location within the analysis frame; (d) comparing the power values for each analysis window and selecting the analysis window having a maximum power value. The speech coding method of claim 10, further comprising the steps of: (a) extracting characteristic parameters of the input speech within the selected analysis window; (b) creating a second analysis window and calculating a value of power of the input speech within the second analysis window; and (c) encoding the extracted characteristic parametes and the calculated power.

Inventors: ISHII JUN, ISHII, JUN
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1994
Main classification: G10L19
IPC codes: G10L19