Compensator and compensation method for audio frame loss in modified discrete cosine transform domain

Information

  • Patent Grant
  • 8731910
  • Patent Number
    8,731,910
  • Date Filed
    Thursday, February 25, 2010
    14 years ago
  • Date Issued
    Tuesday, May 20, 2014
    10 years ago
Abstract
The invention provides a compensation method for audio frame loss in a MDCT domain, the method comprising: when a frame currently lost is a Pth frame, obtaining a set of frequencies to be predicted, and for each frequency in the set, using phases and amplitudes of a plurality of frames before a (P−1)th frame in a MDCT-MDST domain to predict a phase and an amplitude of the Pth frame, and using the predicted phase and amplitude to obtain a MDCT coefficient of the Pth frame at each corresponding frequency; for a frequency outside the set, using MDCT coefficients of a plurality of frames before the Pth frame to calculate a MDCT coefficient value of the Pth frame at the frequency; performing an IMDCT for the MDCT coefficients of the Pth frame to obtain a time domain signal of the Pth frame.
Description
TECHNICAL FIELD

The present invention relates to an audio decoding field, and especially to a compensator and compensation method for audio frame loss in a MDCT (modified discrete cosine transform) domain with no time delay and low complexity.


BACKGROUND OF THE RELATED ART

Packet technology is applied very widely in network communication. Various information, such as voice, audio or other data, are transmitted in the network after being encoded using the packet technology, such as VoIP (voice over Internet Protocol) and so on. The frame information loss of voice and audio resulted from the limitation of the transmission capacity of the information transmitting end, the packet information frame not arriving at the buffer area of the receiving end in a designated delay time, or network congestion and so on causes the quality of the synthetic voice and audio at the decoding end to reduce rapidly, so it needs to use some technologies to compensate for the data of frame loss. The frame loss compensator is precisely a technology which alleviates the reduction of voice and audio quality due to the frame loss. Currently there are many technologies for the frame loss compensation, but most of these technologies are suitable for voice frame loss compensation, while few related technologies for audio frame loss compensation.


The simplest existing method for audio frame loss compensation is a method of repeating the MDCT signal of the last frame or mute replacement. Although the method is simple to implement and has no delay, the compensation effect is average. Other compensation methods, such as GAPES (gap data amplitude phase estimation technology), convert a MDCT coefficient to a DSTFT (Discrete Short-Time Fourier Transform) coefficient. But the methods are of high complexity and large expense of memory. 3GPP performs the audio frame loss compensation with a shaping noise insertion technology, and the method has a good compensation effect for a noise-like signal but a rather worse compensation effect for a multiple-harmonic audio signal.


In general, most of the disclosed audio frame loss compensation technologies have unapparent effects, or are of high calculation complexity and excessively long delay time.


SUMMARY OF THE INVENTION

The technical problem to be solved by the invention is to provide a compensator and a compensation method for audio frame loss in a MDCT domain, and the invention has a good compensation result, a low complexity and no delay.


To solve the above problem, the invention provides a compensation method for audio frame loss in a modified discrete cosine transform domain, the method comprising:


step a, when a frame currently lost is a Pth frame, obtaining a set of frequencies to be predicted, and for each frequency in the set of frequencies to be predicted, using phases and amplitudes of a plurality of frames before (P−1)th frame in a MDCT-MDST (modified discrete cosine transform-modified discrete sine transform) domain to predict a phase and an amplitude of the Pth frame in the MDCT-MDST domain, using the predicted phase and amplitude of the Pth frame in the MDCT-MDST domain to obtain a MDCT (modified discrete cosine transform) coefficient of the Pth frame at the each frequency, wherein, the (P−1)th frame is the frame before the Pth frame;


step b, for a frequency in a frame outside the set of frequencies to be predicted, using MDCT coefficients of a plurality of frames before the Pth frame to calculate a MDCT coefficient of the Pth frame at the frequency;


step c, performing an IMDCT (inverse modified discrete cosine transform) for the MDCT coefficients of the Pth frame at all frequencies to obtain a time domain signal of the Pth frame.


The method may be further characterized in that, before the step a, the method further comprises: when detecting that a current frame is lost, judging a type of the currently lost frame, and performing the step a if the currently lost frame is a multiple-harmonic frame.


The method may be further characterized in that the step of judging a type of the currently lost frame comprises:


calculating a spectrum flatness of each frame in K frames before the currently lost frame; if a number of frames whose spectrum flatness is smaller than a threshold value is smaller than or equal to K0 in the K frames, the currently lost frame being a non-multiple-harmonic frame; if the number of frames whose spectrum flatness is smaller than the threshold value is greater than K0, the currently lost frame being a multiple-harmonic frame; wherein, K0<=K, and K0, K are natural numbers.


The method may be further characterized in that when obtaining the set of frequencies to be predicted in the step a, MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame are used to obtain a set SC of frequencies to be predicted, or, all frequencies in a frame are directly placed in the set SC of frequencies to be predicted.


The method may be further characterized in that, the step of using MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain the set SC of frequencies to be predicted comprises:


setting said a plurality of frames before the Pth frame as L1 frames, calculating a power of each frequency in the L1 frames, obtaining L1 sets of S1, . . . , SL1 composed of peak-value frequencies in each frame in the L1 frames, and a number of corresponding frequencies in each set being N1, . . . , NL1 respectively;


selecting a set Si from the L1 sets of S1, . . . , SL1, judging whether there is any frequency belonging to all other peak-value frequency sets simultaneously in mj, mj±1, . . . , mj±k for each peak-value frequency mj, j=1 . . . Ni in the Si, if yes, putting all the mj, m1±1, . . . , mj±k in the frequency set SC;


if there is no frequency belonging to all other peak-value frequency sets simultaneously for each peak-value frequency mj, j=1 . . . Ni in the Si, putting all the frequencies in a frame in the frequency set SC;


wherein, the k is a nonnegative integer.


The method may be further characterized in that the peak-value frequency refers to a frequency whose power is bigger than powers on two adjacent frequencies thereof.


The method may be further characterized in that when the L1 frames comprise the (P−1)th frame, the power of each frequency in the (P−1)th frame is calculated in the following way: |{circumflex over (v)}p−1(m)|2=[cp−1(m)]2+[cp−1(m+1)−cp−1(m−1)−cp−1(m−1)]2, wherein, |{circumflex over (v)}p−1(m)|2 is the power of a frequency m in the (P−1)th frame, cp−1(m) is the MDCT coefficient of the frequency m in the (P−1)th frame, cp−1(m+1) is the MDCT coefficient of the frequency m+1 in the (P−1)th frame, cp−1(m−1) is the MDCT coefficient of a frequency m−1 in the (P−1)th frame.


The method may be further characterized in that the step of predicting the phase and amplitude of the Pth frame in the MDCT-MDST domain in the step a comprises: for a frequency to be predicted, using phases of L2 frames before the (P−1)th frame in the MDCT-MDST domain at the frequency to perform a linear extrapolation or a linear fit to obtain the phase of the Pth frame in the MDCT-MDST domain at the frequency; obtaining the amplitude of the Pth frame in the MDCT-MDST domain at the frequency from an amplitude of one of the L2 frames in the MDCT-MDST domain at the frequency, wherein, L2>1.


The method may be further characterized in that, when L2=2, a t1th frame and a t2th frame are used to represent the two frames respectively, and the phase of the Pth frame in the MDCT-MDST domain is predicted in the following way: for a frequency m to be predicted,










φ
^

p



(
m
)


=



φ

t





1




(
m
)


+



p
-

t





1




t





1

-

t





2





[



φ

t





1




(
m
)


-


φ

t





2




(
m
)



]




,





wherein, the φp (m) is a predicted value of the phase of the Pth frame in the MDCT-MDST domain at the frequency m, the  t1(m) is a phase of the t1th frame in the MDCT-MDST domain at the frequency m, and the φt2 (m) is a phase of the t2th frame in the MDCT-MDST domain at the frequency m.


The method may be further characterized in that, when L2>2, for a frequency to be predicted, a linear fit is performed for phases of the L2 frames before the (P−1)th frame in the MDCT-MDST domain at the frequency to obtain the phase of the Pth frame in the MDCT-MDST domain at the frequency.


The method may be further characterized in that, in the step a, the set of frequencies to be predicted is obtained by using MDCT-MDST-domain complex signals of the (P−2)th frame and the (P−3)th frame and a MDCT coefficient of the (P−1)th frame; and for each frequency in the frequency set SC, the phase and amplitude of the Pth frame in the MDCT-MDST domain is predicted by using phases and amplitudes of the (P−2)th frame and the (P−3)th frame in the MDCT-MDST domain.


The method may be further characterized in that, in the step b, half of a MDCT coefficient of the (P−1)th frame is used as the MDCT coefficient of the Pth frame.


The invention also provides a compensator for audio frame loss in a modified discrete cosine transform domain, the compensator comprising a multiple-harmonic frame loss compensation module, a second compensation module and an IMDCT module, wherein:


the multiple-harmonic frame loss compensation module is configured to, when a frame currently lost is a Pth frame, obtain a set of frequencies to be predicted, and for each frequency in the set of frequencies to be predicted, use phases and amplitudes of a plurality of frames before a (P−1)th frame in a MDCT-MDST domain to predict a phase and an amplitude of the Pth frame in the MDCT-MDST domain, use the predicted phase and amplitude of the Pth frame in the MDCT-MDST domain to obtain a MDCT coefficient of the Pth frame at the each frequency, and transmit the MDCT coefficient to the second compensation module, wherein, the (P−1)th frame is a last frame of the Pth frame;


the second compensation module is configured to, for a frequency outside the set of frequencies to be predicted in a frame, use MDCT coefficients of a plurality of frames before the Pth frame to calculate a MDCT coefficient of the Pth frame at the frequency, and transmit the MDCT coefficients of the Pth frame at all frequencies to the IMDCT module;


the IMDCT module is configured to perform an IMDCT for the MDCT coefficients of the Pth frame at all frequencies to get a time domain signal of the Pth frame.


The compensator for frame loss may be further characterized in that the compensator further comprises a frame type detection module, wherein:


the frame type detection module is configured to, when detecting that a frame is lost, judge a type of the currently lost frame, and instruct the multiple-harmonic frame loss compensation module to make compensation if the currently lost frame is a multiple-harmonic frame.


The compensator for frame loss may be further characterized in that the frame type detection module is configured to judge the type of the currently lost frame in the following way: a spectrum flatness of each frame in K frames before the currently lost frame is calculated; if a number of frames whose spectrum flatness is smaller than a threshold value is smaller than K0 in the K frames, the currently lost frame is a non-multiple-harmonic frame; if the number of frames whose spectrum flatness is smaller than the threshold value is greater than K0, the currently lost frame is a multiple-harmonic frame; wherein, K0<=K, and K0, K are natural numbers.


The compensator for a frame loss may be further characterized in that, the multiple-harmonic frame loss compensation module comprises a frequency set generation unit, and the multiple-harmonic frame loss compensation module is configured to, through the frequency set generation unit, use MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain a set SC of frequencies to be predicted, or, put directly all frequencies in a frame in the set SC of frequencies to be predicted.


The compensator for a frame loss may be further characterized in that,


the frequency set generation unit is configured to use MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain the set SC of frequencies to be predicted in the following way:


setting a plurality of frames before the Pth frame as L1 frames, calculating a power of each frequency in the L1 frames, obtaining L1 sets of S1, . . . , SL1 composed of peak-value frequencies in each frame in the L1 frames, and a number of corresponding frequencies in each set being N1, . . . , NL1 respectively;


selecting a set Si from the L1 sets of S1, . . . , SL1, judging whether there is any frequency belonging to all other peak-value frequency sets simultaneously in mj, mj±1, . . . , mj±k for each peak-value frequency mj, j=1 . . . Ni in the Si; if yes, putting all the mj, mj±1, . . . , mj±k in the frequency set SC;


if there is no frequency belonging to all other peak-value frequency sets simultaneously, putting all the frequencies in a frame in the frequency set SC; wherein, the k is a nonnegative integer.


The compensator for frame loss may be further characterized in that the peak-value frequency refers to a frequency whose power is bigger than powers on two adjacent frequencies thereof.


The compensator for frame loss may be further characterized in that the frequency set generation unit is configured to, when the L1 frames comprise the (P−1)th frame, to calculate the power of each frequency in the (P−1)th frame in the following way: |{circumflex over (v)}p−1(m)|2=[cp−1(m)]2+[cp−1(m+1)−cp−1(m−1)]2, wherein, |{circumflex over (v)}p−1(m)|2 is the power of the frequency m in the (P−1)th frame, cp−1(m) is the MDCT coefficient of the frequency m in the (P−1)th frame, cp−1 (m+1) is the MDCT coefficient of the frequency m+1 in the (P−1)th frame, cp−1(m−1) is the MDCT coefficient of the frequency m−1 in the (P−1)th frame.


The compensator for frame loss may be further characterized in that,


the multiple-harmonic frame loss compensation module further comprises a coefficient generation unit, and the multiple-harmonic frame loss compensation module is configured to, through the coefficient generation unit, to use phases and amplitudes of the L2 frames before the (P−1)th frame in the MDCT-MDST domain to predict a phase and an amplitude of each frequency belonging to the set of frequencies to be predicted in the Pth frame, use the predicted phase and amplitude of the Pth frame to obtain the MDCT coefficient of the Pth frame corresponding to the each frequency, and transmit the MDCT coefficient to the second compensation module, wherein, L2>1;


the coefficient generation unit comprises a phase prediction sub-unit and an amplitude prediction sub-unit, wherein:


the phase prediction sub-unit is configured to, for a frequency to be predicted, use phases of L2 frames in the MDCT-MDST domain at the frequency to perform a linear extrapolation or a linear fit to obtain the phase of the Pth frame in the MDCT-MDST domain at the frequency;


the amplitude prediction sub-unit is configured to obtain the amplitude of the Pth frame in the MDCT-MDST domain at the frequency from an amplitude of one of the L2 frames in the MDCT-MDST domain at the frequency.


The compensator for frame loss may be further characterized in that the phase prediction sub-unit is configured to, when L2=2, predict the phase of the Pth frame in the MDCT-MDST domain in following way: for a frequency m to be predicted,










φ
^

p



(
m
)


=



φ

t





1




(
m
)


+



p
-

t





1




t





1

-

t





2





[



φ

t





1




(
m
)


-


φ

t





2




(
m
)



]




,





wherein, a t1th frame and a t2th frame represent two frames before the (P−1)th frame respectively, the {circumflex over (φ)}p(m) is a predicted value of the phase of the Pth frame in the MDCT-MDST domain at the frequency m, the φt1(m) is a phase of the t1th frame in the MDCT-MDST domain at the frequency m, the φt2(m) is a phase of the t2th frame in the MDCT-MDST domain at the frequency m.


The compensator for a frame loss may be further characterized in that the phase prediction sub-unit is configured to, when L2>2, predict the phase of the Pth frame in the MDCT-MDST domain in the following way: for a frequency to be predicted, performing a linear fit for phases of the selected L2 frames in the MDCT-MDST domain at the frequency to obtain the phase of the Pth frame in the MDCT-MDST domain at the frequency.


The compensator for frame loss may be further characterized in that the multiple-harmonic frame loss compensation module is configured to use MDCT-MDST-domain complex signals of the (P−2)th frame and the (P−3)th frame and a MDCT coefficient of the (P−1)th frame to obtain the set of frequencies to be predicted, and use phases and amplitudes of the (P−2)th frame and the (P−3)th frame in the MDCT-MDST domain to predict the phase and amplitude of the Pth frame in the MDCT-MDST domain for each frequency in the frequency set.


The compensator for frame loss may be further characterized in that the second compensation module is configured to use half of a MDCT coefficient value of the (P−1)th frame as the MDCT coefficient value of the Pth frame at a frequency outside the set of frequencies to be predicted.


Through the compensator and compensation method for audio frame loss in a MDCT domain proposed in the invention, for a non-multiple-harmonic, the MDCT coefficient of the currently lost frame is obtained by using the MDCT coefficient values of a plurality of frames before the currently lost frame through calculation; and for a multiple-harmonic, the MDCT coefficient of the currently lost frame is obtained by the characteristic of the currently lost frame in the MDCT-MDST domain. Compared with the prior art the invention has the advantages of no delay, small amount of calculation and small volume of memory space, easy implementation and so on.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is a diagram of the sequence of frames in the invention;



FIG. 2 is a flowchart of the compensation method for audio frame loss in a MDCT domain in the invention;



FIG. 3 is a flowchart for judging the multiple-harmonic frame/non-multiple-harmonic frame in the invention;



FIG. 4 is a flowchart of the compensation method for the frame loss for the multiple-harmonic frame in the invention;



FIG. 5 is a flowchart of the method for calculating the MDCT coefficient for the frame loss compensation of a multiple-harmonic frame in the Example 1 of the invention;



FIG. 6 is a block diagram of the compensator for audio frame loss in a MDCT domain in the invention;



FIG. 7 is a block diagram of the compensator for audio frame loss in a MDCT domain in another example of the invention;



FIG. 8 is a block diagram of the compensator for audio frame loss in a MDCT domain in still another example of the invention.





PREFERRED EMBODIMENTS OF THE PRESENT INVENTION

The main idea of the invention is as follows: the MDCT-MDST domain phase and amplitude of the currently lost frame are predicted by taking advantage of the characteristic that the phase of a harmonic signal is linear in a MDCT-MDST domain and using the information of a plurality of fames before the currently lost frame, thereby obtaining the MDCT coefficient of the currently lost frame, according to which, the time domain signal of the currently lost frame is further obtained.


The invention provides a compensation method for audio frame loss in a MDCT domain, as shown in FIG. 2, the method comprising:


step S1, when detecting that the data packet of the current frame is lost, a decoding end, calling the current frame as the currently lost frame, judging the type of the currently lost frame, and proceeding to step S2 if the currently lost frame is a non-multiple-harmonic frame; or else, proceeding to step S3;


wherein, the operation of judging the type of the currently lost frame is to make judgment according to the MDCT coefficients of K frames before the currently lost frame, as shown in FIG. 3, comprising:


1a) calculating the spectrum flatness of each frame of the K frames before the currently lost frame, and considering that the frame is mainly composed of multiple-harmonics and is a multiple-harmonic steady state signal frame if the spectrum flatness is smaller than a preset threshold;


1b) if the number of multiple-harmonic steady state signal frames in the K frames is smaller than or equal to K0 frames, considering that the currently lost frame is a non-multiple-harmonic, or else the currently lost frame is a multiple-harmonic (such as a music frame), wherein, K0<=K, K0 and K are preset values.


The invention is not limited to use the method shown in FIG. 3 to judge the type of the currently lost frame, and other methods may also be used to make judgment, for example, zero-pass ratio is used to make judgment, and the invention is not limited thereto.


step S2, if it is judged the currently lost frame is a non-multiple-harmonic frame, using the MDCT coefficient values of a plurality of frames before the currently lost frame to calculate the MDCT coefficient value of the currently lost frame for every frequency in the frame; then proceeding to step S4.


For example, half of or other ratios of the MDCT coefficient value of the last frame of the currently lost frame is used as the MDCT coefficient value of the currently lost frame.


step S3, if it is judged the currently lost frame is a multiple-harmonic frame, getting through estimation the MDCT coefficient value of the currently lost frame by using the no delay multiple-harmonic frame loss compensation algorithm, as shown in FIG. 4, which specifically comprises:


3a) when the Pth frame is lost, i.e. the currently lost frame is the Pth frame, taking L1 frames before the Pth frame.


When the L1 frames comprise the (P−1)th frame, FMDST (Fast Modified Discrete Sine Transform) algorithm is used to obtain the MDST (Modified Discrete Sine Transform) coefficients of L1−1 frames in the L1 frames except the (P−1)th frame according to the MDCT coefficients obtained through decoding of the frames before the currently lost frame. For the each frame in the L1−1 frames, the MDCT-MDST-domain complex signal of each frame is composed of the MDST coefficient and the MDCT coefficient of the frame, wherein, the MDCT coefficient is the real part parameter, and the MDST coefficient is the imaginary part parameter.


When the L1 frames do not comprise the (P−1)th frame, the FMDST algorithm is used to obtain the MDST coefficients of the L1 frames according to the MDCT coefficients obtained through the decoding of the frames before the currently lost frame. For the each frame in the L1 frames, the MDCT-MDST-domain complex signal of each frame is composed of the MDST coefficient and the MDCT coefficient of the frame, wherein, the MDCT coefficient is the real part parameter, and the MDST coefficient is the imaginary part parameter.


Wherein, the method for calculating the MDST coefficient is as follows:


an inverse MDCT transformation is performed to obtain the time domain signal of the (P−2)th frame according to the MDCT coefficients of the (P−1)th frame and the (P−2)th frame, and an inverse MDCT transformation is performed to obtain the time domain signal of the (P−3)th frame according to the MDCT coefficients of the (P−2)th frame and the (P−3)th frame, and so forth;


the FMDST algorithm is used to obtain the MDST coefficient of the (P−2)th frame according to the time domain signals of the (P−2)th frame and the (P−3)th frame, and the FMDST algorithm is used to obtain the MDST coefficient of the (P−3)th frame according to the time domain signals of the (P−3)th frame and the (P−4)th frame, and so forth.


Wherein, the sequence of the Pth frame, the (P−1)th frame and other frames are as shown in FIG. 1.


3b) finding the set of peak-value frequencies for each frame in the above L1 frames.


If the L1 frames comprise the (P−1)th frame, then:


for the (P−1)th frame, the power of each frequency in the (P−1)th frame is calculated according to the MDCT coefficient of the (P−1)th frame, and the set composed of a plurality of preceding frequencies having the biggest power is obtained;


for each frame other than the (P−1)th frame, the power of each frequency in the frame is calculated according to the MDCT-MDST-domain complex signal of the frame, and the set composed of a plurality of preceding frequencies having the biggest power is obtained; wherein, the peak-value frequency refers to the frequency whose power is bigger than the powers on the two adjacent frequencies thereof.


If the L1 frames do not comprise the (P−1)th frame, then:


for each frame in the L1 frames, the set composed of a plurality of preceding frequencies having the biggest powers is obtained according to the MDCT-MDST-domain complex signal of the frame,


the number of frequencies in the L1 sets may be the same or different.


The L1 sets may be also obtained by other methods, for example, the set composed of peak-value frequencies whose powers are greater than a set threshold is taken for each frame, and the threshold for each frame may be the same or different.


3c) if L1>1, assuming that the L1 frequency sets are named as S1, . . . , SL1, and the number of the corresponding frequencies in the sets are N1, . . . , NL1, selecting a set Si, and judging, for each peak-value frequency mj (j=1 . . . Ni) in the Si, whether any frequency among mj, mj±1, . . . , mj±K (K is a nonnegative integer, which is commonly to be K=0 or 1) belongs simultaneously to all the other peak-value frequency sets, if yes, putting all the mj, mj±1, . . . , mj±K in the frequency set SC.


If there is no frequency among the mj, mj±1, . . . , mj±K, for each peak-value frequency mj (j=1 . . . Ni) in the Si, belonging simultaneously to all the other peak-value frequency sets, all the frequencies in the frame are directly put in the frequency set SC.


If L1=1, it is assumed that the frequency set is named as S1, and the corresponding number of frequencies is N1, for each peak-value frequency mi (i=1 . . . N1) in the peak-value frequency set S1, all the mi, mi±1, . . . , mi±K (K is a nonnegative integer, which is commonly selected as K=0 or 1) are put in the frequency set SC.


The above sections of steps 3a, 3b and 3c may also not be performed, and all the frequencies in a frame are directly put in the frequency set SC.


3d) taking L2 (L2>1) frames before the (P−1)th frame, calculating and obtaining the MDCT-MDST-domain complex signals of the L2 frames (the specific calculation method is the same with the method in the step 3a). For each frequency in the frequency set SC, the phase of the currently lost frame in the MDCT-MDST domain is obtained by using the phases of the L2 frames in the MDCT-MDST domain, and the amplitude of the currently lost frame in the MDCT-MDST domain is obtained by using the amplitudes of the L2 frames in the MDCT-MDST domain, and then the MDCT coefficient of the currently lost frame corresponding to each frequency is obtained according to the phase and amplitude of the currently lost frame.


If L2=2, for all the frequencies in the frequency set SC, the phases of the two selected frames at each frequency to be predicted are used to perform linear extrapolation to obtain the phase of the MDCT-MDST-domain complex signal of the currently lost frame at the frequency; the amplitude of the MDCT-MDST-domain complex signal of the currently lost frame at the frequency is obtained from the MDCT-MDST domain amplitude of one of the two frames at the frequency, i.e. the MDCT-MDST domain amplitude of one of the two frames at the frequency is used as the MDCT-MDST domain amplitude of the currently lost frame at the frequency.


One method for the linear extrapolation is as follows:


when L2=2, the t1th frame and the t2th frame are used to represent the two frames respectively, the phase of the MDCT-MDST domain of the Pth frame is predicted in the following way: for the frequency m to be predicted,










φ
^

p



(
m
)


=



φ

t





1




(
m
)


+



p
-

t





1




t





1

-

t





2





[



φ

t





1




(
m
)


-


φ

t





2




(
m
)



]




,





the {circumflex over (φ)}p(m) is the predicted value of the phase of the Pth frame in the MDCT-MDST domain at the frequency m, the φt1(m) is the phase of the t1th frame in the MDCT-MDST domain at the frequency m, and the φt2(m) is the phase of the t2th frame in the MDCT-MDST domain at the frequency m.


If L2>2, for all the frequencies in the set SC, the MDCT-MDST domain phases of the L2 frames at each frequency to be predicted are used to perform linear fit to get the phase of the MDCT-MDST-domain complex signal of the currently lost frame at the frequency; the amplitude of the MDCT-MDST-domain complex signal of the currently lost frame at the frequency is obtained from the MDCT-MDST domain amplitude of one of the two frames at the frequency, i.e. the MDCT-MDST domain amplitude of one of the two frames at the frequency is used as the MDCT-MDST domain amplitude of the currently lost frame at the frequency.


3e) for a frequency outside the frequency set SC, calculating the MDCT coefficient value of the Pth frame using the MDCT coefficient values of a plurality of frames before the Pth frame. For example, half of the MDCT coefficient value of the last frame of the currently lost frame is used as the MDCT coefficient value of the currently lost frame.


In another example of the invention, in step S3 or before the step 3a, the step “using the MDCT coefficient values of a plurality of frames before the currently lost frame to calculate the MDCT coefficient value of the currently lost frame for every frequency in the frame” is performed, and then steps 3a, 3b, 3c and 3d are performed, and then step 3e is skipped to enter the step S4.


Other variations may be performed, for example, step 3e may be performed after the step 3c and before the step S4, i.e. may be performed just after the frequency set SC is obtained.


Step S4, performing an IMDCT (inverse MDCT) transformation for the MDCT coefficients of the currently lost frame at all the frequencies to obtain the time domain signal of the currently lost frame.


The above example may have the following variations: firstly, the initial compensation is performed, i.e. the MDCT coefficient value of the Pth frame is calculated by using the MDCT coefficient values of a plurality of frames before the Pth frame, and then the type of the currently lost frame is judged, and different steps are performed according to the type of the currently lost frame; the step S4 is directly performed if the frame is a non-multiple-harmonic frame, and if the frame is a multiple-harmonic frame, steps 3a, 3b, 3c and 3d in the step S3 are performed and then the step 3e is skipped to perform the step S4 directly.


The invention will be further illustrated below with reference to two specific examples.


EXAMPLE 1

Step 110, a decoding end judges whether the current frame (i.e. currently lost frame) is a multiple-harmonic frame (for example, a music frame composed of various harmonics) or not when detecting data packet loss of the current frame, and performs step 120 if the current frame is a non-multiple-harmonic frame, or else, performs the step 130.


The specific judging method is:


calculating the spectrum flatness of 10 frames before the currently lost frame, and considering the frame to be a multiple-harmonic steady state signal frame when the spectrum flatness is smaller than 0.1; if more than 8 frames in the 10 frames before the lost frame are multiple-harmonic steady state signal frames, considering the currently lost frame to be a multiple-harmonic frame, or considering the currently lost frame to be a non-multiple-harmonic frame. The method for calculating the spectrum flatness is as follows:


the spectrum flatness of the ith frame SFMi is defined as the ratio of the geometric mean to the algorithm mean of the amplitude of the transformation domain signal of the ith frame signal:










SFM
i

=


G
i


A
i






(
1
)







wherein,







G
i

=


(




m
=
0


M
-
1







c
i



(
m
)





)


1
M







is the geometric mean of the amplitude of the ith frame signal,







A
i

=


1
M






m
=
0


M
-
1







c
i



(
m
)











is the algorithm mean of the amplitude of the ith frame signal, ci(m) is the MDCT coefficient of the ith frame at the frequency m, and M is the length of the MDCT domain signal frame.


Step 120, if the currently lost frame is judged to be a non-multiple-harmonic frame, half of the MDCT coefficient value of the last frame of the currently lost frame is used as the MDCT coefficient value of the currently lost frame for every frequency in the frame, i.e.

cp(m)=0.5*cp−1(m) m=0,1,2,3 . . . M−1  (2)


then step 140 is performed.


Step 130, if the currently lost frame is judged to be a multiple-harmonic frame, the MDCT coefficient of the currently lost frame is obtained by using the no delay multiple-harmonic frame loss compensation algorithm, and the step 140 is performed.


The specific method for using the no delay multiple-harmonic frame loss compensation algorithm to obtain the MDCT coefficient of the currently lost frame is as shown in FIG. 5, comprising: when the data packet of the Pth frame is lost,


firstly, using half of the MDCT coefficient value of the (P−1)th frame at the frequency as the MDCT coefficient value of the Pth frame at the frequency for all the frequencies in a frame, as shown in formula (2);


then, using FMDST algorithm to obtain the MDST coefficients sp−2(m) and sp−3(m) of the (P−2)th frame and the (P−3)th frame according to the MDCT coefficients, which are obtained through decoding, of the frames before the currently lost frame. The obtained MDST coefficients of the (P−2)th frame and the (P−3)th frame and the MDCT coefficients of the (P−2)th frame and the (P−3)th frame cp−2(m) and cp−3(m) compose the complex number signals in the MDCT-MDST domain:

vp−2(m)=cp−2(m)+jsp−2(m)  (3)
vp−3(m)=cp−3(m)+jsp−3(m)  (4)


wherein, j is an imaginary number symbol;


calculating the power of each frequency in the (P−2)th frame and the (P−3)th frame |vp−2(m)|2,|vp−3(m)|2, composing the frequency sets mp−2, mp−3 by taking the first 10 peak-value frequencies having the biggest power respectively in the (P−2)th frame and the (P−3)th frame (if the number of the peak-value frequencies in any frame is less than 10, all the peak-value frequencies in the frame are taken);


estimating the power of each frequency in the (P−1)th frame according to the MDCT coefficient of the (P−1)th frame.

|{circumflex over (v)}p−1(m)|2=[cp−1(m)]2+[cp−1(m+1)−cp−1(m−1)]2  (5)


wherein, |{circumflex over (v)}p−1(m)|2 is the power of the (P−1)t′ frame at the frequency m, cp−1(m) is the MDCT coefficient of the (P−1)th frame at the frequency m, the rest is similar;


obtaining through calculation the first 10 peak-value frequencies having the biggest power in the (P−1)th frame mip−1, i=1 . . . 10, wherein if the number of the peak-value frequencies in any frame is less than 10, all the peak-value frequencies in the frame mip−1, i=1 . . . Np−1, are taken;


for each mip−1, judging whether any of mip−1, mip−1±1 (frequencies near the peak-value frequency are added to the peak-value frequency set of the (P−1)th frame, because their power may be also very big) belongs to the sets mp−2, mp−3 simultaneously, if yes, obtaining the phase and amplitude of the MDCT-MDST-domain complex signal of the Pth frame at frequencies mip−1, mip−1±1 (the following calculation is made for all the three frequencies mip−1, mip−1±1 as long as one of the mip−1, mip−1±1 belongs to mp−2, mp−3 simultaneously) according to the following formulas (6)-(11):

φp−2(m)=∠vp−2(m)  (6)
φp−3(m)=∠vp−3(m)  (7)
Ap−2(m)=|vp−2(m)|  (8)
Ap−3(m)=|vp−3(m)|  (9)
{circumflex over (φ)}p(m)=φp−2(m)+2[φp−2(m)−φp−3(m)]  (10)
Âp(m)=Ap−2(m)  (11)


wherein, φ, A represent phase and amplitude respectively. For example, {circumflex over (φ)}p(m) is the phase of the Pth frame at the frequency m, {circumflex over (φ)}p−2(m) is the phase of the (P−2)th frame at the frequency m, {circumflex over (φ)}p−3(m) is the phase of the (P−3)th frame at the frequency m, Âp(m) is the amplitude of the Pth frame at the frequency m, and Âp−2(m) is the amplitude of the (P−2)th frame at the frequency m, the rest is similar;


accordingly, the MDCT coefficient of the Pth frame at the frequency m obtained through compensation is

ĉp(m)=Âp(m)cos [{circumflex over (φ)}p(m)]  (12)


if no frequency in all the mip−1, mip−1±1 belongs to the sets mp−2, mp−3 simultaneously, estimating the MDCT coefficients for all the frequencies in the currently lost frame according to the formulas (6) to (12).


The operation of calculating the frequencies to be predicted may also not be performed, and MDCT coefficients are directly estimated according to the formulas (6) to (12) for all the frequencies in the currently lost frame.


Step 140, IMDCT transformation is performed for the MDCT coefficients of the currently lost frame at all the frequencies to obtain the time domain signal of the currently lost frame.


EXAMPLE 2

Step 210, a decoding end judges whether the current frame (i.e. currently lost frame) is a multiple-harmonic frame (for example, a music frame composed of various harmonics) or not when detecting data packet loss of the current frame, and performs step 220 if the current frame is a non-multiple-harmonic frame, or else, performs the step 230.


The specific method for judging whether the currently lost frame is a multiple-harmonic frame or not is:


calculating the spectrum flatness of 10 frames before the currently lost frame, and for each frame, considering the frame to be a multiple-harmonic steady state signal frame when the spectrum flatness is smaller than 0.1; if more than 8 frames in the 10 frames before the lost frame are multiple-harmonic steady state signal frames, considering the currently lost frame to be a multiple-harmonic frame, otherwise considering the currently lost frame to be a non-multiple-harmonic frame. Wherein, the calculating method of the spectrum flatness is as follows:


the spectrum flatness of the ith frame SFMi is defined as the ratio of the geometric mean to the algorithm mean of the amplitude of the transformation domain signal of the ith frame signal:










SFM
i

=


G
i


A
i






(
13
)







wherein,







G
i

=


(




m
=
0


M
-
1







c
i



(
m
)





)


1
M







is the geometric mean of the amplitude of the ith frame signal,







A
i

=


1
M






m
=
0


M
-
1







c
i



(
m
)











is the algorithm mean of the amplitude of the ith frame signal, ci(m) is the MDCT coefficient of the ith frame at the frequency m, and M is the length of the MDCT domain signal frame.


Step 220, if the currently lost frame is judged to be a non-multiple-harmonic frame, half of the MDCT coefficient value of the last frame of the currently lost frame is used as the MDCT coefficient value of the currently lost frame for every frequency in the frame, i.e.

cp(m)=0.5*cp−1(m)m=0,1,2,3 . . . M−1  (14)


then step 240 is performed.


Step 230, if the currently lost frame is judged to be a multiple-harmonic frame, the MDCT coefficient of the currently lost frame is obtained by using the no delay multiple-harmonic frame loss compensation algorithm, and the step 240 is performed.


The specific method for using the no delay multiple-harmonic frame loss compensation algorithm to obtain the MDCT coefficient of the currently lost frame is: when the data packet of the Pth frame is lost, using FMDST algorithm to obtain the MDST coefficients sp−2(m), sp−3(m) and sp−4(m) of the (P−2)th frame, the (P−3)th frame, and the (P−4)th frame according to the MDCT coefficients, which are obtained through decoding, of the frames before the currently lost frame. The obtained MDST coefficients of the (P−2)th frame, the (P−3)th frame, and the (P−4)th frame and the MDCT coefficients of the (P−2)th frame, the (P−3)th frame, and the (P−4)th frame cp−2(m), cp−3(m) and cp−4(m) compose the complex number signals in the MDCT-MDST domain:

vp−2(m)=cp−2(m)+jsp−2(m)  (15)
vp−3(m)=cp−3(m)+jsp−3(m)  (16)
vp−4(m)=cp−4(m)+jsp−4(m)  (17)


wherein, j is an imaginary number symbol.


calculating the power of each frequency in the (P−2)th frame, the (P−3)th frame and the (P−4)th frame |vp−2(m)|2, |vp−3(m)|2,|vp−4(m)|2, composing the frequency sets mp−2, mp−3, mp−4 taking the first 10 peak-value frequencies having the biggest power respectively in the (P−2)th frame, the (P−3)th frame and the (P−4)th frame (if the number of the peak-value frequencies in any frame is less than 10, all the peak-value frequencies in the frame are taken);


for each frequency mip−4 in the frequency set mp−4, judging whether any of mip−4, mip−4±1 (frequencies near the peak-value frequency are added to the peak-value frequency set of the P−4 frame, because their power may be also very big) belongs to the sets mp−2, mp−3 simultaneously, and if yes, obtaining the phase and amplitude of the MDCT-MDST-domain complex signal of the Pth frame at frequencies mip−1, mip−1±1 (the following calculation is made for all the three frequencies mip−1, mip−1±1 as long as one of the mip−1, mip−1±1 belongs to mp−2, mp−3 simultaneously) according to the following formulas (18)-(27):

φp−2(m)=∠vp−2(m)  (18)
φp−3(m)=∠vp−3(m)  (19)
φp−4(m)=∠vp−4(m)  (20)
Ap−2(m)=|vp−2(m)|  (21)
Ap−3(m)=|vp−3(m)|  (22)
Ap−4(m)=|vp−4(m)|  (23)
Âp(m)=Ap−2(m)  (24)


wherein, φ, A represents phase and amplitude respectively. For example, {circumflex over (φ)}p(m) is the phase of the Pth frame at the frequency m, {circumflex over (φ)}p−2(m) is the phase of the (P−2)th frame at the frequency m, {circumflex over (φ)}p−3(m) is the phase of the (P−3)th frame at the frequency m, Âp(m) is the amplitude of the Pth frame at the frequency m, and Âp−2(m) is the amplitude of the (P−2)th frame at the frequency m, the rest is similar.


The least square method is used in the following to calculate a linear fit function of the phases of different frames at the same frequency

φ(m)=a0+a1x  (25)


wherein, x indicates a frame sequence number, a0, a1 indicate the coefficients of the linear fit function to be calculated.


a0, a1 are obtained from the following system of formulas according to the method for measuring the fitting error using the least squares criterion











[



3







k
=
2

4


p

-
k










k
=
2

4


p

-
k







k
=
2

4




(

p
-
k

)

2





]



[




a
0






a
1




]


=

[







k
=
2

4




φ

p
-
k




(
m
)











k
=
2

4




(

p
-
k

)




φ

p
-
k




(
m
)







]





(
26
)







In other examples, the fitting error may also be measured and the fitting coefficients may be estimated using criterions other than the least squares criterion. The phase of the Pth frame at the frequency m then may be estimated according to the obtained a0, a1
{circumflex over (φ)}p(m)=a0+a1p  (27)


accordingly, the MDCT coefficient of the Pth frame at the frequency m obtained through compensation is

ĉp(m)=Âp(m)cos [{circumflex over (φ)}p(m)]  (28)


If any frequency in all the mip−4, mip−4±1 belongs to the sets mp−2, mp−3 simultaneously, SC is used to indicate the set composed of all the frequencies compensated according to the above formulas (18)-(28), and half of the MDCT coefficient value of the last frame of the currently lost frame is taken as the MDCT coefficient value of the currently lost frame for the frequency which is outside the frequency set Sc in the frame.


If no frequency in all the mip−4, mip−4±1 belongs to the sets mp−2, mp−3 simultaneously, the MDCT coefficients are estimated for all the frequencies in the currently lost frame according to the formulas (18) to (28).


The operation of calculating the frequencies to be predicted may also not be performed, and MDCT coefficients are directly estimated according to the formulas (18) to (28) for all the frequencies in the currently lost frame.


Step 240, IMDCT transformation is performed for the MDCT coefficients of the currently lost frame at all the frequencies to obtain the time domain signal of the currently lost frame.


The invention also provides a compensator for audio frame loss in a MDCT domain, the compensator comprising a frame type detection module, a non-multiple-harmonic frame loss compensation module, a multiple-harmonic frame loss compensation module, a second compensation module and an IMDCT module, as shown in FIG. 6, wherein:


the frame type detection module is configured to judge the type of the currently lost frame when detecting that the current frame is lost, and instruct the non-multiple-harmonic frame loss compensation module to compensate if the currently lost frame is a non-multiple-harmonic frame; instruct the multiple-harmonic frame loss compensation module to compensate if the currently lost frame is a multiple-harmonic frame; the specific method for judging the type of the currently lost frame is as previously described, and thus will not be described here;


the non-multiple-harmonic frame loss compensation module is configured to, for all frequencies in a frame, use the MDCT coefficient values of a plurality of frames before the currently lost frame to calculate the MDCT coefficient value of the currently lost frame, and transmit the MDCT coefficient to the IMDCT module;


the multiple-harmonic frame loss compensation module is configured to, when the currently lost frame is the Pth frame, obtain a set of frequencies to be predicted, and for each frequency in the set of frequencies to be predicted, use the phases and amplitudes of a plurality of frames before (P−1)th frame in a MDCT-MDST domain to predict a phase and an amplitude of the Pth frame in the MDCT-MDST domain, use the predicted phase and amplitude of the Pth frame in the MDCT-MDST domain to obtain a MDCT coefficient of the Pth frame at the each frequency, and transmit the MDCT coefficient to the second compensation module, wherein, the (P−1)th frame is a last frame of the Pth frame;


the multiple-harmonic frame loss compensation module is configured to use MDCT-MDST-domain complex signals of the (P−2)th frame and the (P−3)th frame and a MDCT coefficient of the (P−1)th frame to obtain the set of frequencies to be predicted, and use phases and amplitudes of the (P−2)th frame and the (P−3)th frame in the MDCT-MDST domain to predict the phase and amplitude of the Pth frame in the MDCT-MDST domain for each frequency in the frequency set.


When getting the set of frequencies to be predicted, the multiple-harmonic frame loss compensation module uses MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain the set of frequencies to be predicted, or, put directly all frequencies in a frame in the frequency set.


The second compensation module is configured to, for a frequency outside the set of frequencies to be predicted in a frame, use MDCT coefficient values of a plurality of frames before the Pth frame to calculate a MDCT coefficient of the Pth frame at the frequency, transmit the MDCT coefficients of the Pth frame at all frequencies to the IMDCT module; furthermore, the second compensation module uses half of a MDCT coefficient value of the (P−1)th frame as the MDCT coefficient value of the Pth frame at a frequency outside the set of frequencies to be predicted.


The multiple-harmonic frame loss compensation module further comprises a frequency set generation unit and a coefficient generation unit, wherein,


the frequency set generation unit is configured to generate the set SC of frequencies to be predicted;


the coefficient generation unit is configured to use phases and amplitudes of the L2 frames before the (P−1)th frame in the MDCT-MDST domain to predict a phase and an amplitude of each frequency belonging to the set SC of frequencies in the Pth frame, use the predicted phase and amplitude of the Pth frame in the MDCT-MDST domain to obtain the MDCT coefficient of the Pth frame at each corresponding frequency, and transmit the MDCT coefficient to the second compensation module, wherein, L2>1.


The frequency set generation unit is configured to generate the set SC of frequencies to be predicted: setting a plurality of frames before the Pth frame as L1 frames, calculating the power of each frequency in the L1 frames, and obtaining the sets of S1, . . . , SL1 composed of peak-value frequencies in each frame in the L1 frames, the number of frequencies corresponding to each set being N1, . . . , NL1 respectively;


selecting a set Si from the L1 sets S1, . . . , SL1, judging whether any frequency in mj, mj±1, . . . , mj±k belongs simultaneously to all other peak-value frequency sets for each peak-value frequency mj, j=1 . . . Ni in the Si; if yes, putting all the mj, mj±1, . . . , mj±k in the frequency set SC;


if no frequency in mj, mj±1, . . . , mj±k belongs to all other peak-value frequency sets simultaneously for each peak-value frequency mj, j=1 . . . Ni in the Si, putting all the frequencies in a frame in the frequency set SC;


wherein, the k is a nonnegative integer. The peak-value frequency refers to a frequency whose power is bigger than powers on two adjacent frequencies thereof.


When (P−1)th frame is comprised in the L1 frames, the frequency set generation unit calculates the power of each frequency in the (P−1)th frame in the following way: |{circumflex over (v)}p−1(m)|2=[cp−1(m)]2+[cp−1(m+1)−cp−1(m−1)]2, wherein |{circumflex over (v)}p−1(m)|2 is the power of the frequency m in the (P−1)th frame, cp−1(m) is the MDCT coefficient of the frequency m in the (P−1)th frame, cp−1(m+1) is the MDCT coefficient of the frequency m+1 in the (P−1)th frame, cp−1(m−1) is the MDCT coefficient of the frequency m−1 in the (P−1)th frame.


The coefficient generation unit further comprises a phase prediction sub-unit and an amplitude prediction sub-unit, wherein,


the phase prediction sub-unit is configured to, for a frequency to be predicted, use the phases of L2 frames in the MDCT-MDST domain at the frequency to perform a linear extrapolation or a linear fit to obtain the phase of the Pth frame in the MDCT-MDST domain at the frequency;


the amplitude prediction sub-unit is configured to obtain the amplitude of the Pth frame in the MDCT-MDST domain at the frequency from an amplitude of one of the L2 frames in the MDCT-MDST domain at the frequency.


When L2=2, t1th frame, t2th frame are used to represent the two frames respectively, and the phase prediction sub-unit predicts the phase of the Pth frame in the MDCT-MDST domain in the following way: for the frequency m to be predicted,










φ
^

p



(
m
)


=



φ

t





1




(
m
)


+



p
-

t





1




t





1

-

t





2





[



φ

t





1




(
m
)


-


φ

t





2




(
m
)



]




,





the {circumflex over (φ)}p(m) is a predicted value of the phase of the Pth frame in the MDCT-MDST domain at the frequency m, the φt1(m) is the phase of the t1th frame in the MDCT-MDST domain at the frequency m, the φt2(m) is the phase of the t2th frame in the MDCT-MDST domain at the frequency m.


When L2>2, the phase prediction sub-unit predicts the phase of the Pth frame in the MDCT-MDST domain in the following way: for a frequency to be predicted, perform a linear fit for the phases of the selected L2 frames in the MDCT-MDST domain at the frequency to obtain the phase of the Pth frame in the MDCT-MDST domain at the frequency.


The IMDCT module is configured to perform an IMDCT for the MDCT coefficients of the Pth frame at all frequencies to obtain the time domain signal of the Pth frame.


The compensator for audio frame loss in a MDCT domain shown in FIG. 6 may vary, as shown in FIG. 7, to comprise a frame type detection module, a non-multiple-harmonic frame loss compensation module, a multiple-harmonic frame loss compensation module, a second compensation module and an IMDCT module, the second compensation module being connected to the frame type detection module and the multiple-harmonic frame loss compensation module, the multiple-harmonic frame loss compensation module connected to the IMDCT module, wherein:


the second compensation module is configured to, for all frequencies in a frame, use MDCT coefficient values of a plurality of frames before the currently lost frame to calculate a MDCT coefficient value of the currently lost frame, and transmit the MDCT coefficient to the multiple-harmonic frame loss compensation module;


the multiple-harmonic frame loss compensation module is configured to obtain a set of frequencies to be predicted, and obtain a MDCT coefficient of the Pth frame at each frequency in the set of frequencies to be predicted, the specific method being the same as the multiple-harmonic frame loss compensation module in the FIG. 6; for each frequency outside the set of frequencies to be predicted, use the MDCT coefficient obtained from the second compensation module as the MDCT coefficient of the Pth frame at the frequency, and transmit the MDCT coefficients of the Pth frame at all the frequencies to the IMDCT module.


The functions of other modules are similar to those of the modules in FIG. 6 and thus will not be repeated here.


As shown in FIG. 8, it is another block diagram of the compensator for audio frame loss in a MDCT domain in the invention, wherein, the compensator for audio frame loss in a MDCT domain comprises a non-multiple-harmonic frame loss compensation module, a frame type detection module, a multiple-harmonic frame loss compensation module, and an IMDCT module, wherein:


the non-multiple-harmonic frame loss compensation module is configured to, when detecting a lost frame, use the MDCT coefficient values of a plurality of frames before the currently lost frame to calculate the MDCT coefficient value of the currently lost frame for all frequencies in a frame, and transmit the MDCT coefficient to the frame type detection module;


the frame type detection module is configured to judge the type of the currently lost frame, and if the currently lost frame is a non-multiple-harmonic, transmit the MDCT coefficient received from the non-multiple-harmonic frame loss compensation module to the IMDCT module; if the currently lost frame is a multiple-harmonic, transmit the MDCT coefficient to the multiple-harmonic frame loss compensation module; the specific method for judging the type of the currently lost frame is the same as above mentioned and thus will not be repeated here.


The multiple-harmonic frame loss compensation module is configured to obtain a set of frequencies to be predicted, and obtain a MDCT coefficient of the Pth frame at each frequency in the set of frequencies to be predicted, the specific method being the same as the multiple-harmonic frame loss compensation module in the FIG. 6; for each frequency outside the set of frequencies to be predicted, use the MDCT coefficient obtained from the frame type detection module as the MDCT coefficient of the Pth frame at the frequency, and transmit the MDCT coefficients of the Pth frame at all the frequencies to the IMDCT module;


the IMDCT module is configured to perform an IMDCT for the MDCT coefficients of the currently lost frame at all frequencies to obtain a time domain signal of the Pth frame.


The compensation method and the compensator for audio frame loss disclosed in the invention may be applied to solve the problem of audio frame loss compensation in the real time two-way communication field, such as wireless, IP video conference and the real time broadcasting service field, such as IPTV, mobile streaming media, mobile TV and other fields to improve anti-error ability of a transmitted bit stream. The invention well avoids the reduction of speech quality brought by the packet loss during a voice audio network transmission through the compensation operation, improves the comfort of the voice audio quality after a packet loss, and obtains a great subjective sound effect.


INDUSTRIAL APPLICABILITY

Compared with the prior art, the compensator and compensation method for audio frame loss in a MDCT domain disclosed in the invention has the advantages of no delay, small amount of calculation and small volume of memory space, easy implementation and so on.

Claims
  • 1. A compensation method for audio frame loss in a modified discrete cosine transform domain, the method comprising: step a, when a frame currently lost is a Pth frame, a decoder obtaining a set of frequencies to be predicted, and for each frequency in the set of frequencies to be predicted, the decoder using phases and amplitudes of a plurality of frames before a (P−1)th frame in a MDCT-MDST (modified discrete cosine transform-modified discrete sine transform) domain to predict a phase and an amplitude of the Pth frame in the MDCT-MDST domain, the decoder using the predicted phase and amplitude of the Pth frame in the MDCT-MDST domain to obtain a MDCT (modified discrete cosine transform) coefficient of the Pth frame at said each frequency, wherein, the (P−1)th frame is a previous frame of the Pth frame;step b, for any frequency in a frame outside the set of frequencies to be predicted, the decoder using MDCT coefficients of a plurality of frames before the Pth frame to calculate the MDCT coefficient of the Pth frame at the frequency;step c, the decoder performing an IMDCT (inverse modified discrete cosine transform) for the MDCT coefficients of the Pth frame at all frequencies to obtain the time domain signal of the Pth frame.
  • 2. The method according to claim 1, wherein, before the step a, the method further comprises: when detecting that a current frame is lost, the decoder judging a type of the currently lost frame, and performing the step a if the currently lost frame is a multiple-harmonic frame.
  • 3. The method according to claim 2, wherein, the step of judging the type of the currently lost frame comprises: the decoder calculating a spectrum flatness of each of the K frames before the currently lost frame; if a number of frames whose spectrum flatness is smaller than a threshold value is smaller than or equal to K0 in the K frames, the currently lost frame being a non-multiple-harmonic frame; if the number of frames whose spectrum flatness is smaller than the threshold value is greater than K0, the currently lost frame being a multiple-harmonic frame; wherein, K0<=K, and K0, K are natural numbers.
  • 4. The method according to claim 1, wherein, the step of obtaining the set of frequencies to be predicted in the step a comprises: the decoder using MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain a set SC of frequencies to be predicted, or, directly putting all frequencies in a frame into the set SC of frequencies to be predicted.
  • 5. The method according to claim 4, wherein, the step of using MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain a set SC of frequencies to be predicted comprises: the decoder setting said a plurality of frames before the Pth frame as L1 frames, calculating a power of each frequency in the L1 frames, obtaining L1 sets of S1, . . . , SL1 composed of peak-value frequencies in each frame in the L1 frames, and a number of frequencies in each set being N1, . . . , NL1 respectively;the decoder selecting a set Si from the L1 sets of S1, . . . , SL1, for each peak-value frequency mj, j=1 . . . Ni in the set Si, judging whether there is any frequency belonging to all other peak-value frequency sets simultaneously among frequencies mj, mj±1, . . . , mj±k,if there is any, the decoder putting all the frequencies mj, mj±1, . . . , mj±k into the frequency set SC;if there is no frequency belonging to all other peak-value frequency sets simultaneously, the decoder directly putting all the frequencies in a frame into the frequency set SC;wherein, said k is a nonnegative integer.
  • 6. The method according to claim 5, wherein, said peak-value frequency refers to the frequency whose power is bigger than powers of two adjacent frequencies thereof.
  • 7. The method according to claim 5, wherein, when the L1 frames comprise the (P−1)th frame, the power of each frequency in the (P−1)th frame is calculated in the following way: |{circumflex over (v)}p−1(m)|2=[cp−1(m)]2 [cp−1(m+1)cp−1+(m−1)]2, wherein, |{circumflex over (v)}p−1(m)|2 is the power of the frequency m in the (P−1)th frame, cp−1(m) is the MDCT coefficient of the frequency m in the (P−1)th frame, cp−1(m+1) is the MDCT coefficient of the frequency m+1 in the (P−1)th frame, cp−1(m−1) is the MDCT coefficient of the frequency m−1 in the (P−1)th frame.
  • 8. The method according to claim 4, wherein, the step of using MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain a set SC of frequencies to be predicted comprises: the decoder using MDCT-MDST-domain complex signals of the (P−2)th frame and the (P−3)a′ frame and MDCT coefficients of the (P−1)th frame to obtain the set SC of frequencies to be predicted; the step of using phases and amplitudes of a plurality of frames before the (P−1)th frame in the MDCT-MDST (modified discrete cosine transform-modified discrete sine transform) domain to predict the phase and the amplitude of the Pth frame in the MDCT-MDST domain comprises:for each frequency in the frequency set SC, the decoder using phases and amplitudes of the (P−2)th frame and the (P−3)th frame in the MDCT-MDST domain to predict the phase and the amplitude of the Pth frame in the MDCT-MDST domain.
  • 9. The method according to claim 1, wherein, the step of predicting the phase and the amplitude of the Pth frame in the MDCT-MDST domain in the step a comprises: for each frequency to be predicted, the decoder using phases of L2 frames before the (P−1)th frame at the frequency in the MDCT-MDST domain to perform linear extrapolation or linear fit to obtain the phase of the Pth frame at the frequency in the MDCT-MDST domain; and the decoder obtaining the amplitude of the Pth frame at the frequency in the MDCT-MDST domain according to the amplitude of one of the L2 frames at the frequency in the MDCT-MDST domain, wherein, L2>1.
  • 10. The method according to claim 9, wherein, when L2=2, the step of using phases of L2 frames before the (P−1)th frame at the frequency in the MDCT-MDST domain to perform linear extrapolation or linear fit to obtain the phase of the Pth frame at the frequency in the MDCT-MDST domain comprises: the decoder obtaining the phase φp(m) of the Pth frame in the MDCT-MDST domain according to the following formula:
  • 11. The method according to claim 9, wherein, when L2>2, the step of using phases of L2 frames before the (P−1)th frame at the frequency in the MDCT-MDST domain to perform linear extrapolation or linear fit to obtain the phase of the Pth frame at the frequency in the MDCT-MDST domain comprises: for each frequency to be predicted, the decoder performing a linear fit with phases of the L2 frames before the (P−1)th frame at the frequency in the MDCT-MDST domain to obtain the phase of the Pth frame at the frequency in the MDCT-MDST domain.
  • 12. The method according to claim 1, wherein, the step of using MDCT coefficients of a plurality of frames before the Pth frame to calculate the MDCT coefficient of the Pth frame at the frequency comprises: the decoder using half of the MDCT coefficient of the (P−1)th frame as the MDCT coefficient of the Pth frame.
  • 13. A compensator for audio frame loss in a modified discrete cosine transform domain, comprising a multiple-harmonic frame loss compensation module, a second compensation module and an IMDCT module, wherein: the multiple-harmonic frame loss compensation module is configured to, when a frame currently lost is a Pth frame, obtain a set of frequencies to be predicted, and for each frequency in the set of frequencies to be predicted, use phases and amplitudes of a plurality of frames before a (P−1)th frame in a MDCT-MDST domain to predict a phase and an amplitude of the Pth frame in the MDCT-MDST domain, use the predicted phase and amplitude of the Pth frame in the MDCT-MDST domain to obtain a MDCT coefficient of the Pth frame at said each frequency, and transmit the MDCT coefficient to the second compensation module, wherein, the (P−1)th frame is a frame before the Pth frame;the second compensation module is configured to, for any frequency outside the set of frequencies to be predicted in a frame, use MDCT coefficients of a plurality of frames before the Pth frame to calculate the MDCT coefficient of the Pth frame at the frequency, and transmit the MDCT coefficients of the Pth frame at all frequencies to the IMDCT module;the IMDCT module is configured to perform an IMDCT for the MDCT coefficients of the Pth frame at all frequencies to get a time domain signal of the Pth frame.
  • 14. The compensator for frame loss according to claim 13, further comprising a frame type detection module which is configured to, when detecting that a frame is lost, judge a type of the currently lost frame, and instruct the multiple-harmonic frame loss compensation module to make compensation if the currently lost frame is a multiple-harmonic frame.
  • 15. The compensator for frame loss according to claim 13, wherein, the multiple-harmonic frame loss compensation module comprises a frequency set generation unit, and the multiple-harmonic frame loss compensation module is configured to, through the frequency set generation unit, use MDCT-MDST-domain complex signals and/or MDCT coefficients of a plurality of frames before the Pth frame to obtain a set SC of frequencies to be predicted, or, directly put all frequencies in a frame into the set SC of frequencies to be predicted.
  • 16. The compensator for frame loss according to claim 13, wherein, the multiple-harmonic frame loss compensation module further comprises a coefficient generation unit, and the multiple-harmonic frame loss compensation module is configured to, through the coefficient generation unit, to use phases and amplitudes of the L2 frames before the (P−1)th frame in the MDCT-MDST domain to predict a phase and an amplitude of each frequency belonging to the set of frequencies to be predicted in the Pth frame, use the predicted phase and amplitude of the Pth frame to obtain the MDCT coefficient of the Pth frame corresponding to the each frequency, and transmit the MDCT coefficient to the second compensation module, wherein, L2>1; the coefficient generation unit comprises a phase prediction sub-unit and an amplitude prediction sub-unit, wherein:the phase prediction sub-unit is configured to, for a frequency to be predicted, use phases of L2 frames at the frequency in the MDCT-MDST domain to perform linear extrapolation or linear fit to obtain the phase of the Pth frame at the frequency in the MDCT-MDST domain;the amplitude prediction sub-unit is configured to obtain the amplitude of the Pth frame at the frequency in the MDCT-MDST domain from the amplitude of one of the L2 frames at the frequency in the MDCT-MDST domain.
  • 17. The compensator for frame loss according to claim 16, wherein, the phase prediction sub-unit is configured to, when L2=2, predict the phase of the Pth frame in the MDCT-MDST domain according to a following formula:
  • 18. The compensator for frame loss according to claim 15, wherein, the multiple-harmonic frame loss compensation module is configured to use MDCT-MDST-domain complex signals of the (P−2)th frame and the (P−3)th frame and MDCT coefficients of the (P−1)th frame to obtain the set of frequencies to be predicted, and use phases and amplitudes of the (P−2)th frame and the (P−3)th frame in the MDCT-MDST domain to predict the phase and the amplitude of the Pth frame in the MDCT-MDST domain for each frequency in the frequency set.
  • 19. The compensator for frame loss according to claim 13, wherein, the second compensation module is configured to use half of the MDCT coefficient value of the (P−1)th frame as the MDCT coefficient value of the Pth frame at a frequency outside the set of frequencies to be predicted.
Priority Claims (1)
Number Date Country Kind
2009 1 0158577 Jul 2009 CN national
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/CN2010/070740 2/25/2010 WO 00 1/6/2012
Publishing Document Publishing Date Country Kind
WO2011/006369 1/20/2011 WO A
US Referenced Citations (7)
Number Name Date Kind
6775649 DeMartin Aug 2004 B1
7552048 Xu et al. Jun 2009 B2
8214222 Chon et al. Jul 2012 B2
8255207 Vaillancourt et al. Aug 2012 B2
8438015 Schnell et al. May 2013 B2
20070094009 Ryu et al. Apr 2007 A1
20080033718 Zopf et al. Feb 2008 A1
Foreign Referenced Citations (4)
Number Date Country
101308660 Nov 2008 CN
101471073 Jul 2009 CN
20070059860 Jun 2007 KR
2008007698 Jan 2008 WO
Non-Patent Literature Citations (2)
Entry
Ofir et al. “Audio Packet Loss Concealment in a Combined MDCT-MDST Domain”. IEEE Signal Processing Letters, vol. 14, No. 12, pp. 1032-1035, Dec. 2007.
International Search Report for PCT/CN2010/070740 dated May 13, 2010.
Related Publications (1)
Number Date Country
20120109659 A1 May 2012 US