Decoder and decoding method for selecting error concealment mode, and encoder and encoding method
By introducing redundant bits and automatic selection of error hiding modes in audio decoders and encoders, the problem of poor bit error handling in the prior art is solved, and the audio quality and stability are improved.
Patent Information
- Application Number
- CN202080014291.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-11
- Filing Date
- 2020-02-12
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2040-02-12
AI Technical Summary
In the prior art, it is difficult to effectively select appropriate hidden strategies when dealing with bit errors, resulting in poor audio quality.
A decoder and encoder are designed to detect damaged bits in the bitstream payload by introducing redundant bits in the frame, and to select error hiding modes of full-frame loss hidden or partial-frame loss hidden according to signal characteristics.
When a bit error occurs, the appropriate error hiding mode is automatically selected according to the signal characteristics, which improves the quality and stability of audio decoding.
Smart Images

Figure CN113491079B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a decoder and a decoding method for selecting an error concealment mode, and also relates to an encoder and an encoding method. Background Art
[0002] Bit errors may occur on the transmission chain between an encoder and a decoder. Unprocessed bit errors may result in annoying artifacts; thus, many audio decoders simply trigger frame loss / packet loss concealment (PLC), subsequently referred to as full-frame loss concealment (FFLC), on the entire frame if any bit error is detected within the frame. Generally, this achieves good audio quality, especially when the signal is stationary.
[0003] MPEG-4 Part 3 Audio [1] defines the error sensitivity classes (Table 4.94) of the bitstream payload of AAC; Table 1 shows the classes of AAC main data. Specifically, Table 1 describes the error sensitivity classes for AAC.
[0004] Table 1:
[0005]
[0006] Depending on the distortion class, a separate concealment strategy as shown in Table 2 is selected. Table 2 describes the concealment strategies for AAC error sensitivity classes.
[0007] Table 2:
[0008]
[0009] MPEG-4 Part 3 Audio also specifies bit-sliced arithmetic coding (BSAC), which allows for fine-grained scalability with a large number of layers. To improve the error recovery ability, segmented binary arithmetic (SBA) coding is introduced, which groups multiple layers into segments. Arithmetic coding is reinitialized at the start of each segment to avoid error propagation.
[0010] An adaptive selection of time-domain or frequency-domain concealment was proposed in [3]. In [3], three error detection methods are described.
[0011] The first error detection method uses cyclic redundancy check (CRC).
[0012] The second error detection method compares the length of the bitstream payload sent from the encoder with the length of the bitstream payload given to the decoder.
[0013] The third error detection method compares the length of the bitstream payload sent from the encoder with the length of the bits consumed during the decoding process of the bitstream payload: In BSAC, due to the characteristics of arithmetic decoding, 32 or fewer additional bits can be decoded. Therefore, if the bit difference is greater than 32 bits, an error is determined to exist.
[0014] Subsequently, in [3], multiple error localization methods are described:
[0015] According to the first error localization method of [3], the spectral energy of the current frame is compared with the spectral energy of the previous frame.
[0016] According to the second error localization method of [3], the bits of each layer allocated for decoding the bitstream payload are checked relative to the number of bits consumed by the arithmetic decoder. When there is an error in a layer, more or fewer bits can be used in the arithmetic decoding. Therefore, a layer using more or fewer bits indicates a high likelihood of an error in that layer or in a previous layer.
[0017] Continuing at this position, different hiding strategies are proposed in [3]: If the detected position is before the first critical position, time-domain hiding is applied. If the detected position is after the first critical position but before the second critical position, frequency-domain hiding is applied. If the detected position is after the second critical position, no hiding is applied.
[0018] Various frame loss hiding techniques available in the frequency domain are discussed in [4]. Specifically, silence, repetition, noise replacement, and prediction are mentioned in [4]. Summary of the Invention
[0019] The object of the present invention is to provide an improved concept for error hiding. The object of the present invention is solved by a decoder, an encoder, corresponding decoding and encoding methods, a computer program, and a computer-readable storage medium.
[0020] A decoder is provided that decodes a frame to reconstruct a signal portion of a signal. The signal portion is encoded within the frame, where the frame includes a bitstream payload and two or more redundant bits, where the bitstream payload includes a plurality of payload bits, and where each of the payload bits exhibits a position within the bitstream payload. The decoder includes a channel decoding module configured to detect whether the bitstream payload includes one or more corrupted bits, which are one or more payload bits that are distorted or likely to be distorted among the payload bits, depending on the two or more redundant bits. Additionally, the decoder includes a source decoding module. If the channel decoding module does not detect any corrupted bits within the bitstream payload, the source decoding module is configured to decode the bitstream payload without error concealment to reconstruct the signal portion. If the channel decoding module has detected one or more corrupted bits within the bitstream payload, the source decoding module is configured to select a selected error concealment mode from 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 the signal characteristics of the signal portion of the signal, and is configured to perform error concealment depending on the selected error concealment mode to reconstruct the signal portion.
[0021] Additionally, an encoder is provided. The encoder includes a source encoding module for encoding a signal portion of a signal within a frame, where the source encoding module is configured to generate a frame such that the frame includes a bitstream payload and two or more redundant bits, where the bitstream payload includes a plurality of payload bits, where each of the payload bits exhibits a position within the bitstream payload, and where the frame generated by the source encoding module is adapted to be processed by the decoder described above. Further, the encoder includes a channel encoding module configured to generate two or more redundant bits depending on the bitstream payload.
[0022] 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, where the frame includes a bitstream payload and two or more redundant bits, where the bitstream payload includes a plurality of payload bits, and where each of the payload bits exhibits a position within the bitstream payload.
[0023] The method includes:
[0024] - Detecting whether the bitstream payload includes one or more corrupted bits, which are one or more payload bits that are distorted or likely to be distorted among the payload bits, depending on the two or more redundant bits.
[0025] - If no corrupted bits are detected within the bitstream payload, the bitstream payload is decoded without error concealment to reconstruct the signal portion, and
[0026] - If one or more corrupted bits are detected within the bitstream payload, a selected error concealment mode among two or more error concealment modes is selected depending on the position of at least one of the one or more corrupted bits within the bitstream payload and depending on the signal characteristics of the signal portion of the signal, and error concealment is performed depending on the selected error concealment mode to reconstruct the signal portion.
[0027] Additionally, another method is provided. The method includes:
[0028] - Encoding the signal portion of the signal within a frame, where the frame is generated such that the frame includes a bitstream payload and two or more redundant bits, where the bitstream payload includes a plurality of payload bits, and where each of the payload bits exhibits a position within the bitstream payload. And:
[0029] - Using the frame to perform the above method for decoding the frame.
[0030] Additionally, a method for encoding a signal portion within a frame is provided. The method includes:
[0031] - Generating a frame such that the frame includes a bitstream payload and two or more redundant bits, where the bitstream payload includes a plurality of payload bits, and where each of the payload bits exhibits a position within the bitstream payload,
[0032] where the frame can be decoded according to the method of an embodiment of the present application. And:
[0033] - Generating two or more redundant bits depending on the bitstream payload.
[0034] Additionally, a computer program is provided for implementing the method when one of the above methods is executed on a computer or a signal processor.
[0035] Furthermore, a frame generated according to the method for encoding the signal portion of the signal within a frame as described above is provided. Description of the Drawings
[0036] Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings, where:
[0037] Figure 1 A decoder for decoding a frame to reconstruct the signal portion of the signal according to an embodiment is shown.
[0038] Figure 2 Shows an encoder according to an embodiment.
[0039] Figure 3 Shows a system according to an embodiment.
[0040] Figure 4 Shows an example for analyzing payload data of a codeword according to an embodiment. Specific embodiments
[0041] Figure 1 Shows a decoder 100 for decoding a frame to reconstruct a signal portion according to an embodiment.
[0042] The signal portion is encoded within the frame, where the frame includes a bitstream payload and two or more redundant bits, where the bitstream payload includes a plurality of payload bits, and where each of the payload bits exhibits a position within the bitstream payload.
[0043] The decoder 100 includes a channel decoding module 110 configured to detect whether the bitstream payload includes one or more corrupted bits depending on the two or more redundant bits, where the one or more corrupted bits are one or more payload bits that are distorted or likely to be distorted among the payload bits.
[0044] In addition, the decoder 100 includes a source decoding module 120.
[0045] If the channel decoding module 110 does not detect any corrupted bits within the bitstream payload, the source decoding module 120 is configured to decode the bitstream payload without error concealment to reconstruct the signal portion.
[0046] If the channel decoding module 110 has detected one or more corrupted bits within the bitstream payload, the source decoding module 120 is configured to select a selected error concealment mode among 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 the signal characteristics of the signal portion of the signal, and is configured to perform error concealment depending on the selected error concealment mode to reconstruct the signal portion.
[0047] According to an embodiment, the channel decoding module can be, for example, an error detection and error correction module configured to perform error correction on the bitstream payload before detecting whether the bitstream payload includes one or more corrupted bits.
[0048] In an embodiment, if the channel decoding module 110 determines that it cannot successfully perform error correction on the bitstream payload, the channel decoding module 110 can be configured, for example, to determine the one or more corrupted bits within the bitstream payload.
[0049] According to an embodiment, the first error concealment mode among two or more error concealment modes can be, for example, a full-frame loss concealment mode. If the channel decoding module 110 has indicated that the bitstream payload includes one or more corrupted bits, and if the selected error concealment mode is the full-frame loss concealment mode, the source decoding module 120 can be configured, for example, to perform error concealment without using the bitstream payload.
[0050] In an embodiment, the second error concealment mode among two or more error concealment modes can be, for example, a partial-frame loss concealment mode. If the channel decoding module 110 has indicated that the bitstream payload includes one or more corrupted bits, and if the selected error concealment mode is the partial-frame loss concealment mode, the source decoding module 120 can be configured, for example, to: obtain a decoded signal by decoding other bits among the payload bits that are not indicated by the channel decoding module 110 as one or more corrupted bits without performing error concealment on the other bits, and by performing error concealment on one or more payload bits indicated by the channel decoding module 110 as one or more corrupted bits of the payload bits.
[0051] According to an embodiment, two or more error concealment modes can include, for example, exactly two error concealment modes, where the first error concealment mode among the exactly two error concealment modes can be, for example, a full-frame loss concealment mode, and where the second error concealment mode among the exactly two error concealment modes is a partial-frame loss concealment mode.
[0052] In an embodiment, the bitstream payload can be split, for example, into a first portion of the multiple payload bits of the bitstream payload and a second portion of the multiple payload bits of the bitstream payload. If the channel decoding module 110 has indicated that the bitstream payload includes one or more corrupted bits, and if the first portion of the bitstream payload includes at least one of the one or more corrupted bits, the source decoding module 120 can be configured, for example, 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 payload includes one or more corrupted bits, and if the first portion of the bitstream payload does not include any of the one or more corrupted bits, the source decoding module 120 can be configured, for example, to select the selected error concealment mode depending on the signal characteristics of the signal portion of the signal.
[0053] According to an embodiment, the frame is the current frame, wherein the bitstream payload is the current bitstream payload, wherein the plurality of payload bits are the plurality of current payload bits, wherein the signal portion of the signal is the current signal portion of the signal, and wherein the signal characteristic is the current signal characteristic. If the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, the source decoding module 120 may be configured, for example, to select the selected error concealment mode among two or more error concealment modes depending on the current signal characteristic of the current signal portion of the signal encoded by the plurality of current payload bits of the current frame and depending on the previous signal characteristic of the previous signal portion of the signal encoded by the plurality of previous payload bits of the previous bitstream payload of the previous frame.
[0054] In an embodiment, the current signal portion of the signal encoded by the plurality of current payload bits of the current bitstream payload may be, for example, the current audio signal portion of an audio signal, and the previous signal portion of the signal encoded by the plurality of previous payload bits of the previous bitstream payload may be, for example, the previous audio signal portion of the audio signal. The current bitstream payload may encode, for example, multiple spectral lines of the current audio signal portion.
[0055] In an embodiment, if the corrupted bits only affect the remaining bits, no error concealment is performed and the frame is decoded as a normal frame without considering the damaged remaining bits.
[0056] The stability factor represents the similarity between two signals (e.g., between the current signal and the past signal). For example, the stability factor may be bounded by [0:1], for example. A stability factor close to 1 or 1 may mean that the two signals are very similar, while a stability factor close to 0 or 0 may mean that the two signals are very different. For example, the similarity may be calculated for the spectral envelopes of two audio signals.
[0057] In an embodiment, if the stability factor is below a threshold, e.g., the threshold 0.5, full-frame loss concealment is performed.
[0058] According to an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, the source decoding module 120 may be configured, for example, to select the full-frame loss concealment mode as the selected error concealment mode if full-frame loss concealment was used to conceal the previous frame.
[0059] In an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured, for example, to select the full-frame loss concealment mode as the selected error concealment mode if the highest spectral line among multiple spectral lines of the current audio signal portion exhibits a frequency less than or equal to a threshold frequency.
[0060] According to an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured, for example, to select the full-frame loss concealment mode as the selected error concealment mode if a stability factor is less than a predetermined threshold, where the stability factor indicates the stability of the current audio signal portion and a previous audio signal portion. For example, the predetermined threshold may be equal to 0.5, for example.
[0061] According to an embodiment, wherein if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured, for example, to select the full-frame loss concealment mode as the selected error concealment mode if full-frame loss concealment was used to conceal a previous frame, or if a stability factor is less than a predetermined threshold, where the stability factor indicates the stability of the current audio signal portion and a previous audio signal portion. For example, the predetermined threshold may be equal to 0.5, for example.
[0062] In an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured to select the full-frame loss concealment mode as the selected error concealment mode in the following cases: if the highest spectral line among multiple spectral lines of the current audio signal portion represents the frequency less than or equal to the threshold frequency, and if the first portion of the current bitstream payload encodes a signal component of an audio signal that is a harmonic or harmonics, and if the previous signal portion encodes at least one peak of an audio signal that is greater than a peak threshold and corresponds to a frequency greater than all frequencies indicated by the multiple spectral lines of the current audio signal portion.
[0063] In another embodiment, the pitch of the audio signal may exhibit a pitch frequency, for example. If the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured, for example, to select the full-frame loss concealment mode as the selected error concealment mode in the following cases: if the highest spectral line among the multiple spectral lines of the current audio signal portion exhibits a frequency less than or equal to the threshold frequency, and if the first portion of the current bitstream payload encodes signal components of the audio signal that are tones or harmonics, and if all frequencies indicated by the multiple spectral lines of the current audio signal portion are less than the maximum supported pitch frequency.
[0064] In an embodiment, if the stability factor is higher than or equal to a threshold, for example, the threshold 0.5, and if the bitstream payload does not encode signal components of the audio signal that are tones or harmonics, and if the ratio of the energy from 0 to frequency band k be -1 of the previously quantized spectrum of the previous audio signal to the energy from 0 to the highest point of the previously quantized spectrum of the previous audio signal is lower than a second threshold, for example, the second threshold 0.3, then full-frame loss concealment is performed.
[0065] According to an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured, for example, to select the partial-frame loss concealment mode as the selected error concealment mode in the following cases: if full-frame loss concealment has not been used to conceal the previous frame, and if the highest spectral line among the multiple spectral lines of the current audio signal portion exhibits a frequency greater than the threshold frequency.
[0066] In an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module 120 may be configured, for example, to select the partial-frame loss concealment mode as the selected error concealment mode in the following cases: if full-frame loss concealment has not been used to conceal the previous frame, and if the highest spectral line among the multiple spectral lines of the current audio signal portion exhibits a frequency greater than the threshold frequency, and if the stability factor is greater than or equal to the predetermined threshold, and if the first portion of the current bitstream payload does not encode signal components of the audio signal that are tones or harmonics, and if the ratio of the energy from 0 to frequency band k beThe ratio between the energy of -1 and the energy of the highest point of the previously quantized spectrum of the previous audio signal is greater than or equal to the ratio threshold.
[0067] According to an embodiment, if the channel decoding module 110 has indicated that the current bitstream payload includes one or more corrupted bits, and if the first part of the current bitstream payload does not include any of the one or more corrupted bits, the source decoding module 120 may be configured, for example, to select the partial frame loss concealment mode as the selected error concealment mode in the following cases: if full frame loss concealment is not used to conceal the previous frame, and if the highest spectral line among multiple spectral lines of the current audio signal portion exhibits a frequency greater than the threshold frequency, and if the stability factor is greater than or equal to the predetermined threshold, if the first part of the current bitstream payload encodes a signal component as a tone or a harmonic, and if the highest spectral line among multiple spectral lines of the current audio signal portion exhibits a frequency greater than the pitch frequency, and if the previous signal portion does not encode any peak of the audio signal that is greater than the peak threshold and corresponds to a frequency greater than all frequencies indicated by the multiple spectral lines of the current audio signal portion.
[0068] In an embodiment, if the selected error concealment mode is the partial frame loss concealment mode, the source decoding module 120 may be configured, for example, to determine, depending on the number of corrected symbols of the codeword, for each of the multiple codewords of the second part of the bitstream payload, whether to perform error concealment for the spectral line represented by the codeword among the multiple spectral lines of the current audio signal portion; and perform error concealment for the spectral lines of the current audio signal portion that the source decoding module 120 has determined should be error concealed.
[0069] According to an embodiment, for each of the multiple codewords of the second part of the bitstream payload, the source decoding module 120 may be configured to determine a risk value that approximates the probability of indicating that the codeword is corrupted, and determine whether the risk value is greater than the risk threshold.
[0070] In an embodiment, the source decoding module 120 may be configured to further determine the risk value depending on the forward error correction coding mode.
[0071] According to an embodiment, the risk threshold may be, for example, 2 -16 。
[0072] In other embodiments, another risk threshold may be adopted, for example, 2 -12 ,or for example 2 -18 ,or for example 2 -20 。
[0073] In an embodiment, the source decoding module 120 may be configured, for example, to calculate a risk value as follows:
[0074]
[0075] where m indicates the ep mode (e.g., forward error correction coding mode), and where τ indicates the number of symbol errors (e.g., the number of corrected symbols).
[0076] The above formula may be valid, for example, for m = 2, 3, 4 and τ = 0,.., m - 1.
[0077] In other embodiments, the source decoding module 120 may be configured, for example, to use a look-up table to determine the risk value depending on the number of symbol errors (e.g., the number of corrected symbols) and depending on the ep mode (e.g., forward error correction coding mode).
[0078] For example, in an embodiment, a look-up table as follows may be used.
[0079]
[0080] In the above example, when a risk threshold of, for example, 2 -16 is used, it follows that in ep mode 3, no errors are allowed, and in ep mode 4, at most 1 error is allowed.
[0081] In other embodiments, the look-up table may take different values for the risk value, ep mode, and error count (e.g., considering even more errors 4, 5, 6, etc., or only considering fewer errors).
[0082] In other embodiments, the risk value may be determined, for example, by the codeword length or in another way.
[0083] For example, some embodiments may use a different calculation of the risk value, for example,
[0084] or for example,
[0085]
[0086] In addition, other embodiments may depend only on the number of symbol errors and not on the forward error correction coding mode.
[0087] For example, in such an embodiment, the risk value may be calculated, for example, as follows:
[0088] or according to
[0089] or according to
[0090]
[0091] In an embodiment, if the risk value is greater than the risk threshold, the source decoding module 120 may be configured, for example, to perform error concealment for a frame of multiple spectral lines of the current audio signal portion represented by the codeword.
[0092] In an embodiment, the source decoding module 120 is configured to perform the error concealment for the codeword in a partial frame loss error concealment mode.
[0093] According to an embodiment, the channel decoding module 110 may be configured, for example, to detect that the bitstream payload includes one or more corrupted bits if the channel decoding module 110 encounters an uncorrectable codeword within the bitstream payload, and / or if the channel decoding module 110 determines that a recalculated hash value is different from the received hash value after performing error correction on multiple codewords of the bitstream payload, the recalculated hash value being dependent on the multiple codewords after error correction.
[0094] Figure 2 An encoder 150 according to an embodiment is shown.
[0095] The encoder 150 includes 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 a frame such that the frame includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, and wherein the frame generated by the source encoding module 160 is adapted to be processed by the decoder 100 described above.
[0096] In addition, the encoder 150 includes a channel encoding module 170 configured to generate two or more redundant bits depending on the bitstream payload.
[0097] Figure 3 A system 190 according to an embodiment is shown.
[0098] The system 190 includes Figure 2 an encoder 150 for encoding a signal portion of a signal within a frame, wherein the encoder 150 is configured to generate a frame such that the frame includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, and wherein each of the payload bits exhibits a position within the bitstream payload.
[0099] Additionally, the system 190 includes Figure 1 a decoder 100 as described above.
[0100] The following describes the mode decision concept according to an embodiment. Specifically, the mode decision and application of the bit error concealment concept are described.
[0101] Some embodiments are based on the following finding: when the signal is unstable and bit errors only occur in the signal data that is less important psychoacoustically, instead of using full-frame loss concealment, partial-frame loss concealment (PFLC) will be preferred, that is, only the distorted data is concealed, since the concealment artifacts will only appear in the less important psychoacoustic parts, resulting in better audio quality.
[0102] In some embodiments, in order to achieve the best audio quality in a transmission impaired by bit errors, mode decision is invented to select between FFLC and PFLC. This decision depends on the likelihood of errors in the more important psychoacoustic signal data and the signal characteristics of the last frame and the current frame.
[0103] The decision of whether to apply full-frame loss concealment or partial-frame loss concealment is a joint decision of channel coding and source coding:
[0104] The channel decoding module proposes:
[0105] If the bits in the more sensitive part of the bitstream payload are likely to be corrupted, full-frame loss concealment is applied regardless of the likelihood of errors in the less sensitive part of the bitstream payload.
[0106] If the bits in the more sensitive part of the bitstream are likely to be correct, but if the bits in the less sensitive part of the bitstream payload are likely to be corrupted, partial-frame loss concealment is applied.
[0107] The likelihood of a specific part of the bitstream being corrupted is provided by the channel decoding module. Channel coding is performed using block codes. In addition to the error correction ability, it also provides significant error detection ability. Additionally, individual hashes are derived on the more sensitive part and the less sensitive part of the bitstream. The evaluation of these hashes provides further certainty regarding the aforementioned likelihood.
[0108] The following describes source coding, for example, if the channel coding selects partial-frame loss concealment.
[0109] In an embodiment, the source decoding module 120 can be configured, for example, to select to apply full-frame loss concealment in the following cases,
[0110] · If the previous frame was concealed using full-frame loss concealment, or
[0111] · If the highest spectral line in the quantized spectrum represents a frequency less than or equal to a threshold frequency (i.e., 2 kHz), and
[0112] · The stability of the current signal and the last signal is lower than a given threshold, or
[0113] · (In a more sensitive bitstream payload) pitch is sent, and
[0114] · The highest available spectral line in the quantized spectrum represents a frequency less than the pitch frequency, or
[0115] · There is a relevant peak in the previously decoded spectral part that is higher than the highest available spectral line, or
[0116] · (In a more sensitive bitstream payload) pitch is not sent, and there are not enough spectral lines available in the quantized spectrum.
[0117] Conversely, the source decoding module 120 can be configured, for example, to select to apply partial frame loss concealment in the following cases
[0118] · If the previous frame was not concealed using full frame loss concealment, and
[0119] · If the highest spectral line in the quantized spectrum represents a frequency higher than a threshold frequency (i.e., 2 kHz), or
[0120] · If the stability of the current signal and the last signal is higher than or equal to the given threshold, and
[0121] · If pitch is not sent, and at least a specific number of spectral lines are available in the quantized spectrum, or
[0122] · If pitch is sent, and the highest available spectral line in the quantized spectrum represents a frequency higher than the pitch frequency, and there is no relevant peak in the previously decoded spectral part that is higher than the highest available spectral line.
[0123] Such embodiments are based on the finding that if the signal is stationary and monophonic (indicated by the available pitch), and the retrieved spectrum is not representative (indicated by at least one of the two criteria above), then full frame pitch-based concealment (such as, time domain concealment) can be applied, since under these conditions, it generally provides better results than partial frame loss concealment.
[0124] For example, if the signal is non-stationary or polyphonic (indicated by the missing pitch), or if the signal is stationary and monophonic (indicated by the available pitch), and the retrieved spectrum is representative (indicated by the two criteria above), then partial frame loss concealment can be applied, since under those conditions, it generally provides better results than any full frame loss concealment.
[0125] Below, the mode decision concept according to some embodiments is described in more detail.
[0126] In some embodiments, the portion of the bitstream designated for partial frame loss concealment may be encoded, for example, in multiple codewords and, additionally, protected as a whole by a hash value which may be sent, for example, together with the bitstream to the channel decoding module. Each code may have, for example, a specific error correction capability. In an embodiment, the channel decoding module may, for example, first attempt to perform error correction on the designated codewords, thereby keeping track of the number of corrected symbols for each of them.
[0127] In such an embodiment, if not all errors are corrected, or if it is possible that not all errors are corrected, an appropriate error concealment mode will be selected and error concealment will be performed depending on the selected error concealment mode.
[0128] In some embodiments, if an uncorrectable codeword is encountered, or if all codewords are corrected and the recalculated hash value does not match the received hash value, partial frame loss concealment may be triggered, for example.
[0129] The latter is, for example, the case if the channel decoding module has incorrectly corrected a received codeword whose degree of corruption has exceeded the limits of the error correction capability provided by the underlying code.
[0130] If one of these cases occurs, the analysis of the individual codewords is as follows:
[0131] By evaluating the number of corrected symbols for each codeword, it is determined whether a sub - portion of the portion of the bitstream designated for partial frame loss concealment can still be trusted. To this end, the probability of drawing a random word that can be corrected to a valid codeword given a certain number of modified symbols (which may be referred to as the risk value, for example) is evaluated. If this probability is higher than a specific threshold (e.g., 2^(-16)) (which may be referred to as the risk threshold, for example), the corresponding bitstream region is marked as corrupted, otherwise it is considered correct. This means that the portion (the corrupted codewords) indicating the part to be hidden using partial frame loss concealment shrinks. This results in better audio quality because the decoder 100 can jointly use the bits marked as correct in the portion of the bitstream designated for partial frame loss concealment with the bits of the bitstream representing psychologically more important signal data.
[0132] Figure 4 An example of analyzing the payload data of a codeword according to an embodiment is shown.
[0133] In Figure 4In the example, 16 codewords (numbered 1 to 16) are shown, where the cross-shaped blocks 210 and 230 correspond to the more sensitive parts of the bitstream, while the other blocks (blocks 220, 222, 223) correspond to the less sensitive parts and are designated for partial frame loss concealment. The number of corrected symbols is shown within codewords 7 to 12 as depicted.
[0134] It can be assumed that a number of corrected symbols up to “1” results in an error detection probability lower than a threshold, and a number of corrected symbols higher than “1” results in an error detection probability higher than the threshold.
[0135] In Figure 4 the example, codewords with a number less than or equal to “1” are marked as correct (codewords 7, 8, 9, and 12: from bottom left to top right shape), while the remaining codewords, i.e., those with a number greater than “1”, are marked as corrupted (codewords 10 and 11: from top left to bottom right shape), see Figure 4 In Figure 4 the given example, this means that the signal parts encoded within codewords 7, 8, 9, and 12 can still be decoded, and only the signal parts encoded within codewords 10 and 11 have to be concealed by partial frame loss concealment.
[0136] In an embodiment, the decoder 100 can, for example, apply full frame loss concealment (FFLC if frame loss concealment is used to conceal a previous frame or for the subsequent five events (events 1 to event 5)):
[0137] Event 1: If bits in the more sensitive part of the bitstream payload may be corrupted.
[0138] Event 2: If the stability of the current and last signals is lower than 0.5, in an embodiment of LC3, the stability is given by a stability factor θ, which is calculated as:
[0139]
[0140] where:
[0141] scfQ curr indicates the scaling factor vector of the current frame, and
[0142] scfQ prev indicates the scaling factor vector of the previous frame,
[0143] N indicates the number of scaling factors within the scaling factor vector,
[0144] θ indicates the stability factor, which is bounded by 0 ≤ θ ≤ 1,
[0145] k indicates the index for the scaling factor vector
[0146] Event 3: If the stability factor is higher than or equal to 0.5, and if the pitch sent in the more sensitive bitstream payload and the highest available spectral line in the quantized spectrum represent less than (depending on the embodiment employed): the maximum possible pitch frequency; or: the pitch frequency of the pitch sent in the more sensitive bitstream payload.
[0147] Event 4: If the stability factor is higher than or equal to 0.5, and if the pitch sent in the more sensitive bitstream payload, and a first spectral band k that cannot be recovered in the less sensitive bitstream payload be , is lower than the calculated spectral band index k peak .
[0148] This index corresponds to the highest correlation peak in the previously decoded spectrum and is determined by a peak detector algorithm. The implementation of the peak detector is shown in the following example pseudocode:
[0149]
[0150]
[0151]
[0152] where:
[0153] k indicates the spectral band,
[0154] N F indicates the number of spectral lines, and
[0155] indicates the quantized spectrum of the last non-FFLC frame.
[0156] Event 5: If the stability factor is higher than or equal to 0.5, and if no pitch is sent in the more sensitive bitstream payload, and the ratio between the partial energy and the total energy calculated on the last quantized spectrum is lower than 0.3:
[0157]
[0158] where:
[0159] k indicates the spectral band,
[0160] k be indicates the first spectral band that cannot be recovered,
[0161] N F indicates the number of spectral lines,
[0162] indicates the quantized spectrum of the last non-FFLC frame.
[0163] If five events are triggered or none of the previous frames are hidden by full-frame loss concealment and the first non-recoverable spectral band is higher than a threshold (i.e., a frequency representing 2 kHz), then partial frame loss concealment (PFLC) should be applied.
[0164] The following example pseudocode represents the above description:
[0165]
[0166]
[0167] where:
[0168] prevBfi - indicates the concealment method in the previous frame if it is applied, concealMode - indicates whether FFLC or PFLC should be applied;
[0169] pitch_present - indicates whether pitch is present in the current frame;
[0170] PitchThroldBin - indicates the frequency band that needs to be available at least to perform PFLC;
[0171] currPitchBin - indicates the current pitch;
[0172] maxPitchBin - represents the highest (maximum) pitch value supported;
[0173] bandwidth - indicates the bandwidth slot that needs to be available at least to not analyze the five conditions; k be - The first non-recoverable spectral band;
[0174] N F - The number of spectral lines;
[0175] - The decoded spectrum of the last non-FFLC frame;
[0176] - The quantized spectrum of the last non-FFLC frame.
[0177] Next, the Karnaugh map mapping for the selection of the concealment method depending on the source coding is described. There are five conditions that jointly determine which concealment method should be applied. They are subsequently assigned the following logical variables:
[0178] a = "The first part of the current bitstream payload does not encode a signal component that is a tone or a harmonic";
[0179] b = "From 0 to the frequency band k of the previous quantized spectrumbe The ratio between the energy of -1 and the energy from 0 to the highest point of the previously quantized spectrum is greater than or equal to a threshold value;
[0180] c = "The stability factor is higher than or equal to a threshold value";
[0181] d = "All frequencies are less than the pitch frequency or the maximum supported pitch frequency";
[0182] e = "The previous signal portion encodes at least one peak of the audio signal greater than the peak threshold"
[0183] Using these variables, as depicted in Table 3, create a 32 (= 2 5 ) cell K-map.
[0184] Table 3:
[0185]
[0186] Table 3 shows a 32-cell K-map, graphically showing the logic that triggers any of the hidden methods.
[0187] The corresponding Boolean equations are as follows:
[0188] PFLC(1) = a’cd’e’ + abc = c(a'd′e′ + ab)
[0189] FFLC(0) = ab′ + c’ + a′e + a'd = ab‘ + c‘ + a‘(e + d)
[0190] Although some aspects have been described in the context of an apparatus, it is evident that these aspects also represent a description of a corresponding method, where a block or device corresponds to a method step or a feature of a method step. Similarly, aspects described in the context of method steps also represent a description of corresponding blocks or items or features of a corresponding apparatus. Some or all of the method steps can be performed by (or, using) a hardware device, such as a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps can be performed by such a device.
[0191] According to certain implementation requirements, embodiments of the present invention can be implemented in hardware or software or at least partially in hardware or at least partially in software. The implementation can be performed using a digital storage medium (e.g., cloud storage, floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM, or flash memory) on which an electronically readable control signal is stored, and the electronically readable control signal cooperates (or is capable of cooperating) with a programmable computer system to perform the corresponding method. Therefore, the digital storage medium can be computer-readable.
[0192] Some embodiments according to the present invention include a data carrier having an electronically readable control signal that can cooperate with a programmable computer system to perform one of the methods described herein.
[0193] Generally, embodiments of the present invention can be implemented as a computer program product having program code that, when run on a computer, is operative to perform one of the methods. For example, the program code can be stored on a machine-readable carrier.
[0194] Other embodiments include a computer program stored on a machine-readable carrier for performing one of the methods described herein.
[0195] In other words, thus, embodiments of the method of the present invention are computer programs having program code that, when run on a computer, is used to perform one of the methods described herein.
[0196] Thus, further embodiments of the method of the present invention are a data carrier (or, a digital storage medium, or, a computer-readable medium) including a computer program recorded thereon for performing one of the methods described herein. The data carrier, digital storage medium or recording medium is generally tangible and / or non-transitory.
[0197] Thus, further embodiments of the method of the present invention are a data stream or a signal sequence representing a computer program for performing one of the methods described herein. For example, the data stream or signal sequence can be configured to be transmitted via a data communication connection (e.g., via the Internet).
[0198] Further embodiments include a processing component, such as a computer or a programmable logic device, configured or adapted to perform one of the methods described herein.
[0199] Further embodiments include a computer having a computer program installed thereon for performing one of the methods described herein.
[0200] According to a further embodiment of the present invention includes an apparatus or a system configured to transfer (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. For example, the receiver can be a computer, a mobile device, a memory device, etc. For example, the apparatus or system can include a file server for transferring the computer program to the receiver.
[0201] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. Generally, these methods are preferably performed by any hardware device.
[0202] The devices described herein may be implemented using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0203] The methods described herein may be performed using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0204] The above embodiments are merely illustrative of the principles of the present invention. It should be understood that modifications and variations of the arrangements and details described herein will be apparent to other persons skilled in the art. Accordingly, it is intended to be limited only by the scope of the following patent claims, rather than by the specific details presented in the description and explanation of the embodiments.
[0205] References:
[0206] [1]″ISO / IEC 14496-3MPEG-4Information technology-Coding of audio-visual objects-Part 3:Audio,″2009.
[0207] [2]R.Sperschneider, D.Homm and L.-H.Chambat, ″Error Resilient SourceCoding with Differential Variable Length Codes and its Application to MPEGAdvance Audio Coding,″ in Audio Engineering Societey, Munich, 2002.
[0208] [3]E.-m.Oh, H.-s.Sung, K.-h.Choo and J.-h.Kim, ″Method and apparatus toconceal error in decoded audio signal".Patent US8,798,172B2, 22Nov.2007.
[0209] [4] P. Lauber and R. Sperschneider, "Error Concealment for Compressed Digital Audio," in Audio Engineering Society, 2001.
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 includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, and wherein the decoder (100) includes: a channel decoding module (110) configured to detect whether the bitstream payload includes one or more corrupted bits depending on the two or more redundant bits, the one or more corrupted bits being one or more payload bits that are distorted or potentially distorted among the payload bits, a source decoding module (120), wherein if the channel decoding module (110) does not detect any corrupted bits within the bitstream payload, the source decoding module (120) is configured to decode the bitstream payload without error concealment to reconstruct the signal portion, wherein if the channel decoding module (110) has detected one or more corrupted bits within the bitstream payload, the source decoding module (120) is configured to select a selected error concealment mode among 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 signal characteristics of the signal portion of the signal that can be determined by the decoder (100), and is configured to perform error concealment depending on the selected error concealment mode to reconstruct the signal portion, wherein the bitstream payload is segmented into a first portion of the plurality of payload bits of the bitstream payload and a second portion of the plurality of payload bits of the bitstream payload, wherein the bitstream payload is a current bitstream payload, wherein if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, the source decoding module (120) is configured to: if the highest spectral line among multiple spectral lines of a current audio signal portion exhibits a frequency less than or equal to a threshold frequency, select a full-frame loss concealment mode among the two or more error concealment modes as the selected error concealment mode.
2. The decoder (100) according to claim 1, wherein, the channel decoding module (110) is an error detection and error correction module configured to perform error correction on the bitstream payload before detecting whether the bitstream payload includes the one or more corrupted bits.
3. The decoder (100) according to claim 1, wherein, a first error concealment mode among the two or more error concealment modes is the full-frame loss concealment mode, Wherein, if the channel decoding module (110) has indicated that the bitstream payload includes 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 perform error concealment without using the bitstream payload.
4. The decoder (100) according to claim 3, Wherein, the second error concealment mode among the two or more error concealment modes is the partial-frame loss concealment mode, Wherein, if the channel decoding module (110) has indicated that the bitstream payload includes 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 a decoded signal by decoding other bits of the payload bits that are not indicated by the channel decoding module (110) as the one or more corrupted bits without performing error concealment on the other bits, and by performing error concealment on one or more payload bits of the payload bits that are indicated by the channel decoding module (110) as the one or more corrupted bits.
5. The decoder (100) according to claim 4, Wherein, the two or more error concealment modes include exactly two error concealment modes, wherein the first error concealment mode among the exactly two error concealment modes is the full-frame loss concealment mode, wherein the second error concealment mode among the exactly two error concealment modes is the partial-frame loss concealment mode.
6. The decoder (100) according to claim 4, Wherein, if the channel decoding module (110) has indicated that the bitstream payload includes the one or more corrupted bits, and if a first part of the bitstream payload includes 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 (110) has indicated that the bitstream payload includes the one or more corrupted bits, and if the first part of the bitstream payload does not include 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 characteristics of the signal part of the signal.
7. The decoder (100) according to claim 6, Wherein, the frame is the current frame, wherein the plurality of payload bits are a plurality of current payload bits, wherein the signal part of the signal is the current signal part of the signal, and wherein the signal characteristics are the current signal characteristics, Wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits, the source decoding module (120) is configured to select a selected error concealment mode from two or more error concealment modes depending on a current signal characteristic of a current signal portion of the signal 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 encoded by the plurality of previous payload bits of a previous bitstream payload of a previous frame.
8. The decoder (100) according to claim 7, Wherein, the decoder (100) is an audio decoder, wherein the current signal portion of the signal 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 encoded by the plurality of previous payload bits of the previous bitstream payload is the previous audio signal portion of the audio signal, wherein the current bitstream payload encodes the plurality of spectral lines of the current audio signal portion.
9. The decoder (100) according to claim 8, Wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits and if a first portion of the current bitstream payload does not include 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 full-frame loss concealment is used to conceal the previous frame.
10. The decoder (100) according to claim 8, Wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits and if a first portion of the current bitstream payload does not include 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 less than a predetermined threshold, wherein the stability factor indicates stability of the current audio signal portion and the previous audio signal portion.
11. The decoder (100) according to claim 8, Wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits and if a first portion of the current bitstream payload does not include 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 in the following cases: if the full-frame loss concealment is used to conceal the previous frame; or if the stability factor is less than a predetermined threshold, wherein the stability factor indicates stability of the current audio signal portion and the previous audio signal portion.
12. The decoder according to claim 10, wherein, the predetermined threshold is equal to 0.
5.
13. The decoder (100) according to claim 10, wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module (120) is configured to select the full-frame loss concealment mode as the selected error concealment mode in the following cases: if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency less than or equal to a threshold frequency, and if the first portion of the current bitstream payload encodes a signal component as a tone or a harmonic, and if the previous signal portion encodes at least one peak of the audio signal that is greater than a peak threshold and corresponds to a frequency higher than all frequencies indicated by the plurality of spectral lines of the current audio signal portion.
14. The decoder (100) according to claim 13, wherein, the pitch of the audio signal exhibits a pitch frequency, and wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module (120) is configured to select the full-frame loss concealment mode as the selected error concealment mode in the following cases: if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits the frequency less than or equal to the threshold frequency, and if the first portion of the current bitstream payload encodes a signal component as a tone or a harmonic, and if all frequencies indicated by the plurality of spectral lines of the current audio signal portion are less than the pitch frequency; or wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes one or more corrupted bits, and if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module (120) is configured to select the full-frame loss concealment mode as the selected error concealment mode in the following cases: if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits the frequency less than or equal to the threshold frequency, and if the first portion of the current bitstream payload encodes a signal component as a tone or a harmonic, and if all frequencies indicated by the plurality of spectral lines of the current audio signal portion are less than the maximum supported pitch frequency.
15. The decoder (100) according to claim 14, wherein, If the channel decoding module (110) has indicated that the current bitstream payload includes one or more corrupted bits, and if a first portion of the current bitstream payload does not include any of the one or more corrupted bits, then the source decoding module (120) is configured to: if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits the frequency that is less than or equal to the threshold frequency, and if the first portion of the current bitstream payload does not encode a signal component of the audio signal that is a tone or a harmonic, and if the ratio between the energy of the previously quantized spectrum of the previous audio signal from 0 to the frequency band and the energy of the previously quantized spectrum of the previous audio signal from 0 to the highest point is less than a ratio threshold, then select the full-frame loss concealment mode as the selected error concealment mode, where is the first spectral band that cannot be recovered.
16. The decoder (100) according to claim 15, wherein, the ratio threshold is 0.
3.
17. The decoder (100) according to claim 15, wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits, and if the first portion of the current bitstream payload does not include 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 when: if full frame loss concealment has not been used to conceal the previous frame, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency greater than the threshold frequency.
18. The decoder (100) according to claim 17, wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits, and if the first portion of the current bitstream payload does not include 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 when: if full frame loss concealment has not been used to conceal the previous frame, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits the frequency greater than the threshold frequency, and if the stability factor is greater than or equal to the predetermined threshold, and If a first portion of the current bitstream payload does not encode a signal component of the audio signal that is a tone or harmonic, and if a ratio between an energy of a previously quantized spectrum of the previous audio signal from 0 to a frequency band and an energy of the previously quantized spectrum of the previous audio signal from 0 to a highest point is greater than or equal to the ratio threshold.
19. The decoder (100) according to claim 17, wherein, if the channel decoding module (110) has indicated that the current bitstream payload includes the one or more corrupted bits, and if the first portion of the current bitstream payload does not include 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 when: if full frame loss concealment has not been used to conceal the previous frame, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits the frequency greater than the threshold frequency, and if the stability factor is greater than or equal to the predetermined threshold, and if the first portion of the current bitstream payload encodes a signal component that is a tone or a harmonic, and if the highest spectral line among the plurality of spectral lines of the current audio signal portion exhibits a frequency greater than the pitch frequency, and if the previous signal portion did not encode any peaks of the audio signal that are greater than the peak threshold and correspond to frequencies higher than all frequencies indicated by the plurality of spectral lines of the current audio signal portion.
20. The decoder (100) according to claim 8, wherein, If the selected error concealment mode is the partial frame loss concealment mode, the source decoding module (120) is configured to: for each of the plurality of codewords in the second part of the bitstream payload, determine whether to perform error concealment on the spectral lines represented by the codeword among the plurality of spectral lines of the current audio signal part, depending on the number of corrected symbols of the codeword; and perform error concealment on the spectral lines of the current audio signal part for which the source decoding module (120) has determined that error concealment should be performed.
21. The decoder (100) according to claim 20, wherein, for each of the plurality of codewords in the second part of the bitstream payload, the source decoding module (120) is configured to: determine a risk value that approximates the probability of indicating that the codeword is corrupted; and determine whether the risk value is greater than a risk threshold.
22. The decoder (100) according to claim 21, wherein, if the risk value is greater than the risk threshold, the source decoding module (120) is configured to perform error concealment on the spectral lines represented by the codeword among the plurality of spectral lines of the current audio signal part.
23. The decoder (100) according to claim 22, wherein, The risk threshold is 2 -16 .
24. The decoder (100) according to claim 20, wherein, the source decoding module (120) is configured to perform the error concealment on the codeword in the partial frame loss error concealment mode.
25. The decoder (100) according to claim 1, wherein, the channel decoding module (110) is configured to detect that the bitstream payload includes one or more corrupted bits when: if the channel decoding module (110) encounters an uncorrectable codeword within the bitstream payload, and / or if the channel decoding module (110) determines that a recalculated hash value is different from the received hash value after error correction of the plurality of codewords in the bitstream payload, the recalculated hash value depending on the plurality of codewords after the error correction.
26. A system (190) for decoding a frame to reconstruct a signal part of a signal, comprising: an encoder (150) for encoding a signal part of a signal within a frame, and the decoder (100) according to claim 1 for decoding the frame to reconstruct the signal part of the signal.
27. The system (190) according to claim 26, wherein the encoder (150) comprises: A source coding module (160) for encoding a signal portion of a signal within a frame, wherein the source coding module (160) is configured to generate the frame such that the frame includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame generated by the source coding module (160) is adapted to be processed by the decoder (100) according to claim 1, and A channel coding module (170) configured to generate the two or more redundant bits depending on the bitstream payload.
28. 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 includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the method comprises: detecting whether the bitstream payload includes one or more corrupted bits depending on the two or more redundant bits, the one or more corrupted bits being one or more payload bits that are distorted or potentially distorted among the payload bits, if no corrupted bits are detected within the bitstream payload, decoding the bitstream payload without error concealment to reconstruct the signal portion, and if one or more corrupted bits are detected within the bitstream payload, selecting a selected error concealment mode from 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 signal characteristics of the signal portion of the signal that can be determined at the decoder side, and performing error concealment depending on the selected error concealment mode to reconstruct the signal portion, wherein the bitstream payload is divided into a first portion of the plurality of payload bits of the bitstream payload and a second portion of the plurality of payload bits of the bitstream payload, wherein the bitstream payload is a current bitstream payload, wherein if the first portion of the current bitstream payload does not include any of the one or more corrupted bits, the method comprises: if the highest spectral line among multiple spectral lines of a current audio signal portion exhibits a frequency less than or equal to a threshold frequency, selecting a full-frame loss concealment mode from the two or more error concealment modes as the selected error concealment mode.
29. A method for decoding a frame to reconstruct a signal portion of a signal, comprising: Encoding a signal portion of a signal within a frame, wherein the frame is generated such that the frame includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, and Using the frame to perform the method according to claim 28 to decode the frame to reconstruct the signal portion of the signal.
30. A method for encoding a signal portion of a signal within a frame, wherein, The method includes: Generating the frame such that the frame includes a bitstream payload and two or more redundant bits, wherein the bitstream payload includes a plurality of payload bits, wherein each of the payload bits exhibits a position within the bitstream payload, wherein the frame is adapted to be decoded by the method according to claim 28, and Generating the two or more redundant bits depending on the bitstream payload.
31. A non-transitory computer-readable medium, comprising a computer program, which when executed on a computer or a signal processor, is used to implement the method according to claim 28 or 29 or 30.
32. A method for storing a frame, including: Storing a frame on a computer-readable storage medium, the frame being generated according to the method of claim 30.
Citation Information
Patent Citations
Device for correcting and concealing errors in a data stream, and video and / or audio reproduction apparatus comprising such a device
EP0170328A1
Method and apparatus to conceal error in decoded audio signal
US20070271480A1
Error concealment method and apparatus for audio signal and decoding method and apparatus for audio signal using the same
US20080126096A1