Background of the Invention
1. Field of the Invention
The present invention relates to a voice encoder.
2. Description of the Related Art
Various devices and apparatus have been proposed as voice encoders (voice-to-digital converters) that encode inputted aural signals. In the case of applying a voice encoder to a mobile radio communication system or a satellite communication system, reducing the amount of code while maintaining encoding quality is important for eliminating inefficiency or interference in the communication channel.
When taking as an object the encoding of human speech, a particular speaker in a conversation will obviously not be speaking at all times. Consequently, if coding is halted during the time a speaker is not actually speaking, the amount of encoding can be reduced. Furthermore, in a mobile radio communication terminal, a reduction in the consumption of electrical power can be achieved by halting encoding, enabling longer battery life. For example, in GSM (Global System for Mobile Communication) recommendations such as "GSM Full-rate Speech Transcoding," (ETSI/PT 12, GSM Recommendation 06.10, January 1990) and "Discontinuous Transmission (DTx) for Full-rate Speech Traffic Channels," (ETSI/PT 12, GSM Recommendation 06.31, January 1990), techniques are disclosed by which transmission devices on the mobile station side are not activated if there is no voice activity when encoding aural signals in communication between a mobile station and a base station.
FIG. 1 shows a block diagram of the composition of an example of a conventional voice encoder. This voice encoder 50 is composed of an input terminal 51 for inputting input aural signals for each frame, a synthetic filter coefficient calculation circuit 52 for calculating a synthetic filter coefficient for each frame, a frame energy calculation circuit 53 for calculating the frame energy value for each frame, a voice activity detecting circuit 54 for distinguishing whether or not there is voice activity in the current frame, a voice encoding circuit (voice-to-digital circuit) 55 for encoding the current frame based on the synthetic filter coefficient and the frame energy value, an output terminal 56 for outputting the coded result (codewords) of the voice encoding circuit 55, and a control circuit 57 that controls the overall operation of the voice encoder 50.
The input aural signal is an acoustic signal obtained by means of a handset, a microphone or the like, and includes not only the speaker's voice, but also background noise or sound during pauses in the speaker's voice. In this case, the presence of voice activity is a state in which the input aural signal includes the speaker's voice, and the absence of voice activity is a state in which the input aural signal does not include the speaker's voice. The coded signal outputted from the output terminal 56 is then transmitted by way of a communication channel 58 and demodulated by means of a voice decoder (digital-to-voice converter) 59 on the other speaker's side.
In the voice encoder 50, the voice activity detecting circuit 54 judges the absence or presence of voice activity at each of the frames. The absence of voice activity, i.e., a state in which the input aural signal is not the speaker's voice but rather background noise, is determined at the voice activity detecting circuit 54. If the information of absence of voice activity is inputted to the control circuit 57, then the control circuit 57 controls the voice encoding circuit 55, and after allowing encoding and transmitting of the frame at the time of determination, stops the output of the coded signal from the voice encoding circuit 55 until the presence of voice activity is determined. To the signal of the coded frame at the time the absence of voice activity was determined, a flag is added indicating that it is background noise. If it is here determined that voice activity is present, the voice encoding circuit 55 resumes encoding based on the synthetic filter coefficient and the frame energy value. Furthermore, although the absence of voice activity continues, a frame encoded as background noise is sent for the passage of each fixed time period .DELTA.T. Here, the fixed time .DELTA.T can be termed the "continuous background noise time." While the absence of voice activity continues for a long, a coded signal is not transmitted from the voice encoder 50 to the voice decoder 59 during each time period of continuous background noise. Consequently, during the time period of continuous background noise, demodulated data is outputted at the voice decoder 59 based on the frame preceding the break in coded transmission, i.e., the frame to which a flag is affixed indicating that it is background noise. Specifically, the voice decoder 59 first demodulates frames that are transmitted as background noise, and during times of continuous background noise, it continues to demodulate while changing a portion of the code of the transmitted frame that is background noise. If a new frame of background noise is sent in accordance with the passage of time .DELTA.T from the transmission of the previous frame of background noise, the voice decoder 59 updates the background noise based on the frame of background noise just sent from the voice encoder 50 and continues demodulating based on the updated background noise.
As explained above, in a voice encoder of the prior art, as long as it is continuously determined that voice activity is absent, a frame encoded as background noise is sent for the passage of each time period .DELTA.T of continuous background noise, and when this is not the case (during a rest period), no coded data is outputted. Accordingly, at the voice decoder, the background noise is updated for each time period .DELTA.T of continuous background noise, and during a rest period, demodulation is continued based on updated background noise. As a result, when the absence of voice activity is accompanied by a large variation in the input aural signal, the background noise will vary greatly for each time period of continuous background noise, and the aural signal outputted from the voice decoder will vary greatly in quality for each fixed time .DELTA.T, and this variation in sound quality will sound unnatural to the person on the receiving side.
Summary of the Invention
A purpose of the present invention is to provide a voice encoder that will not cause an unnatural aural signal to be outputted from the voice decoder on the receiving side during a continued absence of voice activity.
The purpose of the present invention is achieved by a voice encoder having voice activity detection means for analyzing an input aural signal and judging whether voice activity is absent or present; voice encoding means for encoding the input aural signal; background noise update determining means for detecting a change in the characteristic of the input aural signal when voice activity is absent; and control means for temporarily stopping the operation of the voice encoding means when the absence of voice activity is detected, and, when a change in the characteristics of the input aural signal is detected by the background noise update determining means, causing encoding of the input aural signal at that time as background noise data by means of the voice encoding means.
The purpose of the present invention is also achieved by a voice encoder having input means for inputting an input aural signal divided into frames; synthetic filter coefficient calculation means for analyzing the input aural signal and calculating a synthetic filter coefficient; frame energy calculation means for analyzing the input aural signal and calculating a frame energy value for each of the frame; voice activity detection means for determining whether voice activity is absent or present; voice encoding means for encoding the input aural signal frame by frame based on the synthetic filter coefficient and the frame energy value; background noise update determining means for detecting a change in the characteristics of the input aural signal when voice activity is absent; and control means for temporarily stopping the operation of the voice encoding means when the absence of voice activity is detected, and, when a change in the characteristics of the input aural signal is detected by the background noise update determining means, causing encoding of the input aural signal at that time as a background noise frame by means of the voice encoding means.
The above and other objects, features and advantages of the present invention will become apparent from the following description referring to the accompanying drawings which illustrate an example of a preferred embodiment of the present invention.
Brief Description of the Drawings
FIG. 1 is a block diagram showing the composition of an example of a conventional voice encoder;
FIG. 2 is a block diagram showing the composition of an embodiment of the voice encoder of the present invention; and
FIG. 3 is a characteristics graph showing a comparison of synthetic filter coefficients.
Description of the Preferred Embodiments
A preferred embodiment of the present invention will be described with reference to the drawings. In the voice encoder 10 shown in FIG. 2, an input aural signal divided into frames is inputted to an input terminal 11. A synthetic filter coefficient calculation circuit 12 that calculates a synthetic filter coefficient for each frame and a frame energy calculation circuit 13 that calculates a frame energy value for each frame are each connected to the input terminal 11. The method of calculating the synthetic filter coefficient can for example be a method based on LPC (Linear Prediction Coding). The calculated synthetic filter coefficient and frame energy value are both supplied to a voice activity detecting circuit 14, a voice encoding circuit 15, and a background noise update determining circuit 20.
The voice activity detecting circuit 14 determines whether voice activity is absent or present in the current frame based on the synthetic filter coefficient and the frame energy value. This judgment is carried out for each frame. The result of judgment of the voice activity detecting circuit 14 is outputted to the control circuit 17.
The voice encoding circuit 15 is for encoding the current frame using the synthetic filter coefficient and the frame energy value, and its operation is controlled by the control circuit 17 as will be explained below. The voice encoding method of the present embodiment can employ for example a RPE-LTP (Regular Pulse Excitation Long Term Predictor) method. The output of the voice encoding circuit 15, codewords, is outputted to the outside as the output of the voice encoder 10 by way of the output terminal 16. In the present embodiment, this voice encoder 10 is connected to a voice decoder 19 by way of a communication line 18.
The background noise update determining circuit 20 is for detecting whether or not there is variation or change in the characteristics of the input aural signal when voice activity is absent based on the synthetic filter coefficient and the frame energy value. The judgment result of the background noise update determining circuit 20 is outputted to the control circuit 17.
The control circuit 17 is structured so as to control the voice encoding circuit 15 as following manner. If the absence of voice activity is detected by the voice activity detecting circuit 14 when the voice encoding circuit 15 is in operation, the control circuit 17 causes the frame at that time to be encoded as a background noise frame and then temporarily stops the operation of the voice encoding circuit 15; and if the presence of voice activity is detected when the voice encoding circuit 15 is not in operation, the control circuit 17 causes the voice encoding circuit 15 to resume operation. Furthermore, if the voice encoding circuit 15 is not in operation when variation or change in the characteristics of the input aural signal is detected by the background noise update determining circuit 20, the control circuit 17 causes the voice encoding circuit 15 to encode the frame at that time as a background noise frame and then again stop the operation of the voice encoding circuit 15.
Here, a background noise frame is a frame produced by encoding an input aural signal when voice activity is absent, i.e., a frame of encoded background noise, and is a frame that indicates that encoding is to temporarily stop after output of the frame. Specifically, a background noise frame is composed of a postamble signal and the following encoded data. A postamble signal is a signal indicating that (1) the output of the voice encoder 10 is to be temporarily stopped because the voice activity has ceased, and (2) the data to be transmitted next is background noise.
The background noise update judging circuit 20 will next be described in further detail. The background noise update determining circuit 20 holds the synthetic filter coefficient and frame energy value of the previously transmitted background noise frame and compares the synthetic filter coefficient and frame energy value of the previously transmitted frame with the synthetic filter coefficient and frame energy value of the current frame. Here, the synthetic filter coefficient must first be explained.
The synthetic filter coefficient specifies the characteristics of the synthetic filter used in the coding of the aural signal, and generally, designates the spectrum characteristics of the corresponding synthetic filter. Various methods of comparing the two synthetic filter coefficients may be considered, but in the present embodiment, considering the spectral envelope of the synthetic filter corresponding to each synthetic filter coefficient, comparison is made according to values derived by integrating according to the frequency the absolute value of the difference in spectral intensity of the envelope of two synthetic filter for each frequency. In other words, the spectral envelope represented by the synthetic filter coefficient of the previously outputted background noise frame is f.sub.pre (.nu.) , and the spectral envelope represented by the synthetic filter coefficient of the current frame is f.sub.curr (.nu.). Here, .nu. is the frequency, and f.sub.1 and f.sub.2 are the lowest limit frequency and the highest limit frequency, respectively, of a frequency band. The integral value LD indicated by formula (1) below is referred to as "LPC distortion" in which .vertline.x.vertline. represents the absolute value of x. ##EQU1## In FIG. 3, spectral envelope f.sub.pre (.nu.) and f.sub.curr (.nu.) are shown by a solid and a dotted line, respectively. The region enclosed by the solid and dotted lines, i.e., the area marked by diagonal lines, is the integral value LD.
Next, will be explained the principals for the judgment by the background noise update determining circuit 20. When the absence of voice activity continues and background noise is updated, (1) if there is a relatively large change in the signal intensity (frame energy) from the beginning to the end of updating, or (2) if there is a relatively large change in the tone quality of the aural signal from the beginning to the end of updating, it can be considered likely that the output at the voice decoder on the receiving side will sound unnatural. if the frame energy value of the current frame is RO.sub.curr, the frame energy value of the previously transmitted background noise is RO.sub.pre, the threshold value of the frame energy is RO.sub.th, and the threshold value for the integral value (LPC distortion) LD is LD.sub.th, the background noise update judging circuit 20 determines that a change or variation in the characteristics of the input aural signal occurred if at least one of the two formulae (2) and (3) is satisfied. ##EQU2## Formula (2) is a condition for updating the background noise, before the difference between RO.sub.pre and RO.sub.curr becomes very great, in order to prevent sudden changes in the frame energy from the beginning to the end of updating. Rather than judging conditions based on a simple difference, condition judgment is performed using a logarithm because human perception possesses a logarithmic characteristic. Formula (3) is a condition to prevent sudden changes in the tone quality from the beginning to the end of updating. The threshold values RO.sub.th and LD.sub.th used in formulae (2) and (3) are parameters used for determining whether or not to forcibly update the background noise on the voice decoder side and can be appropriately set according to the sound quality on the receiving side or type of input aural signals.
Regarding the operation of this voice encoder 10, the voice activity detecting circuit 14 judges the absence or presence of voice activity at each of the frames, and when there is voice activity, the voice encoding circuit 15 carries on encoding of inputted frames, and the inputted frames are outputted from the output terminal 16. If voice activity is detected when the operation of the voice encoding circuit 15 is stopped due to the absence of voice activity, the operation of the voice encoding circuit 15 is resumed.
As to transition from the presence to the absence of voice activity, when the absence of voice activity is detected, the input aural signal at that time is encoded as a background noise frame and outputted, following which the voice encoding circuit 15 is stopped by the control circuit 17. While operation of the voice encoding digital circuit 15 is stopped, the background noise update judging circuit 20 monitors the synthetic filter coefficient and frame energy value of each frame, and when at least one of formulae (2) and (3) is satisfied, it is determined that a change has occurred in the characteristics of the input aural signal. When a change in the characteristic of the input aural signal has been detected, under the control of the control circuit 17, the voice encoding circuit 15 encodes and outputs the frame at that time as a background noise frame. The voice encoding circuit 15 then returns to a rest state, where it remains until voice activity is present or a change in the characteristics of the input aural signal is again detected. If neither formula (2) nor (3) is satisfied, the current frame is not encoded.
As explained above, in the present embodiment, if a change in the characteristics of the input aural signal is detected, background noise is forcibly updated, and consequently, it is possible to reduce unpleasantness (unnatural sound quality) due to sudden changes in background noise for the person on the voice decoder side.
The present invention allows a number of different embodiments. First, when a fixed time .DELTA.T has elapsed since the last transmission of a background frame, the background noise can be updated regardless of the judgment made by the background noise update determining circuit 20. The fixed time period .DELTA.T corresponds to continuous background noise time in the voice coder of the prior art.
In the embodiment described above, judgment was made using the ratio of RO.sub.curr to RO.sub.pre in formula (2), but judgment may also be made based on the difference between RO.sub.pre and RO.sub.curr. In addition, when calculating integral value LD, it is possible to weight the spectral intensity according to the perceived characteristics or to carry out integration non-linearly. It is also possible to vary threshold values RO.sub.th and LD.sub.th according to the state of the synthetic filter coefficient or the frame energy value. Further, the background noise may be updated only when changes occur in both the synthetic filter coefficient and the frame energy value.
It is to be understood that variations and modifications of the voice encoder disclosed herein will be evident to those skilled in the art. It is intended that all such modifications and variations be included within the scope of the appended claims.