5.2 SBR error concealment
26.4023GPPAdditional decoder toolsEnhanced aacPlus general audio codecGeneral audio codec audio processing functionsTS
The SBR error concealment algorithm is based on using previous envelope and noise-floor values with an applied decay, as a substitute for the corrupt data. In the flowchart of Figure 1 the basic operation of the SBR error concealment algorithm is outlined. If the frame error flag is set, error concealment bitstream data is generated to be used instead of the corrupt bitstream data. The concealment data is generated according to the following.
The time frequency grids are set to:
The delta coding direction for both the envelope data and noise-floor data are set to be in the time-direction. The envelope data is calculated according to:
where
And where bs_amp_res and bs_coupling are set to the values of the previous frame.
The noise floor data is calculated according to:
Furthermore, the inverse-filtering levels in bs_invf_mode are set to the values of the previous frame, and all elements in bs_add_harmonic are set to zero.
If the frame error is not set, the present time grid and envelope data may need modification if the previous frame was corrupt. If the previous frame was corrupt the time grid of the present frame is modified in order to make sure that there is a continuous transition between the frames. The envelope data for the first envelope is modified according to:
where
.
After the delta coded data has been decoded, a plausibility check is performed to make sure that the decoded data is within reasonable limits. The required limits are:
For the envelope data the logarithmic values shall fulfil:
otherwise the frame will be considered corrupt.
The time grids are also verified according to the following rules (if any of the below is true the frame is considered to be corrupt):
–
–
–
–
–
–
–
–
–
–
–
–
–
–
– all elements of tQ are not among the elements of tE
If the plausibility check fails, the frame error flag is set and the error concealment outlined above is applied.
Figure 1: SBR error concealment overview