5.3.2 Concealment for bandwidth extension for ACELP modes
26.4473GPPCodec for Enhanced Voice Services (EVS)Error concealment of lost packetsRelease 17TS
5.3.2.1 Time domain bandwidth extension
5.3.2.1.1 SWB time domain bandwidth extension
The concealment for SWB TD BWE works for 13.2 kbps, 16.4 kbps, 24.4 kbps and 32 kbps. The algorithm aims to reconstruct the high band of the current lost frame for SWB TD BWE. The reconstruction of the lost frame depends on at least one of the following gain adjustment information: the coder type of the previous frame, the frame class of the last good received frame, the frame class of the current frame, the number of the consecutive lost frame, the energies and the tilts of the low band of both the current frame and the previous frame.
There are gain shapes which are also the subframe gains, global frame gain and LSF should be reconstructed when the current frame is lost. The reconstruction of the LSF information is usually copying from the previous frame. The reconstruction of the subframe gains of the lost frame is based on the subframe gains and the subframe gain gradients of at least one frame before the current frame and adjusted by some of the above gain adjustment information. The reconstruction of the global frame gain of the lost frame is based on the global frame gain of at least one frame before the current frame and the global frame gain gradient of the current frame and adjusted by some of the above gain adjustment information.
The initial high band signal of the current lost frame is synthesized according to the decoding parameters of the frame prior to the current lost frame, specifically it is synthesized by passing the high band excitation through the synthesis filter, where the high band excitation is obtained from the low band excitation and synthesis filter is obtained from the reconstructed LSF parameters. Then the initial synthesized high band signal is adjusted by the reconstructed global frame gain and at least two of the reconstructed subframe gains of the current lost frame. Finally, the high band of the current lost frame is reconstructed.
5.3.2.1.1.1 The reconstruction of the global frame gain
For single frame loss: determining the frame class of the current frame, the tilts of the current frame and the previous frame, the energies of the low parts and high parts from the low band of both the current frame and the previous frame.
Assuming the three following conditions:
– Condition 1: the frame class of the current frame is not UNVOICED_CLAS and UNVOICED_TRANSITION.
– Condition 2: the tilt of the previous frame is less than 8.0.
– Condition 3: the energy of low parts from the low band of the current frameis more than
and
is less than
, or, the energy of high parts from the low band of the current frame
is more than
and
is less than
. The
is the energy of low parts from the low band of the current frame and the
is the energy of high parts from the low band of the previous frame.
If all the above mentioned three conditions are met, the global frame gain of the current lost frame is described as follows:
(58)
where the is calculated by:
(59)
(60)
where is the high band excitation energy of the current frame,
is the high band excitation energy of the previous frame.
Then if the tilt of the low band of the current frame is more than that of the previous frame
, the global frame gain is updated as follows:
(61)
(62)
If the above mentioned three conditions are not met, but the following three conditions are met:
– Condition 4: the frame class of the current frame is not UNVOICED_CLAS or the tilt of the previous frame is more than 8.0,
– Condition 5: is more than
,
– Condition 6: the energy of low parts from the low band of the current frameis more than
, or the energy of high parts from the low band of the current frame
is more than
. The
is the energy of low parts from the low band of the current frame and the
is the energy of high parts from the low band of the previous frame.
The global frame gain would be:
(63)
For multiple frame losses:
For 13.2 kbps and 32 kbps, if is more than
,
is more than
and
is more than
. For 16.4 kbps and 24.4 kbps if
is more than
, the global frame gain is as follows:
(64)
Otherwise, for 13.2 kbps and 32 kbps, if is more than
,
is more than
and
is more than
. For 16.4 kbps and 24.4 kbps if
is more than
, the global frame gain is as follows:
(65)
5.3.2.1.1.2 The reconstruction of the gain attenuation factor
Reconstruct the gain attenuation factor according to the following conditions: the coder type of the previous frame, the frame class of the last good received frame, and the energies of the low band of both the current frame and the previous frame, the number of the consecutive lost frames. The detail processing is as follows:
For single frame loss, judging the following three conditions:
– Condition 1: the energy of the shaped excitation of current frame
is more than the energy of the shaped excitation
of the previous frame
.
– Condition 2: The coder type of the previous frame is not UNVOICED.
– Condition 3: The frame class of the last good received frame is not UNVOICED_CLAS.
If condition1, 2 and 3 are met:
The gain attenuation factor to the shaped excitation
is as follows:
(66)
Otherwise
– Condition 4: the energy of the shaped excitation of current frame
is more than 0.5 times the energy of the shaped excitation
of the previous frame
.
– Condition 5: the energy of low parts from the low band of the current frameis more than
, or the energy of high parts from the low band of the current frame
is more than
. The
is the energy of low parts from the low band of the current frame and the
is the energy of high parts from the low band of the previous frame.
– Condition 6: The coder type of the previous frame is not UNVOICED, or the type of the last good received is not UNVOICED_CLAS or the tilt of the previous frame is more than 5.0.
If condition 4, 5 and 6 are met, the gain attenuation factor is calculated as follows:
(67)
For multiple frame losses:
If the energy of the shaped excitation of current frame
is more than the energy of the shaped excitation
of the previous frame
, the gain attenuation factor
is as follows:
(68)
Otherwise if condition4, 5 and 6 are met, the gain attenuation factor is as follows:
(69)
Use the and
to the subframe gains and the shaped excitation
described as follows:
(70)
Use the reconstructed information including subframe gains, global frame gain and LSFs to reconstruct the high band signal of the lost frame.
5.3.2.1.1.3 Specifics for rates 13.2 and 32 kbps
Calculating the subframe gain gradients of the previous frame and the frame immediately prior to the previous frame are described as follows:
(71)
where are the subframe gains of the previous frame,
are the subframe gains of the frame immediately prior to the previous frame.
(72)
If the coder type of the previous frame is UNVOICED, or the frame class of the last good received frame is UNVOICED_CLASS, and theis positive. Then the first subframe gain template
would be:
(73)
Otherwise, if is positive, the subframe gain template
would be:
(74)
Otherwise, the subframe gain template would be:
(75)
The other gain subframe gain templates are determined as follows:
If is more than 10*
and the
is positive. Then:
(76)
Otherwise, if