Tech-invite3GPPspaceIETF RFCsSIP
Quick21222324252627282931323334353637384‑5x
Top   in Index   Prev   Next

TS 46.021
Substitution and Muting of Lost Frames for
Half Rate Speech Traffic Channels

Use "3GPP‑Page" to get the Word version, and "ETSI‑search" to get the PDF version
V16.0.0 (PDF)  2020/06  11 p.
V15.0.0  2018/06  11 p.
V14.0.0  2017/03  11 p.
V13.0.0  2015/12  11 p.
V12.0.0  2014/09  11 p.
V11.0.0  2012/09  11 p.
V10.0.0  2011/04  11 p.
V9.0.0  2009/12  11 p.
V8.0.0  2008/12  11 p.
V7.0.0  2007/06  11 p.
V6.0.0  2005/01  11 p.
V5.0.0  2002/06  11 p.
V4.0.0  2001/04  11 p.
GSM Rel-99 v8.0.1  2000/11  11 p.
GSM Rel-98 v7.0.1  2000/01  11 p.
GSM Rel-97 v6.0.1  1998/11  11 p.
GSM Rel-96 v5.0.1  1996/11  11 p.
GSM Phase-2 v4.0.2  1995/12  11 p.
Rapporteur:
Mr. Järvinen, KariNokia Corporation

Content for  TS 46.021  Word version:  16.0.0

Here   Top

1  ScopeWord‑p. 5

The present document defines a frame substitution and muting procedure which shall be used by the Receive (RX) Discontinuous Transmission (DTX) handler when one or more lost or unreliable speech or SIlence Descriptor (SID) frames are received from the Radio Sub System (RSS).
The requirements of the present document are mandatory for implementation in all GSM Base Station Systems (BSS)s and Mobile Stations (MS)s capable of supporting the half rate speech traffic channel.

2  References

The following documents contain provisions which, through reference in this text, constitute provisions of the present document.
  • References are either specific (identified by date of publication, edition number, version number, etc.) or non specific.
  • For a specific reference, subsequent revisions do not apply.
  • For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document.
[1]
GSM 01.04: "Digital cellular telecommunication system (Phase 2+); Abbreviations and acronyms".
[2]
GSM 05.03: "Digital cellular telecommunications system (Phase 2+); Channel coding".
[3]
GSM 06.20: "Digital cellular telecommunications system (Phase 2+); Half rate speech; Half rate speech transcoding".
[4]
GSM 06.41: "Digital cellular telecommunications system (Phase 2+); Half rate speech; Discontinuous Transmission (DTX) for half rate speech traffic channels".
[5]
GSM 06.06: "Digital cellular telecommunications system (Phase 2+); Half rate speech; ANSI C code for the GSM half rate speech codec".
Up

3  Definitions and abbreviations

3.1  Definitions

The definitions of terms used in the present document can be found in GSM 06.20 [3], GSM 06.41 [4], GSM 05.03 [2].

3.2  Abbreviations

For the purposes of the present document, the following abbreviations apply:
BFI
Bad Frame Indication
BSS
Base Station System
DTX
Discontinuous Transmission
GSM
Global System for Mobile communications
LPC
Linear Predictive Coding
MS
Mobile Station
RSS
Radio Sub System
RX
Receive
SID
SIlence Descriptor
UFI
Unreliable Frame Indication
For abbreviations not given in this clause, see GSM 01.04 [1].

4  GeneralWord‑p. 6

The RSS indicates lost speech or SID frames by setting the Bad Frame Indication (BFI) flag and unreliably decoded speech or SID frames by setting the Unreliable Frame Indication (UFI) flag.
If the BFI flag is set, the speech decoder performs frame substitution and muting of the speech output. The purpose of frame substitution is to conceal the effect of lost frames. The purpose of muting the speech output in case of several lost frames is to indicate the breakdown of the channel to the Mobile Station (MS) user in a way that avoids excessively unpleasant sounds.
If the UFI flag is set, the speech decoder performs a plausibility analysis of the received frame parameters and of the output signal aiming at the detection and concealment of erroneous frames which are not marked with the BFI flag.
Up

5  Requirements

5.1  Error detection and concealment in case of unreliable speech or SID frames

A cleared BFI flag (BFI= "0") and a set UFI flag (UFI="1") indicate a probably erroneous speech or SID frame. To improve the subjective quality, the probability of decoding erroneous frames shall be decreased by additional error detection which is based on both the exploitation of the frame parameters' properties and the decoder output signal's properties.

5.1.1  Error detection

By investigating the frame parameter properties, it shall be decided whether the frame is to be considered as usable or unusable. In the latter case, the BFI flag is set and substitution and muting is performed (clause 5.2). Clause 6.1 gives an example solution for error detection in case of unreliable frames.

5.1.2  Output signal concealment

If the frame is considered as usable, properties of the decoder output signal shall be compared to the corresponding signal properties of the previous valid frames. In case of large differences, the output signal shall be modified such that these differences are limited. Clause 6.2 gives an example solution for output signal concealment in case of unreliable frames.

5.2  Frame substitution and muting in case of lost speech or SID frames

A set BFI flag (BFI="1") indicates a lost speech or SID frame. Normal decoding of these frames would result in a degradation of the subjective quality of the speech. To improve the subjective quality of the speech, the frame parameters shall be appropriately modified prior to the execution of the speech decoder functions.

5.2.1  First and second lost speech frame

The first and second lost speech frame shall be partly or completely substituted with the last valid speech frame. For the first and second lost speech frame, the output shall not be muted directly.

5.2.2  Subsequent lost speech framesWord‑p. 7

For subsequent lost speech frames, a muting technique shall be used that will gradually decrease the output level, resulting in silencing of the output after a maximum of 80 ms. For subsequent lost speech frames, the muting of the output shall be maintained. Clause 6.3 gives an example of such a method.

5.2.3  First and second lost SID frame

The first and second lost SID frame shall be substituted with the last good SID frame. For the first and second lost SID frame, the output shall not be muted directly.

5.2.4  Subsequent lost SID frames

For subsequent lost SID frames, a muting technique shall be used that will gradually decrease the output level, resulting in silencing of the output after a maximum of 320 ms. For subsequent lost SID frames, the muting of the output shall be maintained. Clause 6.4 gives an example of such a method.

6  Example solutions

The C code of the following example solutions are given in GSM 06.06 [5].

6.1  Example solution for error detection in case of unreliable frames

With the parameter R0, the average signal energy is transmitted. Except at the beginning or the end of a talk spurt, this parameter shows a smooth behaviour from frame to frame. For error detection purposes, the difference of the R0 value between the actual and the last good frame is computed. If this difference exceeds a level dependent threshold and the frame is marked as unreliable, it is declared unusable by setting the BFI flag equal to "1".

6.2  Example solution for output signal concealment in case of unreliable frames

In the speech decoder, the output signal is created by processing an excitation sequence through an LPC synthesis filter. The output signal energy of each subframe is calculated and compared to the output signal energy of the previous subframes. If the difference exceeds a level dependent threshold, the excitation sequence is attenuated such that the output signal energy corresponds to the output signal energy of the previous subframes.

6.3  Example solution for substitution and muting of lost speech frames

For the half rate speech decoder, a possible substitution and muting strategy is based on an 8 state machine.
The state, with the exception of states 6 and 7, indicates how many consecutive frames were lost. For example, state 5 indicates that 5 consecutive frames (including the current frame) were lost. State 7 is the initial state of the system, so that if the first decoded frame is lost, the frame is muted. Usually, the system will operate in state 0. The state machine remains in this state unless a frame is lost. On each successive lost speech frame, the state machine moves to the next higher numbered state. As soon as a frame is not declared lost, the machine returns to state 0 (unless it is in state 6). The machine remains in state 6 in the case of additional lost speech frames. If the machine is in state 6, a single frame without detected errors moves the machine to state 7 (i.e., two successive frames with no detected errors are needed to return to state 0 from state 6). This provides additional protection during prolonged intervals of very poor channel conditions which might cause false indications of valid speech data. If the machine is in state 7 and a lost speech frame is received, the machine returns to state 6.
In each state, the following occurs:
State 0: No error is detected. The received decoded speech data is output. The current frame parameters are stored.
State 1:
An error has been detected in the frame. If the last speech frame in state 0 is in the unvoiced mode, then the parameters R0, INT_LPC and the LPC coefficients in the current frame are replaced with the corresponding values from the last good frame. All GSP0 parameters are replaced with the GSP0_4 parameter from the last good frame. If the MODE bits for the current frame indicate unvoiced, the current frame of codevectors is used. If not, the codevectors from the last good frame are used. The frame's remaining decoded bits are passed to the speech decoder without modification.
Alternatively, if the last speech frame in state 0 was in the voiced mode, the long term predictor lag from the last good frame is used for all subframes in the current frame. The parameters MODE, R0, INT_LPC and the LPC coefficients are replaced with those from the last good frame. All GSP0 parameters are replaced with the GSP0_4 parameter from the last good frame. If the MODE bits for the current frame indicate voiced (MODE = 1, 2 or 3), the current frame of codevectors is used. If not, the codevectors from the last good frame are used. The frame's remaining decoded bits are passed to the speech decoder without modification.
State 2:
Same action as in state 1.
State 3:
As in state 1 and 2, a frame repetition is performed, but the frame energy R0 (coded on the interval from 0 to 31) is decreased by a value of 2.
State 4:
Same action as in state 3.
State 5:
Same action as in state 3.
State 6:
Again a frame repetition is performed. The output speech signal is muted by setting R0 to zero.
State 7:
The speech signal remains muted, R0 remains zero.
Up

6.4  Example solution for substitution and muting of lost SID framesWord‑p. 8

The first and second lost SID frame is replaced by the last good SID frame.
For subsequent lost SID frames the last good SID frame is repeated, but the frame energy R0 (coded on the interval from 0 to 31) is decreased with a constant value of 2 in each frame down to R0 = 0. This value is maintained if additional lost SID frames occur.

$  Change HistoryWord‑p. 9


Up   Top