Methods for phase ECU F0 interpolation split and related controller
11705136 · 2023-07-18
Assignee
Inventors
Cpc classification
G06F17/142
PHYSICS
G10L19/02
PHYSICS
G10L25/18
PHYSICS
G10L19/005
PHYSICS
International classification
G10L19/005
PHYSICS
G06F17/14
PHYSICS
G10L19/02
PHYSICS
G10L25/18
PHYSICS
Abstract
Controlling a concealment method for a lost audio frame associated with a received audio signal is provided. At least one bin vector of a spectral representation for at least one tone is obtained, wherein the at least one bin vector includes three consecutive bin values for the at least one tone. Whether each of the three consecutive bin values has a complex value or a real value is determined. Responsive to the determination, the three consecutive bin values are processed to estimate a frequency of the at least one tone based on whether each bin value has a complex value or a real value.
Claims
1. A method for controlling a concealment method for a lost audio frame associated with a received audio signal, the method comprising: obtaining at least one bin vector of a spectral representation for at least one tone, wherein the at least one bin vector includes three consecutive bin values for the at least one tone; determining whether each of the three consecutive bin values has a complex value or a real value; and responsive to the determination, processing the three consecutive bin values to estimate a frequency of the at least one tone based on whether each bin value has a complex value or a real value.
2. The method of claim 1, wherein responsive to determining that each of the three consecutive bin values for the at least one tone has a complex value: extracting a complex value coefficient for each of the three consecutive bin values; calculating a fractional bin offset for the at least one tone based on the complex valued coefficient of each of the three consecutive bin values; and calculating a bin frequency for the at least one tone based on the fractional bin offset.
3. The method of claim 2, wherein calculating the fractional bin offset for the at least one tone comprises calculating the fractional bin offset for the at least one tone based a scaling coefficient, a window function used for the spectral representation, and a transform length for a frequency spectrum containing each of the three consecutive bin values for the at least one tone.
4. The method of claim 3, wherein the scaling coefficient depends on a type of window function.
5. The method of claim 2, wherein calculating the fractional bin offset for the at least one tone comprises calculating the fractional bin offset for the at least one tone based on a window function and a transform length for a frequency spectrum containing each of the three consecutive bin values.
6. The method of claim 5, wherein calculating the fractional bin offset comprises calculating the fractional bin offset according to:
f.sub.k=+δ)C wherein f.sub.k is the fractional bin offset for peak location k, δ is an interpolation value, and C is a coarse resolution in Hz/bin.
7. The method of claim 6 wherein δ is determined according to:
8. The method of claim 1, further comprising responsive to determining that at least one of the three consecutive bin values has a real value: extracting a magnitude point for each of the three consecutive bin values; calculating a fractional bin offset based on the magnitude points for each of the three consecutive bin values; and calculating a bin frequency for the at least one tone based on the fractional bin offset.
9. The method of claim 1, further comprising: responsive to determining that each of the three consecutive bin values for the at least one tone has a complex value: extracting a complex value coefficient for each of the three consecutive bin values; calculating a fractional bin offset for the at least one tone based on the complex valued coefficient of each of the three consecutive bin values; and calculating a bin frequency for the at least one tone based on the fractional bin offset; responsive to determining that at least one of the three consecutive bin values has a real value: extracting a magnitude point for each of the three consecutive bin values; calculating the fractional bin offset for the at least one tone based on the magnitude point of each of the three consecutive bin values; and calculating the bin frequency for the at least one tone based on the fractional bin offset.
10. The method of claim 1, wherein determining and processing are performed for each of the at least one tone of the spectral representation.
11. An apparatus for controlling a concealment method for a lost audio frame associated with a received audio signal, the apparatus performing operations comprising: obtaining at least one bin vector of a spectral representation for at least one tone, wherein the at least one bin vector includes three consecutive bin values for the at least one tone; determining whether each of the three consecutive bin values has a complex value or a real value; and responsive to the determination, processing the three consecutive bin values to estimate a frequency of the at least one tone based on whether each bin value has a complex value or a real value.
12. The apparatus of claim 11 wherein the apparatus comprises processing circuitry and memory coupled with the processing circuitry, wherein the memory includes instructions that when executed by the processing circuitry causes the apparatus to perform operations comprising responsive to determining that each of the three consecutive bin values for the at least one tone has a complex value: extracting a complex value coefficient for each of the three consecutive bin values; calculating a fractional bin offset for the at least one tone based on the complex valued coefficient of each of the three consecutive bin values; and calculating a bin frequency for the at least one tone based on the fractional bin offset.
13. The apparatus according to claim 12, wherein calculating the fractional bin offset for the at least one tone comprises calculating the fractional bin offset for the at least one tone based a scaling coefficient, a window function used for the spectral representation, and a transform length for a frequency spectrum containing each of the three consecutive bin values for the at least one tone.
14. The apparatus of claim 13, wherein the scaling coefficient depends on a type of window function.
15. The apparatus of any of claim 12, wherein calculating the fractional bin offset for the at least one tone comprises calculating the fractional bin offset for the at least one tone based on a window function and a transform length for a frequency spectrum containing each of the three consecutive bin values.
16. The apparatus of claim 15, wherein calculating the fractional bin offset comprises calculating the fractional bin offset according to:
f.sub.k=(k+δ)C wherein f.sub.k is the fractional bin offset for peak location k, δ is an interpolation value, and C is a coarse resolution in Hz/bin.
17. The apparatus of claim 16 wherein δ is determined according to:
18. The apparatus of claim 11, wherein the apparatus comprises processing circuitry and memory coupled with the processing circuitry, wherein the memory includes instructions that when executed by the processing circuitry causes the apparatus to perform operations further comprising responsive to determining that at least one of the three consecutive bin values has a real value: extracting a magnitude point for each of the three consecutive bin values; calculating a fractional bin offset based on the magnitude points for each of the three consecutive bin values; and calculating a bin frequency for the at least one tone based on the fractional bin offset.
19. The apparatus of claim 11, wherein the apparatus comprises processing circuitry and memory coupled with the processing circuitry, wherein the memory includes instructions that when executed by the processing circuitry causes the apparatus to perform operations further comprising: responsive to determining that each of the three consecutive bin values for the at least one tone has a complex value: extracting a complex value coefficient for each of the three consecutive bin values; calculating a fractional bin offset for the at least one tone based on the complex valued coefficient of each of the three consecutive bin values; and calculating a bin frequency for the at least one tone based on the fractional bin offset; responsive to determining that at least one of the three consecutive bin values has a real value: extracting a magnitude point for each of the three consecutive bin values; calculating the fractional bin offset for the at least one tone based on the magnitude point of each of the three consecutive bin values; and calculating the bin frequency for the at least one tone based on the fractional bin offset.
20. The apparatus of claim 11, wherein determining and processing are performed for each of the at least one tone of the spectral representation.
21. A decoder for controlling a concealment method for a lost audio frame associated with a received audio signal, wherein the decoder is adapted to perform operations comprising: performing a sinusoidal analysis of a part of a previously decoded audio frame using windowing and a fast Fourier transform, FFT, to produce a spectral representation of the previously decoded audio frame; identifying peaks of the spectral representation to identify a spectral representation for at least one tone; obtaining at least one bin vector of the spectral representation for at least one tone, wherein the at least one bin vector includes three consecutive bin values for the at least one tone; determining whether each of the three consecutive bin values has a complex value or a real value; and responsive to the determination, processing the three consecutive bin values to estimate a frequency of the at least one tone based on whether each bin value has a complex value or a real value.
22. A computer program product comprising a non-transitory storage medium including program code to be executed by at least one processor of a decoder for controlling a concealment method for a lost audio frame associated with a received audio signal, whereby execution of the program code causes the decoder to perform operations comprising: obtaining at least one bin vector of a spectral representation for at least one tone, wherein the at least one bin vector includes three consecutive bin values for the at least one tone; determining whether each of the three consecutive bin values has a complex value or a real value; and responsive to the determination, processing the three consecutive bin values to estimate a frequency of the at least one tone based on whether each bin value has a complex value or a real value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) 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 of inventive concepts. In the drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION
(15) Inventive concepts will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments of inventive concepts are shown. Inventive concepts may, however, 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 present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present/used in another embodiment.
(16) The following description presents various embodiments of the disclosed subject matter. These embodiments are presented as teaching examples and are not to be construed as limiting the scope of the disclosed subject matter. For example, certain details of the described embodiments may be modified, omitted, or expanded upon without departing from the scope of the described subject matter.
(17) Various embodiments apply to a controller in a decoder, as illustrated in
(18) The application of a sinusoidal model in order to perform a frame loss concealment operation may be described as follows:
(19) In case a given segment of the coded signal cannot be reconstructed by the decoder since the corresponding encoded information is not available, i.e. since a frame has been lost, an available part of the signal prior to this segment may be used as prototype frame, where the prototype frame may be longer than a single frame. If y(n) with n=0 . . . N−1 is the unavailable segment for which a substitution frame z(n) has to be generated, and y(n) with n<0 is the available previously decoded signal, a prototype frame of the available signal of length L and start index n.sub.−1 is extracted with a window function w(n) and transformed into frequency domain, e.g. by means of DFT:
(20)
(21) In various embodiments, the end of the decoded signal is used as the prototype frame. In such situations, y(n) becomes y(n) with n=L . . . N−1. The above equation becomes:
(22)
The window function can be one of the window functions described in more detail below in the sinusoidal analysis. For example, as described below, the window function may combine a rectangular window with tapering based on the Hamm window. Preferably, in order to save numerical complexity, the frequency domain transformed frame should be identical with the one used during sinusoidal analysis, which means that the analysis frame and the prototype frame will be identical, and likewise their respective frequency domain transforms.
(23) In a next step the sinusoidal model assumption is applied. According to the sinusoidal model assumption, the DFT of the prototype frame can be written as follows:
(24)
(25) Next, it is realized that the spectrum of the used window function has only a significant contribution in a frequency range close to zero. The magnitude spectrum of the window function is large for frequencies close to zero and small otherwise (within the normalized frequency range from −π to π, corresponding to half the sampling frequency). Hence, as an approximation it is assumed that the window spectrum W(m) is non-zero only for an interval M=[−m.sub.min,m.sub.max], with m.sub.min and m.sub.max being small positive numbers. In particular, an approximation of the window function spectrum is used such that for each k the contributions of the shifted window spectra in the above expression are strictly non-overlapping. Hence in the above equation for each frequency index there is always only at maximum the contribution from one summand, i.e. from one shifted window spectrum. This means that the expression above reduces to the following approximate expression:
(26)
for non-negative m∈M.sub.k and for each k. Herein, M.sub.k denotes the integer interval
(27)
where m.sub.min,k and m.sub.max,k fulfill the above explained constraint such that the intervals are not overlapping. A suitable choice for m.sub.min,k and m.sub.max,k is to set them to a small integer value δ, e.g. δ=3. If however the DFT indices related to two neighboring sinusoidal frequencies f.sub.k and f.sub.k+1 are less than 2δ, then δ is set to floor
(28)
such that it is ensured that the intervals are not overlapping. The function floor(⋅) is the closest integer to the function argument that is smaller or equal to it.
(29) Next, the sinusoidal model is applied according to the above expression and to evolve its K sinusoids in time. The assumption that the time indices of the erased segment compared to the time indices of the prototype frame differs by n.sub.−1 samples means that the phases of the sinusoids advance by
(30)
(31) where time.sub.offs is a time offset, t.sub.adv is a time advance, and N(burst.sub.len−1) is a timing adjustment based on the number of consecutive errors. The recreated frame is centered over the missed frame (hence the use of t_adv to center the recreated frame). For consecutive errors, the decoder needs to keep track of how many frames have been lost and adjust the offset accordingly (hence the use of N (burst.sub.len−1)). Hence, the DFT spectrum of the evolved sinusoidal model is given by:
(32)
(33) Applying again the approximation according to which the shifted window function spectra do no overlap gives:
(34)
for non-negative m∈M.sub.k and for each k.
(35) Comparing the DFT of the prototype frame Y.sub.−1(m) with the DFT of evolved sinusoidal model Y.sub.0(m) by using the approximation, it is found that the magnitude spectrum remains unchanged while the phase is shifted by
(36)
for each m∈M.sub.k.
(37) Hence, the substitution frame can be calculated by the following expression:
z(n)=IDFT{Z(m)} with Z(m)=Y(m).Math.e.sup.jθ.sup.
(38) The size of the intervals M.sub.k in response to the tonality the signal may be adapted. Controller 1306 may receive a plurality of bin vectors of a spectral representation for at least one tone. Each bin vector includes three consecutive bin values for one tone. Controller 1306 may determine whether each of the three consecutive bins has a complex value or a real value. Responsive to the determination, controller 1306 may process the three consecutive bin values to estimate a frequency of the at least one tone. Receiving may be performed by a receiving unit 1312, determining may be performed by a determining unit 1314, and processing may be performed by a processing unit 1316 as illustrated in
(39) The decoder with its processor 1306 may be implemented in hardware. There are numerous variants of circuitry elements that can be used and combined to achieve the functions of the units of the decoder. Such variants are encompassed by the various embodiments. Particular examples of hardware implementation of the decoder is implementation in digital signal processor (DSP) hardware and integrated circuit technology, including both general-purpose electronic circuitry and application-specific circuitry.
(40) Tone location may be made in two operations using spectrally analysis on the PLC prototype buffer. After windowing and FFT, a first operation may be to locate the bins where tones may be located using the magnitude spectrum. A second operation may be to refine these estimates by interpolation and thereby may be get an increased accuracy, in the form of a fractional offset value. The resolution of the frequency estimation depends on two things. First, the length of the transform—longer transform may give higher resolution. Second, different interpolation methods may have different accuracy. For example, in operations discussed in international patent application publication no. WO2014/123469 for shorter frames (10 ms), the accuracy may not be good enough. For a higher-quality error concealment, high accuracy may be needed for the frequency estimation. While, just increasing the buffer length may be one solution, the complexity would increase. Most sensitive are clean sinus tones where interpolation error introduces frame wise discontinuities that are clearly audible and degrades the quality of the reconstructed signal. For longer bursts, even small errors may result in audible discontinuity during the transition back to decoded content.
(41) Additionally, the use of magnitude spectrum for both the tone locator and current interpolator uses the square root function, which is a complex function. To reduce the complexity, it may be better to use a magnitude approximation function instead.
(42) Some embodiments of the present disclosure of inventive concepts may use an interpolation method controller that may make it possible to use a different interpolation method according to the available FFT coefficients, which may increase accuracy with a limited increase in complexity. Some embodiments may also use magnitude approximation that lowers the complexity of calculating the magnitude spectrum for the tone locator and also may be used by parabolic interpolation.
(43) For complexity reduction, a lower complexity magnitude approximation unit may be used. Operations for a similar lower complexity magnitude approximation unit are discussed M Allie and R Lyons, “A Root of Less Evil”, IEEE Signal Processing Magazine, pp 93-96, Marsh, 2005 (“Allie”), with no loss of frequency resolution.
(44) Some embodiments of the present disclosure of inventive embodiments, may improve interpolation accuracy and may increase the quality of the recreated signal from the Phase ECU. Additionally, with improved quality a shorter PLC buffer may be used and maintain quality which may be used for complexity reductions, e.g., the FFT and IFFT may be the major computations and may become costly for long buffers.
(45) An apparatus for increased frequency resolution may include two additional units. A first unit may control which method is used for the frequency interpolation: either an interpolation unit which uses absolute values of the bin data (see e.g., similar operations discussed in in international patent publication no. WO2014/123469A1) may be used, or a second unit may be used where frequency interpolation is made using complex bin values.
(46) Frequency analysis of the prototype buffer using windowing and FFT of N.sub.FFT samples produces a spectral representation with
(47)
Where n=0 represents DC and
(48)
represents half the sampling frequency (fs). Of these all but two are complex values, the endpoints (DC and fs/2) are real only. Accuracy may therefore be increased if another interpolation method may be used that utilizes the available complex coefficients.
(49) An interpolation method described in international patent publication no. WO2014/123469A1 uses one bin on each side on the identified tone location. Also, at the endpoints the interpolation method discussed in international patent publication no. WO2014/123469A1 still uses three bins, with an additional flag set to indicate that the identified peak is not at the middle location. In some embodiments of inventive concepts, an additional control unit may ensure that for peaks where all three bins have complex values it calls the new interpolation unit instead of an interpolation unit that uses absolute values of bin data for an improved frequency estimation. An interpolation unit that uses absolute values of bin data may be used in the cases where the bin 0 or
(50)
bins are included in the three point interpolation data, also here the additional flag is set if the peak is not located in the middle bin.
(51) After processing by the interpolation unit, bin values may be updated according to the found tone locations (phase adjustment of the tone and surrounding bins) and the scrambling of the non-tone location is continued. See e.g. similar operations discussed in international patent publication no. WO2014/123469A1.
(52) In some embodiments of inventive concepts, a MDCT may be taken over a 20 ms window with a 10 ms advance. A PLC prototype frame saved after good frames is 16 ms in length. A related transient detector uses two short FFT with length 4 ms—that is one quarter of the PLC prototype frame. The actual length of these items depends on the sampling frequency used and may be from 8 kHz to 48 kHz. These lengths affect the number of spectral bins in each transform.
(53) Spectral analysis and initial tone location are made using operations similar to those discussed in international patent publication no. WO2014/123469A1. Some embodiments of inventive concepts use magnitude approximation for lower complexity. The calculation of the magnitude spectrum of complex spectral estimates discussed in international patent publication no. WO2014/123469A1 involves the use of the square root function. For example, in international patent publication no. WO2014/123469A1, a complex number x=a+ib the magnitude of x may be calculated as:
|x|=√{square root over (a.sup.2+b.sup.2)}. (1)
(54) In some embodiments of inventive concepts, a lower complexity approximation that uses a linear approximation is used. Similar operations for a lower complexity approximation are discussed in M. Allie and R. Lyons, “A Root of Less Evil”, IEEE Signal Processing Magazine, pp 93-96, Marsh, 2005 (Allie). Turning to
(55)
in the spectral estate from the FFT W(n) are real, the approximation takes the absolute value of those two in block 501. For complex spectral coefficients having the form W(n)=a+ib, that is for (bins)
(56)
the absolute of the real and imaginary parts first needs to be found in block 503:
a.sub.abs=abs(a)
b.sub.abs=abs(b) (2)
(57) Next, in block 505, the larger and smaller absolute values may be identified:
MAX.sub.ab=max(a.sub.abs,b.sub.abs)
MIN.sub.ab=min(a.sub.abs,b.sub.abs) (3)
(58) When the larger and smaller values are known, the magnitude approximation may be calculated as a linear combination of the two in blocks 507 and 509:
(59)
(60)
(61) With an operation for frequency estimation discussed in international patent publication no. WO2014/123469A1, the coarse frequency estimation is the bin where the tone is located. For example, with one tone that is located at bin k, with exception of the special treatment at the endpoints. Turning to
(62) In some embodiments of inventive concepts, frequency interpolation may use a control unit to select which method is to be used for each located tone.
(63) At block 701, if the tone is located so that the interpolation will use either the DC bin or the fs/2 bin the interpolation control unit uses a method using absolute values of bin data (blocks 707, 709, 711), see e.g., similar operations discussed in international patent publication no. WO2014/123469A1. Where the three consecutive spectral estimates extracted in block 707, for a tone at k, are the real magnitude spectra coefficients |X(n)|, n=k−1, k, k+1 are input to the interpolation current unit as |X.sub.k−1|, |X.sub.k|, and |X.sub.k+1|. A calculation of the fractional offset is made similar to operations discussed international patent publication no. WO2014/123469A1 in block 709:
(64)
(65) With special handling of the tone located at DC or FS/2, that is when the tone locator may indicate that the located tone may not be at the center of the provided data points.
(66) In some embodiments of inventive concepts, if the tone is located so that the interpolation will not use either the DC bin or the fs/2 bin, the interpolation control unit uses a method adapted to the used window function and FFT length (blocks 703, 705, 711), with the FFT coefficients X(n), for
(67)
being the estimated spectrum. Similar operations are discussed in E Jacobsen and P Kootsooks, “Fast Accurate Frequency Estimation”, IEEE Signal Processing Magazine, pp 123-125, May, 2007 (Jacobsen). While the interpolation using absolute values of bin data uses the magnitude spectrum, the complex spectrum is still saved and may be used for the reconstruction so there is no complexity or memory penalty. The interpolation may be made using the complex coefficients on three consecutive FFT bins where the center bin is the found tone location.
(68) Since the complex representation of the spectrum is used there may be no accuracy penalty from using the magnitude approximation in calculating the magnitude spectrum for the tone locator. Only the endpoints would use those approximations.
(69) With a tone at k, the complex-valued coefficients X(n),n=k−1, k, k+1 may be input to the interpolation unit as X.sub.k−1, X.sub.k, and X.sub.k+1. The interpolation may calculate a fractional bin offset in block 711, usually in the range δ=[−0.5,0.5], based on the equation:
(70)
Where K.sub.jacob is a scaling coefficient that depends on the type of window used and the size of the FFT in relation to the sampling frequency. While, the expression RE{ }, means that only the real part of the expression within the parenthesis is used as the result—that is δ will still be a real value even though the spectral coefficients used for input are complex. For less complexity, only the real part of the expression within the RE{ } may be calculated.
(71) In both cases, to get the estimated frequency this fractional offset may be combined with the coarse resolution of the peak location k and the interpolation value δ.
f.sub.k=(k+δ)C (7)
(72) Where the C is the coarse resolution (in Hz/bin) and depends on length of the FFT and the sampling frequency, fs. The coarse resolution, that is Hz/bin, is just C=fs/N.sub.FFT.
(73) While Jacobsen discusses K.sub.jacob (named Q in Jacobsen) values for some window types, Jacobsen does not include the window that is used in international patent publication no. WO2014/123469A1. In some embodiments, to derive the coefficient for that window, the case when a tone is in the middle between two bins may be used, that is δ=±0.5 depending on which peak is chosen, see e.g.
(74) The window used for spectral analysis in international patent publication no. WO2014/123469A1 is called a “HammRect-window” as it combines a rectangular window with tapering based on the Hamm window. For all sampling frequencies discussed in international patent publication no. WO2014/123469A1, the ratio of rectangular and tapering may be the same. In some embodiments, the window is defined as 3 ms fadein tapering, 10 ms rectangular, and 3 ms fadeout. The fadein and fadeout tapering for fs=8 kHz may be seen in
(75) With this type of window, the value of K.sub.jacob=1.1429 would be the same for all sampling frequencies. If one uses a symmetric Hamm window for the tapering, one needs to use different values for different sampling frequencies, the difference is small. Some examples are: FFT size 128.fwdarw.1.1476, 256.fwdarw.1.1452, 512.fwdarw.1.1440, and 768.fwdarw.1.1436. Using one fixed coefficient and a periodic Hamm window may avoid this. The definition for a periodic Hamm window is:
(76)
To generate the tapering sections it is evaluated with L=2 L.sub.fade after evaluation the first half of this window is the fadein part and the second half is the fadeout part.
(77) One approach to tell if a Hamm window is symmetric or periodic is that it in the case that the first and last sample in the window is 0.08, it is symmetric. While if 0.08 is added to the sample to the periodic window it becomes symmetric but with the length L+1. From a storage point of view, the periodic definition allows for sub sampling—that is from a 32 kHz window one can sub sample that to get the 16 kHz and 8 kHz windows.
(78) For the parabolic interpolation discussed in international patent publication no. WO2014/123469A1, there is no constant and it does not depend on the symmetric or periodic Hamm function.
(79) Operations of decoder 1300 will now be discussed with reference to the flow charts of
(80)
(81) At block 1200 of
ABBREVIATIONS
(82) At least some of the following abbreviations may be used in this disclosure. If there is an inconsistency between abbreviations, preference should be given to how it is used above. If listed multiple times below, the first listing should be preferred over any subsequent listing(s).
(83) TABLE-US-00001 Abbreviation Explanation ADC Analog to Digital Converter BFI Bad Frame Indicator DAC Digital to Analog Converter FFT Fast Fourier Transform IFFT Inverse Fast Fourier Transform ITDA Inverse Time Domain Aliasing LA_ZEROS Look Ahead Zeros MDCT Modified Discrete Cosine Transform OLA OverLap and Add TDA Time Domain Aliasing
REFERENCES
(84) [1] International patent publication no. WO2014/123469A1 [2] M Allie and R Lyons, “A Root of Less Evil”, IEEE Signal Processing Magazine, pp 93-96, Marsh, 2005 [3] E Jacobsen and P Kootsooks, “Fast Accurate Frequency Estimation”, IEEE Signal Processing Magazine, pp 123-125, May, 2007 [4] International patent publication no. WO2014/123471A1
(85) Further discussion of inventive concepts is provided in the document International Patent Application Publication No. WO2014/123469A1.
Listing of Example Embodiments of Inventive Concepts
(86) Example Embodiments are discussed below. Reference numbers/letters are provided in parenthesis by way of example/illustration without limiting example embodiments to particular elements indicated by reference numbers/letters.
(87) 1. A method for controlling a concealment method for a lost audio frame of a received audio signal, the method comprising: receiving (1200, 1312) a plurality of bin vectors of a spectral representation for at least one tone, wherein the plurality of bin vectors include three consecutive bin vectors for the at least one tone; determining (1202, 1314) whether each of the three consecutive bin vectors has a complex value or a real value; responsive to the determination, processing (1204, 1316) the three consecutive bin values to estimate a frequency of the at least one tone.
(88) 2. The method of Embodiment 1, wherein determining comprises determining that each of the three consecutive bin vectors for the at least one tone has a complex value, and wherein processing comprises extracting a complex value coefficient for each of the three consecutive bin vectors; calculating (1204, 1314) a fractional bin offset for the at least one tone based on the complex valued coefficients for each of the three consecutive bin vectors; and calculating (1204, 1314) a bin frequency for the at least one tone based on the fractional bin offset.
(89) 3. The method of any of Embodiments 1 to 2, wherein calculating the fractional bin offset for the at least one tone comprises a scaling coefficient, a window function used for the spectral representation, and a transform length for a frequency spectrum containing each of the three consecutive bin vectors for the at least one tone.
(90) 4. The method of any of Embodiments 1 to 3, wherein the scaling coefficient depends on a type of window function.
(91) 5. The method of any of Embodiments 1 to 4, wherein calculating the factional bin offset for the at least one tone comprises a window function and a transform length for a frequency spectrum containing each of the three consecutive bin vectors.
(92) 6. The method of any of Embodiments 1 to 5, wherein the window function comprises a combined rectangular window with tapering based on a Hamm window.
(93) 7. The method of any of Embodiments 1 to 6, wherein the rectangular window includes rectangular lengths and the Hamm window includes fading lengths.
(94) 8. The method of any of Embodiments 1 to 7, wherein each of the rectangular lengths and the fading lengths depend on at least one sampling frequency.
(95) 9. The method of any of Embodiments 1 to 18, wherein the scaling coefficient comprises a constant when the window function comprises a combined rectangular window with tapering based on a Hamm window.
(96) 10. The method of any of Embodiments 1 to 9, wherein the window function comprises a periodic Hamm window.
(97) 11. The method of any of Embodiments 1 to 10, wherein the scaling coefficient comprises a constant when the window function comprises a periodic Hamm window.
(98) 12. The method of any of Embodiments 1 to 11, wherein calculating a bin frequency for the at least one tone comprises the fractional bin offset for the at least one tone, the location of the at least one tone in the first bin of the three consecutive bins, and a coarse resolution in Hz/bin.
(99) 13. The method of any of Embodiments 1 to 12, wherein the coarse resolution depends on a transform length for the frequency spectrum and a sampling frequency.
(100) 14. The method of any of Embodiments 1 to 13, wherein determining and processing are performed for each of the at least one tone of the spectral representation.
(101) 15. The method of Embodiment 1, wherein determining comprises determining that at least one of the three consecutive bin vectors has a real value, and wherein processing comprises extracting a magnitude point for each of the three consecutive bin vectors; calculating a fractional bin offset based on the magnitude points for each of the three consecutive bin vectors; and calculating a bin frequency for the at least one tone based on the fractional bin offset.
(102) 16. A decoder (1300) for controlling a concealment method for a lost audio frame of a received audio signal, the decoder comprising: a processor (1306); and memory (1308) coupled with the processor, wherein the memory includes instructions that when executed by the processor causes the decoder to perform operations according to any of Embodiments 1-15.
(103) 17. A decoder (1300) for controlling a concealment method for a lost audio frame of a received audio signal, wherein the decoder is adapted to perform according to any of Embodiments 1-15.
(104) 18. A computer program comprising program code to be executed by at least one processor (1306) of a decoder (1300) for controlling a concealment method for a lost audio frame of a received audio signal, whereby execution of the program code causes the decoder (1300) to perform operations according to any one of embodiments 1-15.
(105) 19. A computer program product comprising a non-transitory storage medium including program code to be executed by at least one processor (1306) of a decoder (1300) for controlling a concealment method for a lost audio frame of a received audio signal, whereby execution of the program code causes the decoder (1300) to perform operations according to any one of embodiments 1-15.
ADDITIONAL EXPLANATION
(106) Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where 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. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following description.
(107) Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.
(108) The term unit may have conventional meaning in the field of electronics, electrical devices and/or electronic devices and may include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.
(109) In the above description of various embodiments of present inventive concepts, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of present inventive concepts. Unless otherwise defined, 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 present inventive concepts belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
(110) When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions 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.
(111) It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements/operations, these elements/operations should not be limited by these terms. These terms are only used to distinguish one element/operation from another element/operation. Thus a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of present inventive concepts. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.
(112) As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
(113) Example 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 a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute 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 circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
(114) These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of present inventive concepts may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
(115) It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon 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 blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of inventive concepts. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
(116) Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present inventive concepts. All such variations and modifications are intended to be included herein within the scope of present inventive concepts. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of present inventive concepts. Thus, to the maximum extent allowed by law, the scope of present inventive concepts are to be determined by the broadest permissible interpretation of the present disclosure including the examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.