Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DECODER AND DECODING METHOD SELECTING AN ERROR CONCEALMENT MODE, AND ENCODER AND ENCODING METHOD
Document Type and Number:
WIPO Patent Application WO/2020/164753
Kind Code:
A1
Abstract:
A decoder (100) for decoding a frame to reconstruct a signal portion of a signal is provided. The signal portion is encoded within the frame, wherein the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload. The decoder (100) comprises a channel decoding module (110), being configured to detect, depending on the two or more redundancy bits, whether the bitstream payload comprises one or more corrupted bits being one or more of the payload bits that are distorted or that are likely to be distorted. Moreover, the decoder (100) comprises a source decoding module (120). If the channel decoding module (110) has not detected any corrupted bits within the bitstream payload, the source decoding module (120) is configured to decode the bitstream payload without conducting error concealment to reconstruct the signal portion. If the channel decoding module (110) has detected the one or more corrupted bits within the bitstream payload, the source decoding module (120) is configured to select a selected error concealment mode of two or more error concealment modes depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on a signal characteristic of the signal portion of the signal, and is configured to conduct error concealment depending on the selected error concealment mode to reconstruct the signal portion.

Inventors:
TOMASEK ADRIAN (DE)
SPERSCHNEIDER RALPH (DE)
BUETHE JAN (DE)
BENNDORF CONRAD (DE)
DIETZ MARTIN (DE)
SCHNELL MARKUS (DE)
SCHLEGEL MAXIMILIAN (DE)
Application Number:
PCT/EP2019/065209
Publication Date:
August 20, 2020
Filing Date:
June 11, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRAUNHOFER-GESELLSCHAFT ZUR FÖRDERUNG DER ANGEWANDTEN FORSCHUNG EV (DE)
International Classes:
H04L1/00; G10L19/005
Foreign References:
US20070271480A12007-11-22
US20080126096A12008-05-29
US8798172B22014-08-05
Other References:
JOEBERT S JACABA: "AUDIO COMPRESSION USING MODIFIED DISCRETE COSINE TRANSFORM: THE MP3 CODING STANDARD", UNDERGRADUATE RESEARCH PAPER, 1 October 2001 (2001-10-01), pages 1 - 83, XP055359704, Retrieved from the Internet [retrieved on 20170328]
R. SPERSCHNEIDERD. HOMML.-H. CHAMBAT: "Error Resilient Source Coding with Differential Variable Length Codes and its Application to MPEG Advance Audio Coding", AUDIO ENGINEERING SOCIETEY, 2002
P. LAUBERR. SPERSCHNEIDER: "Error Concealment for Compressed Digital Audio", AUDIO ENGINEERING SOCIETY, 2001
Attorney, Agent or Firm:
SCHAIRER, Oliver et al. (DE)
Download PDF:
Claims:
Claims

1. A decoder (100) for decoding a frame to reconstruct a signal portion of a signal, wherein the signal portion is encoded within the frame, wherein the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the decoder (100) comprises: a channel decoding module (110), being configured to detect, depending on the two or more redundancy bits, whether the bitstream payload comprises one or more corrupted bits being one or more of the payload bits that are distorted or that are likely to be distorted, a source decoding module (120), wherein, if the channel decoding module (110) has not detected any corrupted bits within the bitstream payload, the source decoding module (120) is configured to decode the bitstream payload without conducting error concealment to reconstruct the signal portion, wherein, if the channel decoding module (110) has detected the one or more corrupted bits within the bitstream payload, the source decoding module (120) is configured to select a selected error concealment mode of two or more error concealment modes depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on a signal characteristic of the signal portion of the signal, and is configured to conduct error concealment depending on the selected error concealment mode to reconstruct the signal portion.

2. A decoder (100) according to claim 1 , wherein the channel decoding module (110) is an error detection and error correction module being configured to conduct error correction on the bitstream payload before detecting whether the bitstream payload comprises the one or more corrupted bits.

3. A decoder (100) according to claim 1 or 2 wherein a first one of the two or more error concealment modes is a full frame loss concealment mode, wherein, if the channel decoding module (1 10) has indicated that the bitstream payload comprises the one or more corrupted bits, and if the selected error concealment mode is the full frame loss concealment mode, the source decoding module (120) is configured to conduct error concealment without using the bitstream payload.

A decoder (100) according to claim 3, wherein a second one of the two or more error concealment modes is a partial frame loss concealment mode, wherein, if the channel decoding module (1 10) has indicated that the bitstream payload comprises the one or more corrupted bits, and if the selected error concealment mode is the partial frame loss concealment mode, the source decoding module (120) is configured to obtain the decoded signal by decoding other bits of the payload bits that are not indicated by the channel decoding module (1 10) to be the one or more corrupted bits without conducting error concealment on the other bits, and by conducting error concealment on the one or more of the payload bits that are indicated by the channel decoding module (110) to be the one or more corrupted bits.

A decoder (100) according to claim 4, wherein the two or more error concealment modes comprise exactly two error concealment modes, wherein a first one of the exactly two error concealment modes is the full frame loss concealment mode, wherein a second one of the exactly two error concealment modes is the partial frame loss concealment mode.

6. A decoder (100) according to claim 4 or 5, wherein the bitstream payload is partitioned into a first part of the plurality of payload bits of the bitstream payload, and into a second part of the plurality of payload bits of the bitstream payload, wherein, if the channel decoding module (1 10) has indicated that the bitstream payload comprises the one or more corrupted bits, and if the first part of the bitstream payload comprises at least one of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, and wherein, if the channel decoding module (1 10) has indicated that the bitstream payload comprises the one or more corrupted bits, and if the first part of the bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the selected error concealment mode depending on the signal characteristic of the signal portion of the signal.

A decoder (100) according to claim 6, wherein the frame is a current frame, wherein the bitstream payload is a current bitstream payload, wherein the plurality of payload bits is a plurality of current payload bits, wherein the signal portion of the signal is a current signal portion of the signal, and wherein the signal characteristic is a current signal characteristic, wherein, if the channel decoding module (1 10) has indicated that the current bitstream payload comprises the one or more corrupted bits, the source decoding module (120) is configured to select the selected error concealment mode of two or more error concealment modes depending on the current signal characteristic of the current signal portion of the signal being encoded by the plurality of current payload bits of the current frame, and depending on a previous signal characteristic of a previous signal portion of the signal being encoded by a plurality of previous payload bits of a previous bitstream payload of a previous frame.

A decoder (100) according to claim 7, wherein the decoder (100) is an audio decoder, wherein the current signal portion of the signal being encoded by the plurality of current payload bits of the current bitstream payload is a current audio signal portion of an audio signal, and wherein the previous signal portion of the signal being encoded by the plurality of previous payload bits of the previous bitstream payload is a previous audio signal portion of the audio signal wherein the current bitstream payload encodes a plurality of spectral lines of the current audio signal portion.

9. A decoder (100) according to claim 8, wherein, if the channel decoding module (1 10) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if the previous frame was concealed using full frame loss concealment.

10. A decoder (100) according to claim 8, wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if a highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency being smaller than or equal to a threshold frequency.

11. A decoder (100) according to claim 8, wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if a stability factor is smaller than a predefined threshold, wherein said stability factor indicates a stability of the current audio signal portion and of the previous audio signal portion.

12. A decoder (100) according to claim 8 wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if the previous frame was concealed using full frame loss concealment, or if a stability factor is smaller than a predefined threshold, wherein said stability factor indicates a stability of the current audio signal portion and of the previous audio signal portion.

13. A decoder according to claim 11 or 12, wherein the predefined threshold is equal to 0.5.

14. A decoder (100) according to one of claims 8 to 13, wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being smaller than or equal to said threshold frequency, and if the first part of the current bitstream payload encodes a signal component which is tonal or harmonic, and if the previous signal portion encodes at least one peak of the audio signal being greater than a peak threshold value and which corresponds to a frequency being greater than all frequencies being indicated by the plurality of spectral lines of the current audio signal portion.

15. A decoder (100) according to claim 14, wherein a pitch of the audio signal exhibits a pitch frequency, and wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being smaller than or equal to said threshold frequency, and if the first part of the current bitstream payload encodes a signal component which is tonal or harmonic, and if all frequencies being indicated by the plurality of spectral lines of the current audio signal portion are smaller than the pitch frequency; or wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being smaller than or equal to said threshold frequency, and if the first part of the current bitstream payload encodes a signal component which is tonal or harmonic, and if all frequencies being indicated by the plurality of spectral lines of the current audio signal portion are smaller than a maximal supported pitch frequency.

A decoder (100) according to claim 15, wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the full frame loss concealment mode as the selected error concealment mode, if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being smaller than or equal to said threshold frequency, and if the first part of the current bitstream payload does not encode a signal component of the audio signal which is tonal or harmonic, and if the ratio between the energy from 0 to the frequency bin kbe - 1 of the previous quantized spectrum of the previous audio signal to the energy from 0 to the top of the previous quantized spectrum of the previous audio signal is smaller than a ratio threshold, wherein kbe is a first spectral bin which cannot be recovered.

A decoder (100) according to claim 16, wherein the ratio threshold is 0.3.

A decoder (100) according to claim 16 or 17, wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the partial frame loss concealment mode as the selected error concealment mode, if the previous frame was not concealed using full frame loss concealment, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency being greater than said threshold frequency. 19. A decoder (100) according to claim 18, wherein, if the channel decoding module (110) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the partial frame loss concealment mode as the selected error concealment mode, if the previous frame was not concealed using full frame loss concealment, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being greater than said threshold frequency, and if said stability factor is greater than or equal to said predefined threshold, and if the first part of the current bitstream payload does not encode a signal component of the audio signal which is tonal or harmonic, and if the ratio between the energy from 0 to the frequency bin kbe - 1 of the previous quantized spectrum of the previous audio signal to the energy from 0 to the top of the previous quantized spectrum of the previous audio signal is greater than or equal to said ratio threshold.

20 A decoder (100) according to claim 18 or 19, wherein, if the channel decoding module (1 10) has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module (120) is configured to select the partial frame loss concealment mode as the selected error concealment mode, if the previous frame was not concealed using full frame loss concealment, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being greater than said threshold frequency, and if said stability factor is greater than or equal to said predefined threshold, and if the first part of the current bitstream payload encodes a signal component which is tonal or harmonic, and if said highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency being greater than the pitch frequency, and if the previous signal portion does not encode any peak of the audio signal being greater than said peak threshold value and which corresponds to said frequency being greater than all frequencies being indicated by the plurality of spectral lines of the current audio signal portion.

21. A decoder (100) according to one of claims 8 to 20, wherein, if the selected error concealment mode is the partial frame loss concealment mode, the source decoding module (120) is configured to determine for each code word of a plurality of code words of the second part of the bitstream payload, depending on a number of corrected symbols of said code word, whether or not to conduct error concealment for those of the plurality of spectral lines of the current audio signal portion being represented by said code word, and to conduct error concealment for said those of the plurality of spectral lines of the current audio signal portion, for which the source decoding module (120) has determined that error concealment shall be conducted.

22. A decoder (100) according to claim 21 , wherein, for each code word of a plurality of code words of the second part of the bitstream payload, the source decoding module (120) is configured to determine a risk value indicating an approximation of a probability that said code word is corrupt, and to determine whether or not said risk value is greater than a risk threshold.

23. A decoder (100) according to claim 21 or 22, wherein, if said risk value is greater than said risk threshold, the source decoding module (120) is configured to conduct error concealment for those of the plurality of spectral lines of the current audio signal portion being represented by said code word.

24. A decoder (100) according to claim 23, wherein the risk threshold is 2 16. 25. A decoder (100) according to one of claims 21 to 24, wherein the source decoding module (120) is configured to conduct said error concealment for said code word in the partial frame loss error concealment mode. 26. A decoder (100) according to one of the preceding claims, wherein the channel decoding module (110) is configured to detect that the bitstream payload comprises one or more corrupted bits, if the channel decoding module (1 10) encounters an uncorrectable code word within the bitstream payload and/or if the channel decoding module (1 10), after conducting error correction on a plurality of code words of the bitstream payload, determines a re-calculated hash value, which depends on said plurality of code words after the error correction, that differs from a received hash value. 27. A system (190), comprising: an encoder (150) for encoding a signal portion of a signal within a frame, wherein the encoder (150) is configured to generate the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, and a decoder (100) according to one of the preceding claims. 28. An encoder (150), comprising: a source encoding module (160) for encoding a signal portion of a signal within a frame, wherein the source encoding module (160) is configured to generate the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame being generated by the source encoding module (160) is suitable for being processed by the decoder (100) according to one of claims 1 to 26, and a channel encoding module (170) being configured to generate the two or more redundancy bits depending on the bitstream payload.

29. A method for decoding a frame to reconstruct a signal portion of a signal, wherein the signal portion is encoded within the frame, wherein the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the method comprises: detecting, depending on the two or more redundancy bits, whether the bitstream payload comprises one or more corrupted bits being one or more of the payload bits that are distorted or that are likely to be distorted, if no corrupted bits have been detected within the bitstream payload, decoding the bitstream payload without conducting error concealment to reconstruct the signal portion, and if one or more corrupted bits have been detected within the bitstream payload, selecting a selected error concealment mode of two or more error concealment modes depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on a signal characteristic of the signal portion of the signal, and conducting error concealment depending on the selected error concealment mode to reconstruct the signal portion.

A method, comprising: encoding a signal portion of a signal within a frame, wherein the frame is generated so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, and conducting the method for decoding of claim 29 using the frame,

A method for encoding a signal portion of a signal within a frame, wherein the method comprises: generating the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame is suitable for being decoded by the method of claim 29, and generating the two or more redundancy bits depending on the bitstream payload,

A computer program for implementing a method according to one of claims 29 to 31 when being executed on a computer or signal processor. 33. A frame being generated according to the method of claim 31.

Description:
Decoder and Decoding method selecting an Error Concealment Mode, and Encoder and Encoding Method

Description

The present invention relates to a decoder and a decoding method selecting an error concealment mode, and to an encoder and to an encoding method.

Bit-errors can occur on the transmission chain between the encoder and the decoder. Untreated bit-errors can lead to annoying artefacts; therefore, many audio decoders just simply trigger frame loss / packet loss concealment (PLC) on a full frame, subsequently referred to as full frame loss concealment (FFLC), if any bit-error is detected within this frame. Often, this achieves a good audio quality, especially when the signal is stationary.

MPEG-4 Part 3 Audio [1] defines error sensitivity categories for the bitstream payload of AAC (Table 4.94); Table 1 shows the categories for the AAC main data. In particular, table 1 depicts error sensitivity categories for AAC.

Table 1 :

Depending on the distorted classes, individual concealment strategies are chosen as denoted in Table 2. Table 2 depicts concealment strategies for AAC error sensitivity categories. Tab

MPEG-4 Part 3 Audio also specifies Bit Sliced Arithmetic Coding (BSAC), which allows fine-grain scalability with a high number of layers. To improve the error resilience, Segmented Binary Arithmetic (SBA) Coding was introduced, which groups multiple layers into segments. Arithmetic coding is re-initialized at the beginning of each segment to circumvent error propagation. An adaptive selection of time-domain or frequency-domain concealment is proposed in [3], In [3], three error detection methods are described.

A first error detection method uses a cyclic redundancy check (CRC). A second error detection method compares the length of a bitstream payload as transmitted from an encoder with the length of the bitstream payload given to the decoder.

A third error detection method compares the length of a bitstream payload as transmitted from an encoder with the length of the consumed bits during the decoding process of the bitstream payload: In BSAC, 32 additional bits or less can be decoded due to characteristics of the arithmetic decoding. Therefore, if the bit difference is more than 32 bits, it is determined that an error exists. Subsequently in [3], a plurality of error location methods are described:

According to a first error location method of [3], a comparison of spectral energy of the current frame with that of the previous frame is conducted. According to a second error location method of [3], an examination of bits allocated to each layer of the decoded bitstream payload relative to the number of bits consumed by the arithmetic decoder is conducted. When errors exist in a layer, more or less bits might be used in the arithmetic decoding. Therefore, a layer using more or less bits indicates a high possibility that errors exist in this layer or in a previous layer.

Following up on this location, different concealment strategies are suggested in [3]: If the detected position is before a first critical position, time domain concealment is applied. If the detected position is after a first critical position, but before a second critical position, frequency domain concealment is applied. If the detected position is after a second critical position, concealment is not applied.

Various frame loss concealment techniques available in the frequency domain are discussed in [4]. In particular, muting, repetition, noise substitution and prediction are mentioned in [4]

The object of the present invention is to provide improved concepts for error concealment. The object of the present invention is solved by a decoder according to claim 1 , by an encoder according to claim 28, by a method according to claim 29, by a method according to claim 30, by a method according to claim 31 , by a computer program according to claim 32, by a frame according to claim 33.

A decoder for decoding a frame to reconstruct a signal portion of a signal is provided. The signal portion is encoded within the frame, wherein the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload. The decoder comprises a channel decoding module, being configured to detect, depending on the two or more redundancy bits, whether the bitstream payload comprises one or more corrupted bits being one or more of the payload bits that are distorted or that are likely to be distorted. Moreover, the decoder comprises a source decoding module. If the channel decoding module has not detected any corrupted bits within the bitstream payload, the source decoding module is configured to decode the bitstream payload without conducting error concealment to reconstruct the signal portion. If the channel decoding module has detected the one or more corrupted bits within the bitstream payload, the source decoding module is configured to select a selected error concealment mode of two or more error concealment modes depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on a signal characteristic of the signal portion of the signal, and is configured to conduct error concealment depending on the selected error concealment mode to reconstruct the signal portion.

Moreover, an encoder is provided. The encoder comprises a source encoding module for encoding a signal portion of a signal within a frame, wherein the source encoding module is configured to generate the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame being generated by the source encoding module is suitable for being processed by the above-described decoder. Furthermore, the encoder comprises a channel encoding module being configured to generate the two or more redundancy bits depending on the bitstream payload.

Furthermore, a method for decoding a frame to reconstruct a signal portion of a signal is provided. The signal portion is encoded within the frame, wherein the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload. The method comprises:

Detecting, depending on the two or more redundancy bits, whether the bitstream payload comprises one or more corrupted bits being one or more of the payload bits that are distorted or that are likely to be distorted.

If no corrupted bits have been detected within the bitstream payload, decoding the bitstream payload without conducting error concealment to reconstruct the signal portion, and

If one or more corrupted bits have been detected within the bitstream payload, selecting a selected error concealment mode of two or more error concealment modes depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on a signal characteristic of the signal portion of the signal, and conducting error concealment depending on the selected error concealment mode to reconstruct the signal portion.

Moreover, another method is provided. The method comprises:

Encoding a signal portion of a signal within a frame, wherein the encoder is configured to generate the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload. And: - Conducting, using the frame, the above-described method for decoding the frame.

Furthermore, a method for encoding a signal portion of a signal within a frame is provided. The method comprises:

Generating the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame is suitable for being decoded by the above-described method for decoding the frame. And:

Generating the two or more redundancy bits depending on the bitstream payload. Moreover, computer program for implementing one of the above described methods is provided when said method is executed on a computer or signal processor.

Furthermore, a frame being generated according to the above-described method for encoding a signal portion of a signal within a frame is provided.

In the following, embodiments of the present invention are described in more detail with reference to the figures, in which:

Fig. 1 illustrates a decoder for decoding a frame to reconstruct a signal portion of a signal according to an embodiment.

Fig. 2 illustrates an encoder according to an embodiment.

Fig. 3 illustrates a system according to an embodiment.

Fig. 4 illustrates an example for analysing payload data of code words according to an embodiment. Fig. 1 illustrates a decoder 100 for decoding a frame to reconstruct a signal portion of a signal according to an embodiment.

The signal portion is encoded within the frame, wherein the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload.

The decoder 100 comprises a channel decoding module 110, being configured to detect, depending on the two or more redundancy bits, whether the bitstream payload comprises one or more corrupted bits being one or more of the payload bits that are distorted or that are likely to be distorted.

Moreover, the decoder 100 comprises a source decoding module 120.

If the channel decoding module 1 10 has not detected any corrupted bits within the bitstream payload, the source decoding module 120 is configured to decode the bitstream payload without conducting error concealment to reconstruct the signal portion.

If the channel decoding module 1 10 has detected the one or more corrupted bits within the bitstream payload, the source decoding module 120 is configured to select a selected error concealment mode of two or more error concealment modes depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on a signal characteristic of the signal portion of the signal, and is configured to conduct error concealment depending on the selected error concealment mode to reconstruct the signal portion.

According to an embodiment, the channel decoding module may, e.g., be an error detection and error correction module being configured to conduct error correction on the bitstream payload before detecting whether the bitstream payload comprises the one or more corrupted bits.

In an embodiment, if the channel decoding module 1 10 determines that it cannot successfully conduct the error correction on the bitstream payload, the channel decoding module 1 10 may, e.g., be configured to determine said one or more corrupted bits within the bitstream payload. According to an embodiment, a first one of the two or more error concealment modes may, e.g., be a full frame loss concealment mode. If the channel decoding module 110 has indicated that the bitstream payload comprises the one or more corrupted bits, and if the selected error concealment mode is the full frame loss concealment mode, the source decoding module 120 may, e.g., be configured to conduct error concealment without using the bitstream payload.

In an embodiment, a second one of the two or more error concealment modes may, e.g., be a partial frame loss concealment mode. If the channel decoding module 110 has indicated that the bitstream payload comprises the one or more corrupted bits, and if the selected error concealment mode is the partial frame loss concealment mode, the source decoding module 120 may, e.g., be configured to obtain the decoded signal by decoding other bits of the payload bits that are not indicated by the channel decoding module 110 to be the one or more corrupted bits without conducting error concealment on the other bits, and by conducting error concealment on the one or more of the payload bits that are indicated by the channel decoding module 110 to be the one or more corrupted bits.

According to an embodiment, the two or more error concealment modes may e.g., comprise exactly two error concealment modes, wherein a first one of the exactly two error concealment modes may, e.g., be the full frame loss concealment mode, wherein a second one of the exactly two error concealment modes is the partial frame loss concealment mode.

In an embodiment, the bitstream payload may, e.g., be partitioned into a first part of the plurality of payload bits of the bitstream payload, and into a second part of the plurality of payload bits of the bitstream payload. If the channel decoding module 110 has indicated that the bitstream payload comprises the one or more corrupted bits, and if the first part of the bitstream payload comprises at least one of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode. If the channel decoding module 110 has indicated that the bitstream payioad comprises the one or more corrupted bits, and if the first part of the bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g,, be configured to select the selected error concealment mode depending on the signal characteristic of the signal portion of the signal. According to an embodiment, the frame is a current frame, wherein the bitstream payload is a current bitstream payload, wherein the plurality of payload bits is a plurality of current payload bits, wherein the signal portion of the signal is a current signal portion of the signal, and wherein the signal characteristic is a current signal characteristic. If the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the selected error concealment mode of two or more error concealment modes depending on the current signal characteristic of the current signal portion of the signal being encoded by the plurality of current payload bits of the current frame, and depending on a previous signal characteristic of a previous signal portion of the signal being encoded by a plurality of previous payload bits of a previous bitstream payload of a previous frame.

In an embodiment, the current signal portion of the signal being encoded by the plurality of current payload bits of the current bitstream payload may, e.g., be a current audio signal portion of an audio signal, and the previous signal portion of the signal being encoded by the plurality of previous payload bits of the previous bitstream payload may, e.g., be a previous audio signal portion of the audio signal. The current bitstream payload may, e.g., encode a plurality of spectral lines of the current audio signal portion.

In an embodiment, if the corrupted bits only affect the residual bits, then no error concealment is done and the frame is decoded as normal frame without considering the corrupted residual bits.

A stability factor represents the similarity between two signals, for example, between the current signal and a past signal. For example, the stability factor may, e.g., be bounded by [0: 1], A stability factor close to 1 or 1 may, e.g., mean that both signals are very similar and a stability factor close to 0 or 0 may, e.g., mean that both signals are very different. The similarity may, for example, be calculated on the spectral envelopes of two audio signals.

In an embodiment, full frame loss concealment is conducted, if a stability factor is lower than a threshold, for example, a threshold 0.5.

According to an embodiment, if the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode, if the previous frame was concealed using full frame loss concealment.

In an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode, if a highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency being smaller than or equal to a threshold frequency.

According to an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode, if a stability factor is smaller than a predefined threshold, wherein said stability factor indicates a stability of the current audio signal portion and of the previous audio signal portion. For example, the predefined threshold may, e.g., be equal to 0.5.

According to an embodiment, wherein, if the channel decoding module 110 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode, if the previous frame was concealed using full frame loss concealment; or if a stability factor is smaller than a predefined threshold, wherein said stability factor indicates a stability of the current audio signal portion and of the previous audio signal portion. For example, the predefined threshold may, e.g., be equal to 0.5.

In an embodiment, if the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode, if the highest spectral line among the plurality of spectral lines of the current audio signal portion represents said frequency being smaller than or equal to said threshold frequency, and if the first part of the current bitstream payload encodes a signal component of the audio signal which is tonal or harmonic, and if the previous signal portion encodes at least one peak of the audio signal being greater than a peak threshold value and which corresponds to a frequency being greater than all frequencies being indicated by the plurality of spectral lines of the current audio signal portion.

In another embodiment, a pitch of the audio signal may, e.g., exhibit a pitch frequency. If the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the full frame loss concealment mode as the selected error concealment mode, if the highest spectral line among the plurality of spectral lines of the current audio signal portion represents said frequency being smaller than or equal to said threshold frequency, and if the first part of the current bitstream payload encodes a signal component of the audio signal which is tonal or harmonic, and if all frequencies being indicated by the plurality of spectral lines of the current audio signal portion are smaller than a maximal supported pitch frequency.

In an embodiment, full frame loss concealment is conducted, if the stability factor is higher than or equal to the threshold, for example, the threshold 0.5, and if the bitstream payload does not encode a signal component of the audio signal which is tonal or harmonic, and if the ratio between the energy from 0 to the frequency bin k be - 1 of the previous quantized spectrum of the previous audio signal to the energy from 0 to the top of the previous quantized spectrum of the previous audio signal is lower than a second threshold, for example, the second threshold 0.3.

According to an embodiment, if the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the partial frame loss concealment mode as the selected error concealment mode, if the previous frame was not concealed using full frame loss concealment, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency being greater than said threshold frequency.

In an embodiment, if the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the partial frame loss concealment mode as the selected error concealment mode, if the previous frame was not concealed using full frame loss concealment, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being greater than said threshold frequency, and if said stability factor is greater than or equal to said predefined threshold, and if the first part of the current bitstream payload does not encode a signal component of the audio signal which is tonal or harmonic, and if the ratio between the energy from 0 to the frequency bin k be - 1 of the previous quantized spectrum of the previous audio signal to the energy from 0 to the top of the previous quantized spectrum of the previous audio signal is greater than or equal to said ratio threshold.

According to an embodiment, if the channel decoding module 1 10 has indicated that the current bitstream payload comprises the one or more corrupted bits, and if the first part of the current bitstream payload does not comprise any of the one or more corrupted bits, the source decoding module 120 may, e.g., be configured to select the partial frame loss concealment mode as the selected error concealment mode, if the previous frame was not concealed using full frame loss concealment, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits said frequency being greater than said threshold frequency, and if said stability factor is greater than or equal to said predefined threshold, if the first part of the current bitstream payload encodes a signal component which is tonal or harmonic, and if said highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency being greater than the pitch frequency, and if the previous signal portion does not encode any peak of the audio signal being greater than said peak threshold value and which corresponds to said frequency being greater than all frequencies being indicated by the plurality of spectral lines of the current audio signal portion.

In an embodiment, if the selected error concealment mode is the partial frame loss concealment mode, the source decoding module 120 may, e.g., be configured to determine for each code word of a plurality of code words of the second part of the bitstream payload, depending on a number of corrected symbols of said code word, whether or not to conduct error concealment for those of the plurality of spectral lines of the current audio signal portion being represented by said code word, and to conduct error concealment for said those of the plurality of spectral lines of the current audio signal portion, for which the source decoding module 120 has determined that error concealment shall be conducted. According to an embodiment, for each code word of a plurality of code words of the second part of the bitstream payload, the source decoding module 120 may, e.g., be configured to determine a risk value indicating an approximation of a probability that said code word is corrupt, and to determine whether or not said risk value is greater than a risk threshold.

In an embodiment, the source decoding module 120 may, for example, be configured to determine the risk value further depending on a forward error correction coding mode.

According to an embodiment, the risk threshold may, e.g., be 2 16 ,

In other embodiments, another risk threshold may, e.g., be employed, for example,

2 ~12 , or, for example, 2 ~18 , or, for example, 2 20 .

In an embodiment, the source decoding module 120 may, e.g., be configured to calculate the risk value, for example, as follows: r(m, T) : = 16 ~2( - m~ (J 4 ) 15 T . wherein m indicates an epmode (e.g., the forward error correction coding mode), and wherein t indicates a number of symbol errors (e.g., a number of corrected symbols).

The above formula may, e.g., be valid for m = 2, 3, 4 and t = - 1.

In other embodiments, the source decoding module 120 may, e.g., be configured to employ a lookup-table to determine the risk value depending on the number of symbol errors (e.g., the number of corrected symbols), and depending on the epmode (e.g., the forward error correction coding mode).

For example, in an embodiment, a lookup table as follows may, e.g., be employed. epmode \ error count 0 1 2 3

3 2 6 13385*2 L -22 20475*2 6 not available

4 2 L -24 13385*2 L -30 20475*2 L -24 19195*2 L -18 In the above example, when, for example, a risk threshold of 2 ‘16 is employed, it follows that in epmode 3, no errors are allowed, and in epmode 4, at most 1 error is allowed.

In other embodiments, the lookup table may take different values for the risk value, for the epmode and for the error count (for example, taking even more errors 4, 5, 6, etc., or only fewer errors into consideration).

In other embodiments, the risk value may, e.g., be determined by the codeword length or in another way.

For example, some embodiments may, e.g., employ a different calculation of the risk value, e.g.,

Moreover, further embodiments may, e.g., only depend on the number of symbol errors but not on a forward error correction coding mode.

For example, in such embodiments, the risk value, may, e.g., be calculated as follows: o

In an embodiment, if said risk value is greater than said risk threshold, the source decoding module 120 may, e.g., be configured to conduct error concealment for those of the plurality of spectral lines of the current audio signal portion being represented by said code word.

In an embodiment, the source decoding module 120 is configured to conduct said error concealment for said code word is conducted in the partial frame loss error concealment mode. According to an embodiment, the channel decoding module 110 may, e.g., be configured to detect that the bitstream payload comprises one or more corrupted bits, if the channel decoding module 110 encounters an uncorrectable code word within the bitstream payload and/or if the channel decoding module 110, after conducting error correction on a plurality of code words of the bitstream payload, determines a recalculated hash value, which depends on said plurality of code words after the error correction, that differs from a received hash value. Fig. 2 illustrates an encoder 150 according to an embodiment.

The encoder 150 comprises a source encoding module 160 for encoding a signal portion of a signal within a frame, wherein the source encoding module 160 is configured to generate the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame being generated by the source encoding module 160 is suitable for being processed by the above-described decoder 100. Furthermore, the encoder 150 comprises a channel encoding module 170 being configured to generate the two or more redundancy bits depending on the bitstream payload.

Fig. 3 illustrates a system 190 according to an embodiment.

The system 190 comprises the encoder 150 of Fig. 2 for encoding a signal portion of a signal within a frame, wherein the encoder 150 is configured to generate the frame so that the frame comprises a bitstream payload and two or more redundancy bits, wherein the bitstream payload comprises a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload.

Moreover, the system 190 comprises the decoder 100 of Fig. 1.

In the following, mode decision concepts according to embodiments are described. In particular, mode decision and application of bit-error concealment concepts are described. Some embodiments are based on the finding, that instead of employing full frame loss concealment, when the signal is non-stationary and the bit-errors appear only in psychoacoustically less important signal data, partial frame loss concealment (PFLC), i.e. concealing only the distorted data, would be preferable, since concealment artefacts would then only show up in the psychoacoustically less important part, leading to a better audio quality.

In some embodiments, to achieve the best audio quality in bit-error impaired transmissions, a mode decision is invented to choose between FFLC and PFLC. This decision depends on the likelihood of an error within the psychoacoustically more important signal data and the signal characteristic of the last and current frame.

The decision, whether to apply full frame loss concealment or partial frame loss concealment is a joint decision of channel coding and source coding:

The channel decoding module proposes to apply:

Full frame loss concealment, if bits in the more sensitive part of the bitstream payload are likely to be corrupt - regardless of the possibility of errors in the less sensitive part of the bitstream payload.

Partial frame loss concealment, if bits in the more sensitive part of the bitstream are likely to be correct, but if bits in the less sensitive part of the bitstream payload are likely to be corrupt.

The likelihood of a certain part of a bitstream to be corrupt is provided by the channel decoding module. The channel coding is performed using block codes. Beside the error correction capability, it also provides a distinct error detection capability. Additionally, individual hashes are derived over the more and the less sensitive part of the bitstream. The evaluation of these hashes provides further certainty regarding to the aforementioned likelihood.

Source coding, e.g., if the channel coding opts for partial frame loss concealment, is described in the following. In an embodiment, the source decoding module 120 may, e.g., be configured to select to apply full frame loss concealment,

• if the previous frame was concealed with full frame loss concealment, or

• if the highest spectral line in the quantized spectrum represents a frequency smaller or equal than a threshold frequency (i.e. 2kHz) and

• the stability of the current and last signal is lower than a given threshold, or

• a pitch is transmitted (in the more sensitive bitstream payload) and

• the highest available spectral line in the quantized spectrum represents a frequency smaller than the pitch frequency, or

· there are relevant peaks in the previous decoded spectrum part above the highest available spectral line,

or

• no pitch is transmitted (in the more sensitive bitstream payload) and not enough spectral lines are available in the quantized spectrum.

In contrast, the source decoding module 120 may, e.g., be configured to select to apply partial frame loss concealment,

• if the previous frame was not concealed with full frame loss concealment and

• if the highest spectral line in the quantized spectrum represents a frequency higher than a threshold frequency (i.e. 2kHz), or

• if the stability of the current and last signal is higher or equal than a given threshold and

• if no pitch is transmitted and at least a certain amount of spectral lines are available in the quantized spectrum, or

• if a pitch is transmitted and

the highest available spectral line in the quantized spectrum represents a frequency higher than the pitch frequency and there are no relevant peaks in the previous decoded spectrum part above the highest available spectral line. Such embodiments are based on the finding that full-frame pitch-based concealment, like time domain concealment, may, e.g., be applied if the signal is stationary and monophonic (indicated by an available pitch) and the retrieved spectrum is not representative (indicated by at least one of the two above-mentioned criteria), since under those conditions it provides in general better results than partial frame loss concealment. Partial frame loss concealment may, e.g., be applied if the signal is non-stationary or polyphonic (indicated by an absent pitch) or if the signal is stationary and monophonic (indicated by an available pitch) and the retrieved spectrum is representative (indicated by the two above-mentioned criteria), since under those conditions it provides in general better results than any full frame loss concealment.

In the following, mode decision concepts according to some embodiments are described in more detail.

In some embodiments, the part of the bitstream designated for partial frame loss concealment may, e.g., be encoded in multiple code words and - in addition - protected, as a whole by a hash value which may, e.g., be transmitted to the channel decoding module along with the bitstream. Each code may, e.g., have a certain error correction capability. In embodiments, the channel decoding module may, e.g., first attempt to perform error correction on the designated code words, thereby keeping track of the number of corrected symbols for each of them.

In such embodiments, if not all errors were corrected, or if it is likely that not all errors were corrected, then an appropriate error concealment mode will be selected and error concealment will be conducted depending on the selected error concealment mode.

In some embodiments, partial frame loss concealment may, e.g., be triggered, if an uncorrectable code word is encountered; or if all code words were corrected and the re-calculated hash value does not match the received hash value.

The latter is for instance the case, if the channel decoding module erroneously corrected received code words, which have been damaged beyond the limits of the error correction capability provided by the underlying code.

If one of these cases occurs, an analysis of the individual code words follows:

By evaluating the number of corrected symbols for each code word it is decided, whether a subpart of the part of the bitstream being designated for partial frame loss concealment can still be trusted. For this, the probability of drawing a random word that can be corrected to be a valid code word with the given number of modified symbols is evaluated (which may, e.g., be referred to as a risk value). If this probability is above a certain threshold (e.g. 2 L {-16}) (which may, e.g., be referred to as a risk threshold), the corresponding bitstream area is marked as corrupt, otherwise it is treated as correct. This means, that the part indicated to be concealed with partial frame loss concealment (code words marked as corrupt) shrinks. This leads to a better audio quality, since the bits marked as correct of the part of the bitstream designated for partial frame loss concealment can be used by the decoder 100 jointly with the bits of the bitstream representing the psychoacoustically more important signal data.

Fig. 4 illustrates an examples for analysing payload data of code words according to an embodiment.

In the example of Fig. 4, 16 code words are displayed (numbered 1 to 16), where the cross-shaped blocks 210 and 230 correspond to the more sensitive part of the bitstream, while the other blocks (blocks 220, 222, 223) correspond to the less sensitive part, designated for partial frame loss concealment. Within the illustrated codewords 7 to 12, the numbers of corrected symbols are displayed.

It may be assumed that a number of corrected symbols up to "1 " leaves an error detection probability lower than the threshold, and a number of corrected symbols higher than "1 " leaves an error detection probability higher than the threshold.

In the example of Fig. 4, code words with numbers lower than or equal to "1 " are marked as correct (code words 7, 8, 9 and 12: left-bottom-to-right-top-shaped), and the remaining code words, i.e. code words with numbers higher than "1" are marked as corrupt (code words: 10 and 1 1 : left-top-to-right-bottom-shaped), see Fig. 4. In the given example in Fig. 4 this means that the signal part coded inside the codewords 7, 8, 9 and 12 can still be decoded and only the signal part coded inside the codewords 10 and 1 1 has to be concealed by partial frame loss concealment.

In an embodiment, the decoder 100 may, e.g., apply full frame loss concealment (FFLC if the previous frame was concealed with frame loss concealment or for the following five events (event 1 to event 5):

Event 1 : If bits in the more sensitive part of the bitstream payload are likely to be corrupt.

Event 2: If the stability of the current and last signal is lower than 0.5, in an embodiment for LC3, the stability is given by the stability factor Q which is calculated as: wherein: indicates a scalefactor vector of the current frame, and

indicates a scalefactor vector of the previous frame

N indicates the number of scalefactors within the scalefactor vectors

Q indicates a stability factor, which is bounded by 0 < Q £ 1

k indicates an index for a scalefactor vector

Event 3: If the stability factor is higher or equal to 0.5 and if a pitch being sent in the more sensitive bitstream payload and the highest available spectral line in the quantized spectrum represents a frequency smaller than (depending on the employed embodiment): the maximally possible pitch frequency; or: the pitch frequency sent in the more sensitive bitstream payload.

Event 4: If the stability factor is higher or equal to 0.5 and if a pitch being sent in the more sensitive bitstream payload, and k be , which is the first spectral bin that could not be recovered in the less sensitive bitstream payload, is lower than a calculated spectral bin index k peak .

This index corresponds to the highest relevant peak in the previous decoded spectrum and is determined through a peak detector algorithm. The realization of the peak detector is shown in the following example pseudo code: function [ k peak ]

block_size = 3;

threshl = 8 ;

fac = 0.3; mean_block_nrg = mean (X prev . L 2 ) ;

maxPeak = 0 ;

kpeak 0

if abs (X prev (0) } > abs {X prev (1) )

block_cent = sum ( X prev ( 0 : 1 ) . L 2 ) ;

if block_cent/block_size > threshl*mean_block_nrg

cur_max = max (abs (% prev (0:1)));

next max = max (abs (X prev (2 : 2+block_size-l ) ) ) ;

if cur__max > next_max

maxPeak = block_cent;

kpeak = ^ ' for k = 0 : block_size-l

if abs (X prev (k+1) ) >= abs (X prev (k) ) && abs (X prev (k+1) ) >= abs (Xprev (k+2 ) )

block_cent = sum (% prev (k: k+block_size-l) . L 2) ;

if block__cent/block size > threshl*mean_block_nrg cur_max = max (abs (% prev (k: k+block_size-l ) ) ) ;

size : k-1 = max (abs ( prev (j ) ) ,

prev_max) ;

next _max =

max ( bs ( Rg n (k+block size : +2*block size-1)));

if cur_max >= prev_max && cur j max > next max if block_cent > fac*maxPeak

kpeaic = k+block_size-l ;

if block_cent >= maxPeak

maxPeak = block cent; for k = block_size .. N F - (2*block_size)

if abs (Xprev (k+1) ) >= abs (% pre v (b) ) && abs (X pre v (k+1) ) >= abs (Xprev (k+2) )

block_cent = sum(^ prev (k: k+block_size-l ) . L 2) ;

if block cent/block size > threshl*mean_block_nrg

& & cur_max > next_max *maxPeak

size-l ;

_ = maxPeak

maxPeak = block cent; wherein: k indicates a spectral bin,

N F indicates the number of spectral lines, and

2 W ev indicates the decoded spectrum of the last non-FFLC frame.

Event 5: If the stability factor is higher or equal to 0.5, and if no pitch is being sent in the more sensitive bitstream payload and the ratio between the partial to the full energy calculated on the last quantized spectrum is lower than 0.3: N f - i

0.3 ^ ^q cik) 2

k= o wherein: k indicates a spectral bin,

k be indicates the first spectral bin which could not be recovered,

N p indicates the number of spectral lines,

indicates the quantized spectrum of the last non-FFLC frame.

If none of the five events trigger or the previous frame was not concealed with full frame loss concealment and the first spectral bin which could not be recovered is higher than a threshold (i.e. representing a frequency of 2kHz), partial frame loss concealment (PFLC) should be applied.

The following example pseudo code represents the upper description:

#if 1 /* choose the preferred embodiment by 0 or 1 */

pitchThresholdBin = maxPitchBin;

#else

pitchThresholdBin = currPitchBin;

#endif

concealMode = PFLC;

if prevBfi == FFLC;

concealMode = FFLC;

else if k be < bandwidth

if Q < 0.5

concealMode = FFLC;

else if pitchjpresent == 1

kpeak = pc_peak_detector {X prev , N F ) ;

if ( k be < kp g ai i I I k be < pitchThresholdBin)

concealMode = FFLC;

else if (part_nrg < 0.3*full_nrg)

concealMode = FFLC; where: prevBfi - indicates the concealment method in the previous frame if applied concealMode - indicates, whether FFLC or PFLC should be applied pitch_present - indicates, whether a pitch is present in the current frame pitchThresholdBin - indicates the bin, which needs to be at least available in order to perform PFLC currPitchBin - indicates the current pitch maxPitchBin - indicates the highest (maximum) pitch value which is supported bandwidth - indicates the bandwidth bin, which needs to be at least available in order to not analyze the five conditions k be - first spectral bin which could not be recovered

N F - number of spectral lines

Xprev ~ decoded spectrum of the last non-FFLC frame

¾(fc) - quantized spectrum of the last non-FFLC frame, In the following, a Karnaugh-Map for concealment method selection depending on source coding is described

There are five conditions that collectively determine which concealment method should be applied. They are subsequently assigned to logical variables are as follows: a = "The first part of the current bitstream payload does not encode a signal component that is tonal or harmonic“ b =“The ratio between the energy from 0 to the frequency bin he -1 of the previous quantized spectrum and the energy from 0 to the top of the previous quantized spectrum is greater than or equal to a threshold” c =“The stability factor is higher than or equal to the threshold“ d =“All the frequencies are smaller than pitch frequency or maximal supported pitch frequency” e=“The previous signal portion encodes at least one peak of the audio signal being greater than a peak threshold”

Using those variables, a 32(=2 5 ) celled-K-map is created as depicted in table 3

Table 3:

Table 3 illustrates a 32 celled K-map shows graphically the logic triggering either of concealment methods The corresponding Boolean equations are as follows:

PFLC ( 1 ) = a ' ccT e ' + abc = c ( a ' d ' e ' + ab )

FFLC ( 0 ) = ab ' + c' + a ' e + a ' d = ab ' + c ' + a ' ( e+d) Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, one or more of the most important method steps may be executed by such an apparatus.

Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software or at least partially in hardware or at least partially in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.

Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.

Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.

Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.

In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitory. A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.

A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.

In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are preferably performed by any hardware apparatus.

The apparatus described herein may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

The above described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.

References:

[1] "I SO/I EC 14496-3 MPEG-4 Information technology— Coding of audio-visual objects - Part 3: Audio," 2009.

[2] R. Sperschneider, D. Homm and L.-H. Chambat, "Error Resilient Source Coding with Differential Variable Length Codes and its Application to MPEG Advance Audio Coding," in Audio Engineering Societey, Munich, 2002. [3] E.-m. Oh, H.-s. Sung, K.-h. Choo and J.-h. Kim, "Method and apparatus to conceal error in decoded audio signal". Patent US8,798,172 B2, 22 Nov. 2007.

[4] P. Lauber and R. Sperschneider, "Error Concealment for Compressed Digital Audio," in Audio Engineering Society, 2001.