1. Field of Invention
The present invention relates to transmission of data streams with time- or spatially dependent correlations, such as speech, audio, image, handwriting, or video data, across a lossy channel or media. More particularly, the present invention relates to a frame erasure concealment algorithm that is based on reestimating gain parameters for a code excited linear prediction (CELP) coder.
2. Description of Related Art
When packets, or frames, of data are transmitted over a communication channel, for example, a wireless link, the Internet, or radio broadcast, some data frames may be corrupted or erased, i.e., by the channel delay, so that they are not available or are altogether lost when the data frames are needed by a receiver. Frame erasure occurs commonly in wireless communications networks or packet networks. Channel impairments of wireless networks can be due to the noise, co-channel and adjacent channel interference, and fading. Frame erasure can be declared when the bit errors are not corrected. Also, frame erasure can result from network congestion and the delayed transmission of some data frames or packets.
Currently, when a frame of data is corrupted, an error concealment algorithm can be employed to provide replacement data to an output device in place of the corrupted data. Such error handling algorithms are particularly useful when the frames are processed in real-time, since an output device will continue to output a signal, for example to loudspeakers in the case of audio, or video monitor in the case of video. The concealment algorithm employed may be trivial, for example, repeating the last output sample or last output frame or data packet in place of the lost frame or packet. Alternatively, the algorithm may be more complex, or non-trivial.
In particular, there are a wide range of frame erasure concealment algorithms embedded in the current standard code excited linear prediction (CELP) coders that are based on extrapolating the speech coding parameters of an erased frame from the parameters of the last good frame. Such a technique is commonly referred to as an extrapolation method.
For example, a receiver using the extrapolation method, upon discovering an erased frame can attenuate an adaptive codebook gain gp and a fixed codebook gain gc by multiplying the gain of a previous frame by predefined attenuation factors. As a result, the speech coding parameters of the erased frame are basically assigned with slightly different or scaled-down values from the previous good frame. However, as described in greater detail below, the reduced gains can cause a fluctuating energy trajectory for the decoded signal and thus degrade the quality of an output signal.
The present invention provides a frame erasure concealment device and method that is based on reestimating gain parameters for a code excited linear prediction (CELP) coder. During operation, when a frame in a stream of received data is detected as being erased, the coding parameters, especially an adaptive codebook gain gp and a fixed codebook gain gc, of the erased and subsequent frames can be reestimated by a gain matching procedure.
Contrary to the extrapolation method, the present invention can include an additional block that reestimates the adaptive codebook gain and the fixed codebook gain for an erased frame along with subsequent frames. As a result, any abrupt change caused in a decoded excitation signal by a simple scaling down procedure, such as in the above-described extrapolation method, can be reduced. By using such a technique with an IS-641 speech coder, it has been found that the present invention improves the speech quality under various channel conditions, compared with the conventional extrapolation-based concealment algorithm.
The present invention will be readily appreciated and understood from consideration of the following detailed description of exemplary embodiments of the present invention, when taken with the accompanying drawings, wherein like numeral reference like elements, and wherein:
a-3e are a series of signal plots that represent exemplary speech patterns;
The input link 120, output link 150 and lossy channel 130 can be any known or later developed device or system for connection and transfer of data, including a direct cable connection, a connection over a wide area network or a local area network, a connection over an intranet, a connection over the Internet, or a connection over any other distributed network or system. Further, it should be appreciated that links 120 and 150 and channel 130 can be a wired or a wireless link.
The transmitter unit 110 can further include a framing circuit 111 and a signal emitter 112. The framing circuit 111 receives data from input link 120 and collects an amount of input data into a buffer to form a frame of input data. It is to be understood that the frame of input data can also include additional data necessary to decode the data at receiver unit 140. The signal emitter 112 receives the data from framing circuit 111 and transmits the data frames over lossy channel 130 to receiver unit 140.
The receiver unit 140 can further include a signal receiver 141, an error correction circuit 142 and a signal processor 143. The signal receiver circuit 141 can receive signals from lossy channel 130 and transmit the received data to error correction circuit 142. The error correction circuit can correct any errors in the received data and transmit the corrected data to signal processor 143. The signal processor 143 can then convert the corrected data into an output signal, such as by re-assembling the frames of received data into a signal representative of human speech.
The error correction circuit 142 detects certain types of transmission errors occurring during a transmission over lossy channel 130. Transmission errors can include any distortion or loss of the data between the time the data is input into the transmitter until it is needed by the receiver for processing into an output stream or for storage. Transmission errors are also considered to occur when the data is not received by the time that the output data are required for output link 150. If the data or data frames are error-free, the frame data can be transmitted to signal processor 143. Alternatively, if a transmission error has occurred, error correction circuit 142 can attempt to recover from the error and then transmit the corrected data to signal processor 143. Once signal processor 143 receives the data, the signal processor 143 can then reassemble the data into an output stream and transmit it as output data on link 150.
As described above, a currently used method of error correction is the extrapolation method. For example, in IS-641 speech coding, the number of consecutive erased frames is modeled by a state machine with seven states. State 0 means no frame erasure, and the maximum number of consecutive erased frames is six. During operation, if the n-th frame is detected as an erased frame, using the extrapolation method, the IS-641 speech coder extrapolates the speech coding or spectral parameters of an erased frame using the following equation:
ωn,i=Cωn−1,i+(1−C)ωdc,ii=1, . . . , p (1)
where ωn,i is the i-th line spectrum pairs (LSP) of the n-th frame and ωdc,i is the empirical mean value of the i-th LSP over a training database. The variable c is a forgetting factor set to 0.9, and p is the LPC analysis order of 10.
Depending on the state, an adaptive codebook gain gp and a fixed codebook gain gc can be obtained by multiplying predefined attenuation factors by the gains of the previous frame. In other words, gp=P(state) gp(−1) and gc=C(state) gc(−1), where gp(−1) and gc(−1) are the gains of the last good subframe. In IS-641, P(1)=0.98, P(2)=0.8, P(3)=0.6, P(4)=P(5)=P(6)=0.6 and C(1)=C(2)=C(3)=C(4)=0.98, C(5)=0.9, C(6)=0.6. Further, a long-term prediction lag T is slightly modified by adding one to the value of the previous frame, and the fixed codebook shape and indices are randomly set.
With the above method, the speech coding parameters are basically assigned with slightly different or scaled-down values from the previous good frame in order to prevent the speech decoder from generating a reverberant sound. However, in the case of a single frame erasure or less bursty frame erasures (in other words, when the state is 1 or 2), the reduced gains cause a fluctuating energy trajectory for the decoded speech and thus give an annoying effect to the listeners.
In operation, the frame erasure concealment device 300 can determine transmitter parameters from the received data. The transmitter parameters are encoded at the transmitting side, and can include: a long-term predication lag T; gain vectors gp and gc; fixed codebook; and linear prediction coefficients (LPC) A(z).
The long-term prediction lag T parameter can be used to represent the pitch interval of the speech signal, especially in the voiced region.
The adaptive and fixed codebook gain vectors gp and gc, respectively, are the scaling parameters of each codebook.
The fixed codebook can be used to represent the residual signal that is the remaining part of the excitation signal after long-term prediction.
And the LPC coefficients A(z) can represent the spectral shape (vocal tract) of the speech signal.
Based on the long-term prediction lag T, the adaptive codebook I 305 can generate an adaptive codebook vector v(n) that subsequently is passed through amplifier 315 and into summer 340. The amplifier 315 amplifies the adaptive codebook vector v(n) at a gain of gp, as derived from the transmitting parameters.
In a similar manner, based on the fixed codebook, a fixed codebook vector c(n) passes through amplifier 320 and into summer 340. The gain of amplifier 320 is equal to the gain vector gc as derived from the transmitting parameters.
The summer 340 then adds the amplified adaptive codebook vector, gp v(n), and the amplified fixed codebook vector, gc c(n), to generate an excitation signal u(n). The excitation signal u(n) is then transmitted to the synthesis filter 350. Additionally, the excitation signal u(n) is stored in the buffer along feedback path 1. The buffered information will be used to find the contribution of the adaptive codebook I 305 at the next analysis frame.
The synthesis filter 350 converts the excitation signal into reference signal ŝ(n). The reference signal is then transmitted to the mean squared error block 360.
Additionally, as shown in
The output of the summer 345 is the modified excitation signal u′(n). The modified excitation signal is transmitted to the synthesis filter 355. Additionally, the modified excitation signal is stored in the buffer along feedback path 2, which will be used to obtain the contribution of the adaptive codebook II 310 at the next analysis frame.
The synthesis filter 355 converts the modified excitation signal u′(n) into a modified reference signal ŝ′(n). For an erased frame, the reference signal ŝ(n) of the block diagram is obtained in a similar manner to that of the extrapolation method. One difference is that the state-dependent scaling factors P(state) and C(state) are modified to alleviate the abrupt gain change of the decoded signal. In other words, P(1)=1, P(2)=0.98, P(3)=0.8, P(4)=0.6, P(5)=P(6)=0.6 and C(1)=C(2)=C(3)=C(4)=C(5)=0.98, C(6)=0.9. In order to prevent unwanted spectral distortion, the constant of c in equation (1) can be set to 1, and the previous long-term prediction lag T without any modifications up to state 3 can be used. The modified reference signal is transmitted to the mean squared error block 360.
The mean squared error block 360 can determine new gain vectors g′p and g′c so that a difference between the two synthesized speech signals ŝ(n) and ŝ′(n) is minimized. In other words, g′p and g′c can be chosen according to equation (2):
where Ns is the subframe size and h(n) is the impulse response corresponding to 1/A(z). By setting the partial derivatives of equation (2) with respect to g′p and g′c to zero, the optimal values of g′p and g′c can be obtained.
From informal listening tests, it has been found that instead of using the optimal values of g′p, g′c, quantizing g′p, g′c gives a smoother energy trajectory for the synthesized speech. In other words, a gain quantization table can be used to store predetermined combinations of gain vectors g′c and g′p. Subsequently, entries in the gain quantization table can be systematically inserted into the equation (2), and a selection that minimizes equation (2) can ultimately be selected. This is a similar quantization scheme as used in the IS-641 speech coder. Also, the adaptive codebook memory and the prediction memory used for the gain quantization can be updated like the conventional speech decoding procedure.
As shown in
With the above-described frame erasure concealment device 300, when a frame is detected as being erased, the coding parameters, especially the adaptive codebook gain g′p and fixed codebook gain g′c, of the erased and subsequent frames are reestimated by a gain matching procedure. By doing so, any abrupt change caused in the decoded excitation signal by a simple scaling down procedure, such as in the extrapolation method, can be reduced. Further, this technique can be applied to the IS-641 speech coder in order to improve speech quality under various channel conditions, compared with the conventional extrapolation-based concealment algorithm.
The present invention can additionally be utilized as a preprocessor. In other words, this present invention can be inserted as a module just before the conventional speech decoder. Therefore, the invention can easily be expanded into the other CELP-based speech coders.
a-3e show an example of speech quality degradation when bursty frame erasure occurs.
d shows a speech pattern that is recreated from the original speech pattern by using the extrapolation methods, shown in
e shows a speech pattern that is recreated from the original speech pattern of
a-4d show a normalized logarithmic spectra obtained by both the extrapolation method and the present error concealment method, where the spectrum without any frame error is denoted by a dotted line. In this example, spectrum is obtained by applying a 256-point FFT to the corresponding speech segment of 30 ms duration. The starting time of the speech segment in
As evident from the figures, compared to the error-free spectrum, the present error concealment method gives a more accurate spectrum of the erased frames, especially in low frequency regions, than the extrapolation method. Further, the present error concealment method recovers the error-free spectrum more quickly than the conventional extrapolation method.
Below, Table I shows the PSQMs of the IS-641 decoded speech combined with the conventional frame erasure concealment algorithm and the error concealment method of the present invention. In order to show the effectiveness of the modified scaling factors, the proposed gain reestimation method has been implemented with the original IS-641 scaling factors and the performance is compared with the modified scaling factors.
As shown, the frame error rate (FER) is randomly changed from 3% to 10%. As FER increases, the PSQM increases for the two algorithms. However, the present error concealment algorithm has better (i.e., lower) PSQMs than the conventional algorithm for all the FERs. Accordingly, the gain reestimation method with the modified scaling factors gives better performance than that with the IS-641 scaling factors. This is because the probability that the consecutive frame erasure would occur goes higher as the FER increases.
Below, Table II shows the PSQMs according to the burstiness of FER, where the FER is set to 3%.
As shown, the present method with the modified scaling factors performs better than that with the IS-641 scaling factors in high burstiness. The speech quality is not always degraded as the burstiness increases. This is because the bursty frame errors can occur in the silence frames and luckily these errors doe not degrade speech quality. From the table, it was also found that the present gain reestimation method with the modified scaling factors was more robust than the conventional one.
Subsequently, an AB preference listening test was performed, where 8 speech sentences (4 males and 4 females) were processed by both the conventional algorithm and the proposed one under a random frame erasure of 3%. These sentences were presented to 8 listeners in a randomized order. The result in Table III shows that the present method gives better speech quality than the conventional one.
Further, the complexity of the present method was compared to the conventional one. The complexity estimates are based on evaluation with weighted million operations per second (WMOPS) counters. As shown in Table IV, the proposed algorithm needs an additional 0.98 WMOPS in worst case. This increased amount is relatively low compared to the total codec complexity that reaches more than 13 WMOPS.
While the present invention has been described in conjunction with the exemplary embodiments outlined above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the exemplary embodiments of the present invention, as set forth above, are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the present invention.
This application is a continuation of U.S. patent application Ser. No. 10/002,030 filed Oct. 26, 2001 entitled SYSTEM AND METHODS FOR CONCEALING ERRORS IN DATA TRANSMISSION, currently allowed as U.S. Pat. No. 7,379,865, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5642465 | Scott et al. | Jun 1997 | A |
6757654 | Westerlund et al. | Jun 2004 | B1 |
6842733 | Gao et al. | Jan 2005 | B1 |
6850884 | Gao et al. | Feb 2005 | B2 |
6937979 | Gao et al. | Aug 2005 | B2 |
6980528 | LeBlanc et al. | Dec 2005 | B1 |
6990195 | LeBlanc et al. | Jan 2006 | B1 |
7092365 | Tackin et al. | Aug 2006 | B1 |
7379865 | Kang et al. | May 2008 | B2 |
20020143527 | Gao et al. | Oct 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20080033716 A1 | Feb 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10002030 | Oct 2001 | US |
Child | 11871699 | US |