Time-reversed audio subframe error concealment
By employing time-reversed phase adjustments for subframes with mirrored window shapes, the method addresses inefficiencies in packet loss concealment, ensuring consistent spectral signatures and reduced complexity for audio decoding in variable channel conditions.
Patent Information
- Application Number
- JP2023179369
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-06-13
- Filing Date
- 2023-10-18
- Publication Date
- 2025-12-22
- Estimated Expiration
- 2040-05-25
AI Technical Summary
Existing packet loss concealment techniques for audio encoding and decoding in variable channel conditions suffer from inefficiencies due to differences in subframe windowing, leading to artifacts and increased memory requirements, especially when handling transient sounds and consecutive frame losses.
The method involves generating frequency spectra on a subframe basis where consecutive subframes have mirrored or time-reversed window shapes, detecting peaks in the signal spectrum, and applying time-reversed phase adjustments to form concealment audio subframes, reducing computational complexity and memory footprint.
This approach ensures consistent spectral signatures across subframes, minimizing computational complexity and memory usage while effectively handling packet losses, thereby improving audio quality during network disruptions.
Smart Images

Figure 0007789733000046 
Figure 0007789733000047 
Figure 0007789733000048
Abstract
Description
[Technical Field]
[0001] The present disclosure relates generally to communications, and more particularly to methods and apparatus for controlling packet loss concealment for mono, stereo, or multi-channel audio encoding and decoding. [Background technology]
[0002] Modern telecommunication services generally provide reliable connections between end users. However, such services still need to handle variable channel conditions, which may result in occasional data packet loss due to, for example, network congestion or poor cell coverage. To overcome the problems of transmission errors and lost packets, telecommunication services can utilize packet loss concealment techniques (PLC). In cases where data packets are lost due to poor connections, network congestion, etc., the missing information of the lost packets at the receiver side can be substituted by a synthetic signal at the decoder. PLC techniques are often closely tied to the decoder, where internal states can be used to provide signal continuation or extrapolation to cover packet losses. For multimode codecs that have several operating modes for various signal types, there are often several PLC technologies to handle concealment. There are many different terms used for packet loss concealment techniques, including frame error concealment (FEC), frame loss concealment (FLC), and error concealment unit (ECU).
[0003] For linear prediction (LP)-based speech coding modes, PLC can be based on adjusting the glottal pulse position using estimated end-of-frame pitch information and a replica of the previous frame's pitch cycle [1]. The gain of the long-term predictor (LTP) converges to zero at a rate that depends on the number of consecutive lost frames and the stability of the last good, i.e., error-free, frame [2]. Frequency domain (FD)-based coding modes are designed to handle general or complex signals such as music. Various techniques can be used depending on the characteristics of the last received frame. Such analyses can include the number of detected tonal components and the periodicity of the signal. When frame losses occur during highly periodic signals, such as active speech or single-instrument music, time-domain PLC, similar to LP-based PLC, may be appropriate. In this case, FD PLC can mimic an LP decoder by estimating LP parameters and excitation signals based on the last received frame [2]. In cases where the lost frame occurs in aperiodic or noise-like signals, the last received frame can be repeated in the spectral domain, in which case the coefficients are multiplied together to form a random sine signal in order to reduce the metallic sound of the repeated signal. For stationary tonal signals, it has proven advantageous to use an approach based on prediction and extrapolation of the detected tonal components. Further details on the above mentioned techniques can be found in [1][2][3].
[0004] A common error concealment method that operates in the frequency domain is the phase ECU (Error Concealment Unit) [4]. The phase ECU is a standalone tool that operates on a buffer of previously decoded and reconstructed time-domain signals. The phase ECU framework is based on a sinusoidal analysis and synthesis paradigm. In this method, the sinusoidal components of the last good frame can be extracted and phase-shifted. In the case of a lost frame, the sinusoidal frequencies are obtained in the DFT (Discrete Fourier Transform) domain from the previously decoded synthesis. First, corresponding frequency bins are identified by finding peaks in the magnitude spectrum plane. Then, the peak frequency bins are used to estimate the fractional frequencies of those peaks. The frequency bins corresponding to those peaks, along with neighboring peaks, are phase-shifted using the fractional frequencies. For the remainder of the frame, the magnitude of the previous synthesis is retained while the phase is randomized. Burst errors are also handled so that the estimated signal is smoothly muted by converging it to zero. Further details on the phase ECU can be found in [4].
[0005] The phase ECU concept can be used in decoders operating in the frequency domain. This concept also includes encoding / decoding systems that perform decoding in the frequency domain, as shown in FIG. 1, and decoders that perform time-domain decoding with additional frequency-domain processing, as shown in FIG. 2. In FIG. 1, a time-domain input audio signal (sub)frame is windowed at 100 and transformed to the frequency domain by a DFT 101. An encoder 102 performs encoding in the frequency domain and provides encoded parameters for transmission 103. A decoder 104 decodes the received frame or applies PLC 109 in case of frame loss. In constructing a concealment frame, the PLC can use a memory 108 of previously decoded frames. The decoded or concealed frame is transformed to the time domain by an inverse DFT 110, and the output audio signal is then reconstructed by an overlap-add operation 111. FIG. 2 shows an encoder-decoder pair, where the decoder applies a DFT transform to facilitate frequency-domain processing. The received and decoded time domain signal is first windowed per (sub)frame in 105 and then transformed into the frequency domain by DFT 106 for frequency domain processing 107, which can be done either before or after PLC 109 (in case of frame loss).
[0006] Because the frequency-domain spectrum for each frame has already been generated, the raw material for the phase ECU can be easily obtained by simply storing the last decoded spectrum in memory. However, if the decoded spectra correspond to frames of a time-domain signal with different windowing functions (see FIG. 1), the efficiency of the algorithm may be reduced. This may occur when the decoder divides a synthesized frame into shorter subframes, for example, to handle transient sounds that require higher time resolution. To achieve good results, the ECU should generate a desired window shape for each frame; otherwise, there may be transition artifacts at each frame boundary. One solution is to store the spectrum for each frame corresponding to a specific window and apply the ECU to them individually. Another solution may be to store a single spectrum for the ECU and correct the windowing in the time domain. This can be implemented by applying an inverse window and then reapplying the window with the desired shape. These solutions have several drawbacks, which are discussed below.
[0007] One drawback with applying frequency-domain ECU on individual subframes is that there may be differences between the subframes that are replicated for each subframe during a lost frame. For consecutive frame losses, this may lead to repeating artifacts because each subframe may have a slightly different spectral signature. Another problem is that memory requirements are increased because the spectrum of each subframe needs to be stored.
[0008] A window correction solution in which the windowing is reversed and reapplied overcomes the problem of separate spectral signatures because the ECU can be based on a single subframe. However, applying the reversed window and then the new window involves division and multiplication on each sample, where division is a computationally complex operation and is computationally expensive. This solution can be improved by storing pre-calculated correction windows in memory, but this increases the required table memory. In cases where the ECU is applied on a lower portion of the spectrum, it may still be necessary for the full spectrum to be corrected because the full spectrum needs to have the same window shape. Summary of the Invention
[0009] According to a first aspect, a method for generating concealment audio subframes of an audio signal in a decoding device is described. The method includes generating frequency spectra on a subframe basis, where consecutive subframes of the audio signal have a characteristic that an applied window shape of a first one of the consecutive subframes is a mirrored or time-reversed version of a second one of the consecutive subframes. The method further includes detecting peaks in a signal spectrum of a previously received audio signal on a fractional frequency scale, estimating a phase of each of the peaks, and deriving a time-reversed phase adjustment to apply to the signal spectrum peaks based on the estimated phase to form time-reversed phase-adjusted peaks. The method further includes applying the time reversal to the concealment audio subframes.
[0010] A potential advantage offered is that multi-subframe ECUs can be generated from a single subframe spectrum by applying inverse time synthesis. This generation may be suitable for cases where the subframe windows are time-reversed versions of each other. Generating all ECU frames from a single stored decoded frame ensures that the subframes have similar spectral signatures while keeping memory footprint and computational complexity to a minimum.
[0011] According to a second aspect, a decoder device configured to generate concealment audio subframes of an audio signal is disclosed. The decoder device is configured to generate frequency spectra on a subframe basis, with consecutive subframes of the audio signal having a characteristic that an applied window shape of a first one of the consecutive subframes is a mirrored or time-reversed version of a second one of the consecutive subframes. The decoder device is further configured to detect peaks in a signal spectrum of a previously received audio signal on a fractional frequency scale and to estimate a phase of each of the peaks. The decoder device is further configured to derive a time-reversed phase adjustment to apply to the signal spectrum peaks based on the estimated phase, and to form time-reversed phase-adjusted peaks by applying the time-reversed phase adjustment to the signal spectrum peaks. The decoder device is further configured to apply the time reversal to the concealment audio subframes.
[0012] According to a third aspect, there is provided a computer program comprising program code to be executed by processing circuitry of a decoder device configured to operate in a communications network, whereby execution of the program code causes the decoder device to perform operations according to the first aspect.
[0013] According to a fourth aspect, there is provided a computer program product, the computer program product including a non-transitory storage medium containing program code to be executed by processing circuitry of a decoder device configured to operate in a communications network, whereby execution of the program code causes the decoder device to perform operations according to the first aspect.
[0014] According to a fifth aspect, a method for generating concealment audio subframes for an audio signal in a decoding device is provided. The method includes generating frequency spectra on a subframe basis, where consecutive subframes of the audio signal have a property that an applied window shape of a first one of the consecutive subframes is a mirrored or time-reversed version of a second one of the consecutive subframes. A signal spectrum corresponding to a second one of the first two consecutive subframes is stored. The method further includes receiving a bad frame indicator for a second two consecutive subframes. The method further includes obtaining the signal spectrum, detecting peaks in the signal spectrum on a fractional frequency scale, estimating a phase of each of the peaks, and deriving a time-reversed phase adjustment to apply to the stored spectrum peak for the first one of the second two consecutive subframes based on the estimated phase. The method further includes applying the time-reversed phase adjustment to the signal spectrum peak to form a time-reversed phase-adjusted peak. The method further includes applying time reversal to the concealment audio subframe, combining the time-reversed phase-adjusted peak with a noise spectrum of the signal spectrum to form a combined spectrum for a first subframe of the second two consecutive subframes, and generating a synthesized concealment audio subframe based on the combined spectrum.
[0015] According to a sixth aspect, there is provided a decoder device configured to generate a concealment audio sub-frame of an audio signal, the decoder device including a processing circuit and a memory operatively coupled to the processing circuit, the memory including instructions that, when executed by the processing circuit, cause the decoder device to perform operations according to the first or fifth aspects.
[0016] According to a seventh aspect, there is provided a decoder device configured to generate concealment audio sub-frames of an audio signal, the decoder device being adapted to perform the method according to the fifth aspect.
[0017] According to an eighth aspect, there is provided a computer program comprising program code to be executed by processing circuitry of a decoder device configured to operate in a communications network, whereby execution of the program code causes the decoder device to perform operations according to the fifth aspect.
[0018] According to a ninth aspect, there is provided a computer program product, the computer program product including a non-transitory storage medium containing program code to be executed by processing circuitry of a decoder device configured to operate in a communications network, whereby execution of the program code causes the decoder device to perform operations according to the fifth aspect.
[0019] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments. [Brief explanation of the drawings]
[0020] [Figure 1] FIG. 1 is a block diagram showing an encoder and decoder pair, where the encoding is performed in the DFT domain. [Figure 2] FIG. 1 is a block diagram illustrating an encoder and decoder pair, where the decoder applies a DFT transform to facilitate frequency domain processing. [Figure 3]FIG. 1 is a diagram of two sub-frame windows in a decoder, where the window applied on the second sub-frame is a time-reversed or mirrored version of the window applied on the first sub-frame. [Figure 4] FIG. 1 is a block diagram illustrating an encoder / decoder system including a PLC method for performing phase estimation and applying ECU synthesis in reversed time using a time-reversal phase calculator, according to some embodiments. [Figure 5] 10 is a flowchart illustrating the operation of a decoder device that performs time-reversal ECU synthesis, according to some embodiments. [Figure 6] FIG. 1 is an illustration of a time-reversal window on a sine wave, according to some embodiments. [Figure 7] FIG. 10 is a diagram of how a reversal time window affects DFT coefficients in the complex plane, according to some embodiments. [Figure 8] FIG. 1 is a diagram of φε versus frequency f in accordance with some embodiments. [Figure 9] 1 is a block diagram illustrating a decoder device according to some embodiments. [Figure 10] 10 is a flowchart illustrating the operation of a decoder device according to some embodiments. [Figure 11] 10 is a flowchart illustrating the operation of a decoder device according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0021] Aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which example embodiments are shown. However, embodiments may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of these embodiments to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Elements from one embodiment can be implicitly assumed to be present / used in another embodiment.
[0022] The following description presents various embodiments of the disclosed subject matter. These embodiments are presented as instructional examples and should not be construed as limiting the scope of the disclosed subject matter. For example, certain details of the described embodiments can be modified, omitted, or expanded without departing from the scope of the described subject matter.
[0023] 9 is a block diagram illustrating elements of a decoder device 900 (which may be part of a mobile terminal, mobile communications terminal, wireless communication device, wireless terminal, wireless communication terminal, user equipment (UE), user equipment node / terminal / device, etc.) configured to provide wireless communication, according to an embodiment. As shown, the decoder 900 may include a network interface circuit 906 (also referred to as a network interface) configured to provide communication with other devices / entities / functions, etc. The decoder 900 may also include a processor circuit 902 (also referred to as a processor) operably coupled to the network interface circuit 906, and a memory circuit 904 (also referred to as a memory) operably coupled to the processor circuit. The memory circuit 904 may include computer-readable program code that, when executed by the processor circuit 902, causes the processor circuit to perform operations according to embodiments disclosed herein.
[0024] According to other embodiments, the processor circuitry 902 may be defined to include memory, such that a separate memory circuit is not required. As discussed herein, operations of the decoder 900 may be performed by the processor 902 and / or the network interface 906. For example, the processor 902 may control the network interface 906 to send communications to a multi-channel audio player and / or to receive communications through the network interface 906 from one or more other network nodes / entities / servers, such as an encoder node, a depository server, etc. Moreover, modules may be stored in the memory 904, and these modules may provide instructions whereby, when the instructions of the modules are executed by the processor 902, the processor 902 performs respective operations.
[0025] In the description that follows, subframe notation will be used to describe the embodiments. Here, a subframe means a portion of a larger frame, where the larger frame is made up of a set of subframes. The described embodiments can also be used with frame notation. In other words, subframes can form a group of frames having the same window shapes as described herein, and subframes do not have to be part of a larger frame.
[0026] Consider the decoder of an encoder-decoder pair where the decoding method generates a frequency spectrum on a subframe basis. Successive subframes may have the property that the applied window shapes are mirrored or time-reversed versions of each other, as shown in Figure 3, where subframe 2 is a mirrored or time-reversed version of subframe 1. For each frame m, the decoder generates a reconstructed subframe TIFF0007789733000001.tif8170. In one embodiment, the subframe spectrum is obtained by reconstructing the time domain composite TIFF0007789733000002.tif6170, where n is the sample index. The dashed box in Figure 2 indicates that frequency domain processing can occur either before or after the memory and PLC module. Using the subframe windowing functions w1(n) and w2(n), Multiply TIFF0007789733000003.tif6170, The spectrum can be obtained by applying the DFT transform according to TIFF0007789733000004.tif34170, where N denotes the length of the subframe window and N step12is the distance in samples between the start of the first and second subframes. The subframe windowing functions w1(n) and w2(n) are mirrored or time-reversed versions of each other. Here, the subframe spectrum is obtained from the decoder time-domain synthesis, similar to the system outlined in FIG. 2. Note that these embodiments are equally applicable for systems in which the decoder directly reconstructs the subframe spectrum, as outlined in FIG. 1. For each correctly received and decoded audio frame m, the second subframe The spectrum corresponding to TIFF0007789733000005.tif7170 is stored in memory. TIFF0007789733000006.tif7170
[0027] For correctly received frames, the decoder device 900 can proceed to perform frequency domain processing steps, perform an inverse DFT transform, and reconstruct the output audio using an overlap-add strategy. Missing or corrupted frames can be identified by the transport layer handling the connection and signaled to the decoder as "bad frames" through a Bad Frame Indicator (BFI), which can be in the form of a flag. If the decoder device 900 detects a bad frame through the Bad Frame Indicator (BFI), the PLC algorithm is activated. PLC follows the principle of phase ECU [4]. The stored spectrum TIFF0007789733000007.tif7170 is input to a peak detector algorithm that detects peaks on a fractional frequency scale. F={f i},i=1,2,…N peaks can be detected and they are expressed as their estimated fractional frequencies f i In this case, N peaksis the number of detected peaks. Similar to the sinusoidal coding paradigm, spectral peaks are modeled using sine waves with specific amplitudes, frequencies, and phases. Fractional frequencies can be expressed as fractions of DFT bins, so that, for example, the Nyquist frequency is found at f=N / 2+1. Each peak can be associated with the number of frequency bins that represent it. These are: Round the fractional frequencies to the nearest integer and place them in adjacent bins, e.g., N on each side, as in TIFF0007789733000008.tif13170. near peaks are found by including G i is the frequency f i is the group of bins that represent the peaks in N near is a tuning constant that can be specified when designing the system. near provides greater precision in the representation of each peak, but also results in greater distance between peaks that can be modeled. near A suitable value for may be 1 or 2. Hiding spectrum The peaks in TIFF0007789733000009.tif7170 can be formed by using these groups of bins, with a phase adjustment applied to each group. The phase adjustment takes into account changes in phase in the underlying sine wave, assuming the frequency remains the same between the last correctly received and decoded frame and the concealment frame. The phase adjustment is based on the fractional frequency and the number of samples between the analysis frame of the previous frame and where the current frame would start. As shown in Figure 3, this number of samples is the Nth subframe between the start of the second subframe of the last received frame and the start of the first subframe of the first ECU frame. step21 , and N between the first subframe of the last received frame and the first subframe of the first ECU frame full Nfull Note that also gives the distance between the second subframe of the last received frame and the second subframe of the first ECU frame.
[0028] FIG. 4 shows an encoder / decoder system in which the PLC block 109 performs phase estimation using a phase estimator 112 and applies ECU synthesis in reversed time using a time-reversal phase calculator 113, according to embodiments described below.
[0029] 5 is a flow chart showing the steps of the time-reversed ECU synthesis described below. For the first subframe concealment, ECU synthesis can be performed in reverse time to obtain the desired window shape. The phase adjustment, or phase correction or phase advance (these terms are used interchangeably throughout this description) for the first subframe with respect to peak i is: Δφ i =-2φ i -2πf i (N+N step21 +(N lost -1)N full ) / N In this case, N lost denotes the number of consecutive lost frames, and φ i is the frequency f i (N lost -1)N full The term deals with the phase advancement for burst errors, where the step is the frame length N of a full frame. full For the first lost frame, N lost =1. Spectrum For frequencies centered on the frequency bin of TIFF0007789733000010.tif7170, the phase φ i is simply an angle It is easily available by extracting TIFF0007789733000011.tif7170, in this case k i =[fi ].
[0030] In general, the frequency f i is a fraction and the phase needs to be estimated in operation 501. One estimation method is to use linear interpolation of the phase spectrum. TIFF0007789733000012.tif11170In this case, TIFF0007789733000013.tif6170 represent the operators for rounding down and rounding up, respectively. However, this estimation method has proven to be unstable. It also requires a two-phase extraction, which requires a computationally complex arctan function in cases where the spectrum is represented using complex numbers in the standard form a+bi. Another phase estimation that has proven reliable with relatively low computational complexity is TIFF0007789733000014.tif12170f frac =f i -k i In this case, f frac is the rounding error, and φ C is an adjustment constant that depends on the window shape applied. For the window shape of this embodiment, the appropriate value is φ C = 0.33. For other window shapes, the appropriate value is φ C = 0.48. In general, it is expected that a suitable value can be found in the range [0.1, 0.7]. In operation 502, the time-reversed phase adjustment Δφ i is derived as explained above.
[0031] The peak of the hidden spectrum can be formed in operation 503 by applying a phase adjustment to the stored spectrum. TIFF0007789733000015.tif12170 The asterisk "*" indicates the complex conjugate, which provides the time inversion of the signal in operation 504. This results in a time reversal of the first ECU subframe. Note that it may also be possible to perform the inversion in the time domain after the inverse DFT. However, If TIFF0007789733000016.tif7170 only represents a portion of the complete spectrum, this requires that the remaining spectrum be pre-processed, for example by time reversal, before DFT analysis.
[0032] Peak Bin G i Not occupied by The remaining bins of TIFF0007789733000017.tif7170 may be called the noise spectrum or noise component of the spectrum. They can be populated using the coefficients of the stored spectrum with a random phase applied. TIFF0007789733000018.tif12170In this case, φ rand denotes a random phase value. The remaining bins may be populated with spectral coefficients that preserve the desired characteristics of the signal, e.g., correlation with a second channel in a multi-channel decoder system. In operation 505, the peak spectrum TIFF0007789733000019.tif7170 (where k∈G i ) is the noise spectrum TIFF0007789733000020.tif7170 (in this case, TIFF0007789733000021.tif6170) to form a combined spectrum.
[0033] In embodiments where the noise is generated in the time domain, windowed and transformed, time reversal of the noise to match the windowing of the peak components and combination with the peak spectrum should be performed before applying the time reversal described above.
[0034] For the generation of the second subframe, which is synthesized in normal (non-inverted) time, normal phase adjustment can be used. Δφ i =2πf i N full N lost / N
[0035] The ECU synthesis for the second subframe can be formed similarly to the first subframe, but omitting the complex conjugate for the peak coefficient. TIFF0007789733000022.tif13170
[0036] Once the combined concealment spectrum is generated in operation 505, it can be fed into subsequent processing steps in operation 506, including an inverse DFT and an overlap-add operation to produce an output audio signal.
[0037] The output audio signals may be sent for playback to one or more speakers, such as loudspeakers, which may be part of the decoding device, a separate device, or part of another device.
[0038] Derivation of Phase Correction Formula for Time-Reversal ECU Synthesis Assume that the starting phase of the sinusoidal component is φ0 and the frequency of the sinusoid is f. N step The desired phase φ1 of the sine wave after advancing by samples is: φ1=φ0+2πfN step / N
[0039] For a time-reversed continuation of the sine wave, the phase needs to be mirrored on the real axis by applying a complex conjugate, or simply by taking the negative phase -φ1. This phase angle now represents the end of the ECU synthesis frame, so to reach the desired starting phase φ2, the phase needs to be unwound by the length of the analysis frame. φ2=-φ1-2πf(N-1) / N
[0040] To obtain the phase correction Δφ, the starting phase needs to be subtracted, i.e., φ0+Δφ=φ2⇒Δφ=φ2-φ0
[0041] Substituting for φ2 gives: Δφ=-2φ0-2πf(N step +N-1) / N
[0042] To add a sequence for consecutive frame losses (burst losses), a coefficient corresponding to the number of samples between the beginning of full frames can be added, N offset =(N lost -1)N full This provides the final phase correction. Δφ=-2φ0-2πf(N+N step -1+(N lost -1)N full ) / N,
[0043] The desired time reversal can be achieved in the DFT domain by using a complex conjugate with a circular shift of one sample, which can be performed with a phase correction of 2πk / N that can be included in the final phase correction. Δφ=-2φ0-2πf(N+N step -1+(N lost -1)N full ) / N+2πk / N
[0044] For coefficients representing a single peak, the frequency bin k of the circular shift can be approximated by a fractional frequency k≈f, and the phase correction can be simplified to: Δφ=-2φ0-2πf(N+N step -1+(N lost -1)N full ) / N+2πf / N= -2φ0-2πf(N+N step +(N lost -1)N full ) / N
[0045] The window is N=N full In that case, the formula can be further simplified to: Δφ=-2φ0-2πf(N step +N lost N) / N
[0046] Alternative embodiment of inversion time ECU synthesis In another embodiment, the phase correction is performed in two steps: In the first step, the phase is advanced ignoring the window mismatch. TIFF0007789733000023.tif26170
[0047] In the second step, the phase is set to -φ m Then, apply the complex conjugate and φ m By restoring the phase with , time reversal of the windowing can be achieved. TIFF0007789733000024.tif8170
[0048] The motivation for this operation can be found by examining the effect of a time-reversed window on a sine wave as shown in Figure 6. In Figure 6, the top plot shows the window applied in one direction, and the bottom plot shows the window applied in the opposite direction. Three coefficients representing a sine wave are shown in Figure 7, which illustrates how a time-reversed window affects the DFT coefficients in the complex plane. The three DFT coefficients that approximate the sine wave in the top plot of Figure 6 are marked with circles, while the corresponding coefficients in the bottom plot of Figure 6 are marked with stars. The diamonds indicate the location of the original phase of the sine wave, and the dashed lines indicate the observed mirroring plane through which the coefficients of the time-reversed window are projected. The time-reversed window is projected at an angle φ m provides a mirroring of the coefficients in the mirroring plane at φ m =φ0+φ frac
[0049] Through the experiment, φ frac It has been found that can be expressed as follows: φ frac =πf frac f frac =f i -k i k i =[f i ] In this case, [·] indicates a rounding operation. φ expressed as a positive angle ε is f frac It was also found that the angle φ ε is expressed as a function of frequency f. Observing the sawtooth shape in Figure 8, φ ε A good approximation of has been found to be: φ ε =-f frac φ C In this case, φ Cis a constant. In one embodiment, φ C is φ C = 0.33, which produces a very close approximation. Since φ is not explicitly known, φ m The alternating approximation of can be written as: TIFF0007789733000025.tif8170In this case, TIFF0007789733000026.tif7170 is the rounded frequency bin k after the first phase adjustment step i is the phase of the maximum peak coefficient found in TIFF0007789733000027.tif8170
[0050] The operations of aligning the mirroring plane with the real axis, applying the complex conjugate, and restoring the phase can be understood as simply adjusting the phase of the shaped sine wave to a phase position (0 or π) that is neutral with respect to the complex conjugate, thereby inverting the temporal shape of the signal. The two-step approach is more computationally complex than the previously described embodiment. However, observations can also lead to an approximation of φ. It can be seen from FIG. 7 that φ can be expressed as follows: TIFF0007789733000028.tif8170This is the phase approximation used above.
[0051] According to some embodiments, operation of decoder device 900 (implemented using the structure of the block diagram of FIG. 9) will now be discussed with reference to the flowchart of FIG. 10. For example, modules may be stored in memory 904 of FIG. 9, and these modules may provide instructions such that, when the instructions of the modules are executed by the respective decoder device processing circuitry 902, the processing circuitry 902 performs the respective operations of the flowchart.
[0052] In operation 1000, the processing circuit 902 generates a frequency spectrum on a subframe basis, where consecutive subframes of the audio signal have the property that the applied window shape of a first one of the consecutive subframes is a mirrored or time-reversed version of a second one of the consecutive subframes. For example, generating a frequency spectrum for each of the first two consecutive subframes includes determining: TIFF0007789733000029.tif35170 where N denotes the length of the subframe window, and the subframe windowing function w1(n) is the window length of the first subframe of consecutive subframes. is the subframe windowing function for TIFF0007789733000030.tif7170, and w2(n) is the windowing function for the second subframe in the sequence Subframe windowing function for TIFF0007789733000031.tif7170, N step12 is the number of samples between the first subframe of the first two consecutive subframes and the second subframe of the first two consecutive subframes.
[0053] In operation 1002, the processing circuit 902 determines whether a bad frame indicator (BFI) has been received. The bad frame indicator provides an indication that an audio frame has been lost or corrupted.
[0054] In operation 1004, the processing circuit 902 stores in memory, for each correctly decoded audio frame, a spectrum corresponding to the second subframe. For example, for correctly decoded frame m, The spectrum corresponding to TIFF0007789733000032.tif7170 is TIFF0007789733000033.tif7170. For correctly received frames, the decoder device 900 can proceed to perform frequency-domain processing steps, as described above and shown in FIG. 4, to perform an inverse DFT transform and reconstruct the output audio using an overlap-add strategy. Note that the overlap-add principle is the same for both sub-frames and frames. Creating a frame requires applying overlap-add on sub-frames, while the final output frame is the result of the overlap-add operation between frames.
[0055] If the processing circuit 902 detects a bad frame via a bad frame indicator (BFI) in operation 1002, PLC operations 1006-1030 are performed.
[0056] In operation 1006, the processing circuit 902 obtains a signal spectrum corresponding to a second subframe of the first two consecutive subframes that were previously correctly decoded and processed. For example, the processing circuit 902 may obtain the signal spectrum from a memory 904 of a decoding device.
[0057] In operation 1008, the processing circuit 902 detects a peak in the signal spectrum of a previously received audio frame of the audio signal on a fractional frequency scale, the previously received audio frame being received before receiving the bad frame indicator.
[0058] In operation 1010, the processing circuit 902 determines whether the concealment frame is for the first subframe of two consecutive subframes.
[0059] If the concealment frame is for the first subframe, then in operation 1012, the processing circuit 902 estimates the phase of each of the peaks. In one embodiment, the processing circuit 902 calculates a phase estimate for the peak of the time-reversed phase-corrected peaks according to: TIFF0007789733000034.tif21170In this case, φ i is the frequency f i is the estimated phase at TIFF0007789733000035.tif7170 is frequency bin k i Spectrum at TIFF0007789733000036.tif7170 is the angle, f frac is the rounding error, and φ C is a tuning constant, and k i is [f i ]. Adjustment constant φ C can range in value between 0.1 and 0.7.
[0060] In operation 1014, processing circuit 902 derives a time-reversed phase correction to apply to the peaks in the signal spectrum based on the estimated phase.
[0061] In operation 1016, the processing circuit 902 applies the time-reversed phase correction to the peaks in the signal spectrum to form time-reversed phase-corrected peaks.
[0062] In operation 1018, the processing circuit 902 applies time reversal to the concealment audio sub-frames. In one embodiment, the time reversal may be applied by applying a complex conjugate to the concealment audio sub-frames.
[0063] In operation 1020, the processing circuit 902 combines the time-reversed phase-corrected peak with the noise spectrum of the signal spectrum to form a combined spectrum of the concealment audio sub-frame.
[0064] 11 , in one embodiment, 1016 and 1018 may be performed by processing circuit 902 associating each peak with a plurality of peak frequency bins in operation 1100. Processing circuit 902 performing the association may apply the time-reversed phase correction by applying the time-reversed phase correction to each of the plurality of frequency bins in operation 1102. In operation 1104, the remaining bins are populated using coefficients of the signal spectrum with the random phase applied.
[0065] Returning to FIG. 10, in operation 1022, processing circuit 902 generates a synthesized concealment audio subframe based on the combined spectrum.
[0066] If the concealment frame is not for the first subframe as identified in operation 1010, the processing circuit 902 derives in operation 1024 a non-time-reversed phase correction to apply to the signal spectrum peak for the second concealment subframe of the at least two consecutive concealment subframes.
[0067] In operation 1026, the processing circuit 902 applies the non-time-reversed phase correction to the signal spectral peak for the second subframe to form a non-time-reversed phase-corrected peak.
[0068] In operation 1028, the processing circuit 902 combines the non-time-reversed phase-corrected peak with the noise spectrum of the signal spectrum to form a combined spectrum for the second concealment subframe.
[0069] In operation 1030, the processing circuit 902 generates a second synthesized concealment audio subframe based on the combined spectrum.
[0070] 11 , in one embodiment, 1026 and 1028 may be performed by processing circuit 902 associating each peak with a plurality of peak frequency bins in operation 1100. Processing circuit 902 performing the association may apply a non-time-reversed phase correction by applying a non-time-reversed phase correction to each of the plurality of frequency bins in operation 1102. In operation 1104, the remaining bins are populated using coefficients of the signal spectrum with the random phase applied.
[0071] Various operations from the flowchart of Figure 10 may be optional for some embodiments of the decoder device and associated methods. For the method of exemplary embodiment 1 (shown below), for example, the operations of blocks 1004 and 1022-1030 of Figure 10 may be optional. For the method of exemplary embodiment 19 (shown below), for example, the operations of blocks 1010 and 1022-1030 of Figure 10 may be optional.
[0072] Exemplary embodiments are discussed below.
[0073] 1. A method for generating concealment audio sub-frames of an audio signal in a decoding device, comprising: generating a frequency spectrum on a subframe basis (1000), wherein consecutive subframes of an audio signal have a property that an applied window shape of a first one of the consecutive subframes is a mirrored or time-reversed version of a second one of the consecutive subframes; receiving a bad frame indicator (1002); Detecting (1008) a signal spectrum peak of a previously received audio frame of the audio signal on a fractional frequency scale, the previously received audio frame being received before receiving the bad frame indicator; estimating the phase of each of the peaks (1012); deriving (1014) a time-reversed phase correction for applying to the peaks of the signal spectrum based on the estimated phase; applying the time-reversed phase correction to the peaks of the signal spectrum to form time-reversed phase-corrected peaks (1016); applying time reversal to the concealment audio subframes (1018); combining (1020) the time-reversed phase-corrected peak with the noise spectrum of the signal spectrum to form a combined spectrum for the concealment audio subframe; generating a synthesized concealment audio subframe based on the combined spectrum (1022).
[0074] 2. The synthesized concealment audio frame includes at least two consecutive concealment subframes, and the deriving a time-reversed phase correction, applying the time-reversed phase correction, applying the time reversal, and combining the time-reversed phase-corrected peaks are performed for a first concealment subframe of the at least two consecutive concealment subframes, and the method further comprises: deriving (1024) a non-time-reversed phase correction for application to a peak in the signal spectrum for a second concealment subframe of the at least two consecutive concealment subframes; applying (1026) a non-time-reversed phase correction to the peak of the signal spectrum for the second subframe to form a non-time-reversed phase-corrected peak; combining the non-time-reversed phase-corrected peak with the noise spectrum of the signal spectrum to form a combined spectrum for the second concealment subframe (1028); and generating (1030) a second synthesized concealment audio subframe based on the combined spectrum.
[0075] 3. The method of embodiment 1 or 2, wherein the concealment audio subframes include concealment audio subframes for one of lost audio frames and corrupted audio frames.
[0076] 4. The method of any one of embodiments 1 to 3, wherein the bad frame indicator provides an indication that an audio frame is lost or corrupted.
[0077] 5. The method of any one of embodiments 1 to 4, further comprising: retrieving a signal spectrum of a previously received audio signal frame from a memory of the decoder.
[0078] 6. The method of any one of embodiments 1 to 5, wherein applying time reversal includes applying a complex conjugate to the concealment audio subframes.
[0079] 7. Associating each peak of the plurality of peaks with a plurality of peak frequency bins representing the peak (1100). 7. The method of any one of embodiments 1 to 6, further comprising:
[0080] 8. The method of embodiment 7, wherein for each peak of the plurality of peaks, one of a time-reversed phase correction and a non-time-reversed phase correction is applied to the peak (1102).
[0081] 9. Populating the remaining bins of the signal spectrum using the stored signal spectrum coefficients with the random phase applied (1104). 9. The method of any one of embodiments 8, further comprising:
[0082] 10. Estimating the phase of each of the peaks calculating a peak-to-peak phase estimate of the time-reversed phase-corrected peaks according to TIFF0007789733000037.tif20170In this case, φ i is the frequency f i is the estimated phase at TIFF0007789733000038.tif7170 is frequency bin k i Spectrum at TIFF0007789733000039.tif7170 is the angle, f frac is the rounding error, and φ C is the tuning constant, and k i [f i 10. The method of any one of embodiments 1 to 9, wherein
[0083] 11. φ C 11. The method of embodiment 10, wherein σ has a value in the range between 0.1 and 0.7.
[0084] 12. Computing a phase estimate for a non-time-reversed phase-corrected peak is calculated according to: Δφ i =2πf i N full N lost / N In this case, Δφ i is the frequency f i shows the phase correction of the sine wave at N full denotes the number of samples between two frames, and N lost 11. The method of embodiment 10, wherein ∑ denotes the number of consecutive lost frames, and N denotes the length of the sub-frame window.
[0085] 13. The method of any one of embodiments 1 to 12, further comprising applying a random phase to the noise spectrum of the signal spectrum.
[0086] 14. The method of embodiment 13, wherein applying a random phase to the noise spectrum includes applying a random phase to the noise spectrum before combining the non-time-reversed phase-adjusted peak with the noise spectrum.
[0087] 15. A decoder device (900) configured to generate concealment audio sub-frames of a received audio signal, wherein a decoding method of the decoding device generates a frequency spectrum on a sub-frame basis, where consecutive sub-frames have the property that the applied window shapes are mirrored or time-reversed versions of each other, the decoder device comprising: A processing circuit (902); A decoder device (900) including: a memory (904) coupled to the processing circuitry, the memory (904) including instructions that, when executed by the processing circuitry, cause the decoder device to perform operations according to any one of embodiments 1 to 14.
[0088] 16. A decoder device (900) configured to generate concealment audio sub-frames of a received audio signal, wherein a decoding method of the decoding device generates a frequency spectrum on a sub-frame basis, where consecutive sub-frames have the property that the applied window shapes are mirrored or time-reversed versions of each other, and the decoder device (900) is adapted to perform according to any one of embodiments 1 to 14.
[0089] 17. A computer program comprising program code to be executed by a processing circuit (902) of a decoder device (900) configured to operate in a communications network, whereby execution of the program code causes the decoder device (900) to perform operations according to any one of embodiments 1 to 14.
[0090] 18. A computer program product including a non-transitory storage medium containing program code to be executed by a processing circuit (902) of a decoder device (900) configured to operate in a communications network, whereby execution of the program code causes the decoder device (900) to perform operations according to any one of embodiments 1 to 14.
[0091] 19. A method of generating concealment audio sub-frames for an audio signal in a decoding device, comprising: generating a frequency spectrum on a subframe basis (1000), wherein consecutive subframes of an audio signal have a property that an applied window shape of a first one of the consecutive subframes is a mirrored or time-reversed version of a second one of the consecutive subframes; storing (1004) a signal spectrum corresponding to a second subframe of the first two consecutive subframes; receiving (1002) a bad frame indicator for a second two consecutive subframes; Obtaining a signal spectrum (1006); Detecting (1008) peaks in the signal spectrum on a fractional frequency scale; estimating the phase of each of the peaks (1012); deriving (1014) a time-reversed phase correction for application to the stored spectral peak for a first subframe of the second two consecutive subframes based on the estimated phase; applying the time-reversed phase correction to the peaks of the signal spectrum to form time-reversed phase-corrected peaks (1016); applying time reversal to the concealment audio subframes (1018); combining the time-reversed phase-corrected peak with the noise spectrum of the signal spectrum to form a combined spectrum for a first subframe of the second two consecutive subframes (1020); generating a synthesized concealment audio subframe based on the combined spectrum (1022).
[0092] 20. The synthesized concealment audio frame includes at least two consecutive concealment subframes, and the deriving the time-reversed phase correction, applying the time-reversed phase correction, and combining the time-reversed phase-corrected peaks are performed for a first concealment subframe of the at least two consecutive concealment subframes, and the method further comprises: deriving (1024) a non-time-reversed phase correction for application to the signal spectrum peak for a second subframe of the second two consecutive subframes; applying a non-time-reversed phase correction to the signal spectrum peak for a second subframe of the second two consecutive subframes to form a non-time-reversed phase-corrected peak (1026); combining the non-time-reversed audio subframe with the noise spectrum of the signal spectrum to form a second combined spectrum for a second subframe of the second two consecutive subframes (1028); 20. The method of embodiment 19, comprising generating a second synthesized audio subframe based on the second combined spectrum (1030).
[0093] 21. The method of embodiment 19 or 20, wherein the concealment audio subframes include concealment audio subframes for one of lost audio frames and corrupted audio frames.
[0094] 22. The method of any one of embodiments 19-21, wherein the bad frame indicator provides an indication that an audio frame is lost or corrupted.
[0095] 23. The method of any one of embodiments 19 to 22, further comprising obtaining the signal spectrum from a memory of the decoder.
[0096] 24. The method of any one of embodiments 19 to 23, wherein applying time reversal includes applying a complex conjugate to the concealment audio subframes.
[0097] 25. Associate each peak with multiple peak frequency bins that represent the peak. 25. The method of any one of embodiments 18 to 24, further comprising:
[0098] 26. The method of embodiment 25, further comprising, for each peak of the plurality of peaks, applying one of a time-reversed phase correction and a non-time-reversed phase correction to the peak.
[0099] 27. Populating the remaining bins of the signal spectrum with the coefficients of the stored spectrum with a random phase applied. 27. The method of any one of embodiments 26, further comprising:
[0100] 28. Estimating the phase calculating a phase estimate for the time-reversed phase-corrected peak according to: TIFF0007789733000040.tif9170f frac =f i -k i In this case, φ i is the frequency f i is the estimated phase at TIFF0007789733000041.tif7170 has a frequency of f i Spectrum at TIFF0007789733000042.tif7170 is the angle, f frac is the rounding error, and φ C is the tuning constant, and k i [f i 28. The method of any one of embodiments 19 to 27, wherein:
[0101] 29. φ C 29. The method of embodiment 28, wherein σ has a value in the range between 0.1 and 0.7.
[0102] 30. Further comprising calculating a phase estimate for the non-time-reversed phase-corrected peak according to: Δφ i =2πf i N full N lost / N In this case, Δφ i is the frequency f i shows the phase correction of the sine wave at N full denotes the number of frame samples between two frames, and N lost 29. The method of embodiment 28, wherein ∑ denotes the number of consecutive lost frames and N denotes the length of the subframe window.
[0103] 31. Generating a frequency spectrum for each subframe of the first two consecutive subframes includes identifying: TIFF0007789733000043.tif35170 where N denotes the length of the subframe window and the subframe windowing function w1(n) is the window length of the first subframe of consecutive subframes. is the subframe windowing function for TIFF0007789733000044.tif7170, where w2(n) is the second subframe in the sequence Subframe windowing function for TIFF0007789733000045.tif7170, N step12 31. The method of any one of embodiments 19 to 30, wherein ∑ i = 1 ...
[0104] 32. The method of any one of embodiments 19 to 31, further comprising applying a random phase to the noise spectrum of the signal spectrum.
[0105] 33. The method of embodiment 32, wherein applying a random phase to the noise spectrum includes applying a random phase to the noise spectrum before combining the non-time-reversed phase-adjusted peak with the noise spectrum.
[0106] 34. A decoder device (900) configured to generate concealment audio sub-frames of a received audio signal, wherein a decoding method of the decoding device generates a frequency spectrum on a sub-frame basis, where consecutive sub-frames have the property that the applied window shapes are mirrored or time-reversed versions of each other, the decoder device comprising: A processing circuit (902); A decoder device (900) including: a memory (904) coupled to the processing circuit, the memory (904) including instructions that, when executed by the processing circuit, cause the decoder device to perform an operation according to any one of embodiments 19 to 33.
[0107] 35. A decoder device (900) configured to generate concealment audio sub-frames of a received audio signal, wherein the decoding method of the decoding device (900) generates a frequency spectrum on a sub-frame basis, where consecutive sub-frames have the property that the applied window shapes are mirrored or time-reversed versions of each other, and the decoder device (900) is adapted to perform according to any one of embodiments 19 to 33.
[0108] 36. A computer program comprising program code to be executed by a processing circuit (902) of a decoder device (900) configured to operate in a communications network, whereby execution of the program code causes the decoder device (900) to perform operations according to any one of embodiments 19 to 33.
[0109] 37. A computer program product including a non-transitory storage medium containing program code to be executed by a processing circuit (902) of a decoder device (900) configured to operate in a communications network, whereby execution of the program code causes the decoder device (900) to perform operations according to any one of embodiments 19 to 33.
[0110] Explanations are provided below for various abbreviations / acronyms used in this disclosure. Abbreviation Description DFT Discrete Fourier Transform IDFT Inverse Discrete Fourier Transform LP Linear Prediction PLC Packet Loss Concealment ECU Error Concealment Unit FEC Frame Error Correction / Concealment
[0111] The references are identified as follows: [1] T. Vaillancourt, M. Jelinek, R. Salami and R. Lefebvre, "Efficient Frame Erasure Concealment in Predictive Speech Codecs using Glottal Pulse Resynchronisation," 2007 IEEE International Conference on Acoustics, Speech and Signal Processing - ICASSP '07, Honolulu, HI, 2007, pp. IV-1113-IV-1116. [2] J. Lecomte et al., "Packet-loss concealment technology advances in EVS," 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brisbane, QLD, 2015, pp. 5708-5712. [3] 3GPP TS 26.447, Codec for Enhanced Voice Services (EVS); Error Concealment of Lost Packets (Release 12) [4] S. Bruhn, E. Norvell, J. Svedberg and S. Sverrisson, "A novel sinusoidal approach to audio signal frame loss concealment and its application in the new evs codec standard," 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brisbane, QLD, 2015, pp. 5142-5146.
[0112] In general, all terms used herein should be interpreted in accordance with their ordinary meaning in the relevant technical field (unless a different meaning is clearly given and / or is implied from the context in which the term is used). All references to elements, devices, components, means, steps, etc., unless expressly stated otherwise, should be openly interpreted as referring to at least one instance of the element, device, component, means, step, etc. The steps of any method disclosed herein need not be performed in the exact order disclosed (unless a step is explicitly described as following or preceding another step and / or it is implicit that a step must follow or precede another step). Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Similarly, any advantage of any of the embodiments may apply to any other embodiment, and vice versa. Other objects, features, and advantages of the included embodiments will be apparent from the description that follows.
[0113] In the foregoing description of various embodiments, it should be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. Unless otherwise specified, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning consistent with the meaning of those terms in the context of this specification and the related art, and should not be interpreted in an idealized or overly formal sense (unless such a definition is expressly made herein).
[0114] When an element is referred to as being "connected," "coupled," "responsive," or variations thereof, to another element, the element can be directly connected, coupled, or responsive to other or intervening elements that may be present. In contrast, when an element is referred to as being "directly connected," "directly coupled," or "directly responsive" to another element, or variations thereof, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, as used herein, "coupled," "connected," "responsive," or variations thereof can include wirelessly coupled, connected, or responsive. As used herein, the singular forms "a," "an," and "the" are intended to include the plural (unless the context clearly dictates otherwise). Well-known features or structures may not be described in detail for brevity and / or clarity. The term "and / or" includes any and all combinations of one or more of the associated listed items.
[0115] Although terms such as first, second, and third may be used herein to describe various elements / operations, it will be understood that these elements / operations are not intended to be limited by these terms. These terms are merely used to distinguish one element / operation from another. Thus, a first element / operation in some embodiments can be referred to as a second element / operation in other embodiments without departing from the teachings of the present disclosure. The same reference numbers or designators refer to the same or similar elements throughout this specification.
[0116] As used herein, the terms "comprise," "comprising," "comprises," "include," "including," "includes," "have," "has," "having," or variations thereof, are open-ended and include one or more stated features, integers, elements, steps, components, or functions, but do not exclude the presence or addition of one or more other features, integers, elements, steps, components, functions, or groups thereof. Additionally, as used herein, the common abbreviation "eg," derived from the Latin phrase "exempli gratia," may be used to introduce or designate one or more general examples of the items described above and is not intended to be limiting of such items. The common abbreviation "ie," derived from the Latin phrase "id est," may be used to designate a particular item from a more general list.
[0117] Exemplary embodiments are described herein with reference to block diagrams and / or flowchart illustrations of computer-implemented methods, apparatus (systems and / or devices), and / or computer program products. It is understood that blocks of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be embodied by computer program instructions executed by one or more computer circuits. These computer program instructions can be provided to general-purpose computer circuitry, special-purpose computer circuitry, and / or processor circuitry of other programmable data processing circuitry to produce a machine whereby the instructions executing via the processor of the computer and / or other programmable data processing apparatus transform and control transistors, values stored in memory locations, and other hardware components within such circuits to perform the functions / acts specified in the block diagrams and / or one or more flowchart blocks, thereby creating the means (functionality) and / or structure for performing the functions / acts specified in the block diagrams and / or flowchart blocks.
[0118] These computer program instructions may also be stored on a tangible computer-readable medium that can instruct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored on the computer-readable medium produce an article of manufacture comprising instructions that implement the functions / acts specified in the block diagrams and / or one or more flowchart blocks. Thus, embodiments of the present disclosure may be embodied in hardware and / or in software (including firmware, resident software, microcode, etc.) running on a processor, such as a digital signal processor, which may collectively be referred to as a "circuit," "module," or variations thereof.
[0119] It should also be noted that in some alternative embodiments, the functions / acts described in the blocks may occur out of the order described in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may possibly be executed in the opposite order, depending on the functionality / acts involved. Moreover, the functionality of a given block of the flowcharts and / or block diagrams may be separated into multiple blocks, and / or the functionality of two or more blocks of the flowcharts and / or block diagrams may be at least partially integrated. Finally, other blocks may be added / inserted between the shown blocks and / or blocks / operations may be omitted without departing from the scope of the embodiments. Moreover, while some of the figures include arrows on communication paths to indicate a primary direction of communication, it should be understood that communication may occur in the opposite direction to the shown arrows.
[0120] Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present disclosure. All such variations and modifications are intended to be included herein within the scope of the present disclosure. Accordingly, the subject matter disclosed above should be considered illustrative rather than limiting, and the example embodiments are intended to cover all such modifications, enhancements, and other embodiments that fall within the spirit and scope of the present disclosure. Therefore, to the maximum extent permitted by law, the scope of the present disclosure should be determined by the broadest permissible interpretation of the present disclosure, including example embodiments and their equivalents, and is not limited or restricted by the foregoing detailed description.
Claims
1. 1. A method for generating concealment audio sub-frames of an audio signal in a decoding device, comprising: generating a frequency spectrum on a subframe basis when consecutive subframes of the audio signal have a property that an applied window shape of a first subframe of the consecutive subframes is a mirrored or time-reversed version of a second subframe of the consecutive subframes (1000); Detecting (1008) peaks in the signal spectrum of a previously received audio signal on a fractional frequency scale; estimating the phase of each of said peaks (1012, 501); Deriving (1014, 502) a phase adjustment for a time-reversed concealment audio subframe based on the estimated phase, wherein the phase adjustment Δφ relative to the peak of the time-reversed concealment audio subframe is Δφ=-2φ 0 -2πf(N step +N lost ・N) / N In this case, φ 0 is the estimated phase of the peak, f is the frequency of the peak, and N lost denotes the number of consecutive lost frames, N denotes the length of the subframe window, and N step is the distance in samples between the start of the analysis subframe and the concealment audio subframe; and applying the phase adjustment Δφ to the peak of the signal spectrum to form a phase-adjusted peak of the masked spectrum (1016, 503); and applying a time reversal to the phase-adjusted masking spectral peak by applying a complex conjugate (1018, 504).
2. combining the phase-adjusted peak with a noise spectrum of the signal spectrum to form a combined spectrum for the concealment audio subframe (1020); generating a synthesized concealment audio subframe based on the combined spectrum (1022); The method of claim 1 further comprising:
3. the synthesized concealed audio frame includes at least two consecutive concealment subframes, and the deriving the phase adjustment, applying the phase adjustment, applying the time reversal, and combining the phase-adjusted peaks are performed for a first concealment subframe of the at least two consecutive concealment subframes, the method further comprising: deriving (1024) a phase adjustment to apply to the peak of the signal spectrum for a second non-time-reversed concealment subframe of the at least two consecutive concealment subframes; applying the phase adjustment to the peak of the signal spectrum for the second non-time-reversed subframe to form a non-time-reversed phase-adjusted peak (1026); combining the non-time-reversed phase-adjusted peak with a noise spectrum of the signal spectrum to form a combined spectrum for a second concealment subframe (1028); and generating (1030) a second synthesized concealment audio subframe based on the combined spectrum.
4. The method of claim 1 , further comprising retrieving (1006) the signal spectrum of the previously received audio signal from a memory of the decoding device.
5. The method of claim 1 , further comprising associating (1100) each of the detected peaks with a plurality of peak frequency bins representing the peak.
6. 6. The method of claim 5, wherein, for each peak frequency bin among the plurality of peak frequency bins, one of the phase adjustment for a time-reversed concealment subframe and the phase adjustment for the non-time-reversed concealment subframe is applied to the peak frequency bin (1102).
7. Populating 1104 remaining bins of the signal spectrum, where the spectral coefficients retain the desired characteristics of the signal. The method of claim 6 further comprising:
8. The method of claim 7 , wherein the desired characteristic comprises correlation with a second channel in a multi-channel decoder system.
9. 1. A decoder device (900) configured to generate a concealment audio sub-frame of an audio signal, comprising: generating a frequency spectrum on a subframe basis when consecutive subframes of the audio signal have the property that an applied window shape of a first subframe of the consecutive subframes is a mirrored or time-reversed version of a second subframe of the consecutive subframes; detecting signal spectral peaks of a previously received audio signal on a fractional frequency scale; estimating the phase of each of the peaks; deriving a phase adjustment for a time-reversed concealment audio subframe based on the estimated phase, wherein the phase adjustment Δφ relative to the peak of the time-reversed concealment audio subframe is Δφ=-2φ 0 -2πf(N step +N lost ・N) / N In this case, φ 0 is the estimated phase of the peak, f is the frequency of the peak, and N lost denotes the number of consecutive lost frames, N denotes the length of the subframe window, and N step is the distance in samples between the start of the analysis subframe and the concealment audio subframe; and applying the phase adjustment Δφ to the peak of the signal spectrum to form a phase-adjusted masked spectrum peak; applying a time reversal to the phase-adjusted masking spectrum peaks by applying a complex conjugate.
10. combining the phase-adjusted peak with a noise spectrum of the signal spectrum to form a combined spectrum for the concealment audio subframe; generating a synthesized concealment audio subframe based on the combined spectrum; and 10. The decoder device of claim 9, further adapted to:
11. the synthesized concealed audio frame includes at least two consecutive concealment subframes, and the deriving the phase adjustment, applying the phase adjustment, applying the time reversal, and combining the phase-adjusted peaks are performed with respect to a first concealment subframe of the at least two consecutive concealment subframes, and the decoder device further deriving a phase adjustment to apply to the peak of the signal spectrum for a second non-time-reversed concealment subframe of the at least two consecutive concealment subframes; and applying the phase adjustment to the peak of the signal spectrum for the second non-time-reversed subframe to form a non-time-reversed phase-adjusted peak; combining the non-time-reversed phase-adjusted peak with a noise spectrum of the signal spectrum to form a combined spectrum for a second concealment subframe; and generating a second synthesized concealment audio sub-frame based on the combined spectrum.
12. 12. A decoder device according to any one of claims 9 to 11, further adapted to retrieve the signal spectrum of the previously received audio signal from a memory of the decoder device.
13. 13. A decoder device according to any one of claims 9 to 12, further adapted to associate each peak of the detected peaks with a number of peak frequency bins representing said peak.
14. 14. The decoder device of claim 13, further adapted to apply one of the phase adjustment for a time-reversed concealment subframe and the phase adjustment for the non-time-reversed concealment subframe to a respective peak frequency bin of the plurality of peak frequency bins.
15. Populating remaining bins of the signal spectrum, wherein the spectral coefficients retain the desired characteristics of the signal. The decoder device of claim 14 , further adapted to:
16. The decoder device of claim 15, wherein the desirable characteristic comprises correlation with a second channel in a multi-channel decoder system.
Citation Information
Patent Citations
Method and apparatus for compensating for voice packet loss
JP2015528923A
Method and apparatus for controlling concealment of audio frame loss
JP2016510432A
Decoder, decoding method and program
JP2018040917A
JPP7371133B