Audio encoder and audio decoder and corresponding methods
Through selective predictive coding technology, only predictive coding is applied to specific spectrum coefficients or groups, the existing audio transformation coding technology solves the problems of insufficient tone signal quality and high computational complexity at low bit rate, and achieves more efficient audio Signal encoding and decoding.
Patent Information
- Application Number
- CN202110984955.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-06-17
- Filing Date
- 2016-03-07
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2036-03-07
AI Technical Summary
The existing audio conversion encoding technology lacks the encoding quality of the tone signal at low bit rate, and the frequency domain prediction method has complex operations and limited prediction efficiency, resulting in delay and error problems.
The selective prediction encoding method is adopted, and only prediction encoding is applied to a specific spectrum coefficient or spectrum coefficient group in the transform domain or filter group domain, and prediction encoding is applied through the spacing value selection, reducing the computational complexity and improving prediction efficiency.
It reduces the computational complexity of encoding and decoding, reduces errors, and improves the encoding quality of audio signals, and is suitable for low bit rate scenarios.
Smart Images

Figure CN114067813B_ABST
Abstract
Description
[0001] This application is a divisional application of the Fraunhofer Society, filed on March 7, 2016, with application number 201680015022.2 and invention name “Audio encoder and audio decoder and corresponding methods”. Technical Field
[0002] Embodiments relate to audio coding, and more particularly to a method and apparatus for encoding an audio signal using predictive coding and to a method and apparatus for decoding an encoded audio signal using predictive decoding. Preferred embodiments relate to methods and apparatus for pitch-adaptive spectral prediction. More preferred embodiments relate to perceptual coding of tonal audio signals with the aid of transform coding using frequency domain interframe prediction tools. Background Art
[0003] In order to improve the quality of the encoded tonal signal, especially at low bit rates, modern audio transform encoders use very long transforms and / or long-term prediction or pre-filtering / post-filtering. However, long transforms mean long calculation delays, which are undesirable for low-delay communication scenarios. Therefore, predictors with very low delays based on the instantaneous basic pitch have recently gained popularity. The IETF (Internet Engineering Task Force) Opus codec utilizes pitch adaptive pre- and post-filtering in its frequency-domain CELT (Constrained Energy Overlapped Transform) coding path [JM Valin, K. Vos, and T. Terriberry, “Definition of the Opus audio codec” 2012, IETF RFC 6716. http: / / tools.ietf.org / html / rfc67161.], and the 3GPP (3rd Generation Partnership Project) EVS (Enhanced Voice Services) codec provides a long-term harmonic post-filter for perceptual improvement of transform-decoded signals [3GPP TS 26.443, “Codec for Enhanced Voice Services (EVS),” Release 12, Dec. 2014.]. Both approaches operate on the fully decoded signal waveform in the time domain, making them difficult and / or computationally expensive to apply frequency selectively (both schemes only provide simple low-pass filters for some frequency selectivity). Therefore, a welcome alternative to temporal long-term prediction (LTP) or pre-filtering / post-filtering (PPF) is provided by frequency-domain prediction (FDP) as supported in MPEG-2 AAC [ISO / IEC 13818-7, "Information technology - Part 7: Advanced Audio Coding (AAC)" 2006.]. While promoting frequency selectivity, this approach has its own disadvantages, as described below.
[0004] The FDP method as described above has two disadvantages to other tools. First, the FDP method requires high computational complexity. In detail, in the worst case of prediction in all scale factor bands, linear prediction coding of at least second order (i.e., channel transform bins from the last two frames) is applied for hundreds of spectral bins for each frame and channel [ISO / IEC 13818-7, "Information technology-Part 7:Advanced Audio Coding (AAC), "2006.]. Second, the FDP method includes a limited overall prediction gain. More precisely, because the noise components between the predictable harmonic and tonal spectrum parts are also predicted, the efficiency of the prediction is limited, and errors are introduced because these noise parts are usually unpredictable.
[0005] This high complexity is due to the backward adaptability of the predictor. This means that the prediction coefficients for each bin must be calculated based on the previously transmitted bins. Therefore, numerical inaccuracies between the encoder and the decoder can lead to reconstruction errors due to divergent prediction coefficients. To overcome this problem, bit-identical adaptation must be guaranteed. Furthermore, even if a group of predictors is disabled in some frames, in order to keep the prediction coefficients up to date, adaptation must always be performed. Summary of the invention
[0006] It is therefore an object of the present invention to provide a concept for encoding an audio signal and / or decoding an encoded audio signal which avoids at least one (eg both) of the aforementioned problems and leads to a more efficient and computationally cheap implementation.
[0007] This object is achieved by the independent claims.
[0008] Advantageous embodiments are set forth in the dependent claims.
[0009] An embodiment provides an encoder for encoding an audio signal. The encoder is configured to encode the audio signal in a transform domain or a filter bank domain, wherein the encoder is configured to determine spectral coefficients of the audio signal for a current frame and at least one previous frame, wherein the encoder is configured to selectively apply predictive coding to a plurality of individual spectral coefficients or groups of spectral coefficients, wherein the encoder is configured to determine a pitch value, wherein the encoder is configured to select the plurality of individual spectral coefficients or groups of spectral coefficients to which predictive coding is applied based on the pitch value which may be transmitted as side information together with the encoded audio signal.
[0010] Other embodiments provide a decoder for decoding an encoded audio signal (e.g., encoded by the encoder described above). The decoder is configured to decode the encoded audio signal in a transform domain or a filter bank domain, wherein the decoder is configured to parse the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame, and wherein the decoder is configured to selectively apply predictive decoding to a plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients, wherein the decoder is configured to select the plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients to which predictive decoding is applied based on a transmitted spacing value.
[0011] According to the concept of the present invention, predictive coding is applied (only) to selected spectral coefficients. The spectral coefficients to which predictive coding is applied can be selected based on signal characteristics. For example, by not applying predictive coding to noise signal components, the aforementioned errors introduced by predicting unpredictable noise signal components are avoided. At the same time, the computational complexity can be reduced by applying predictive coding only to selected spectral components.
[0012] For example, perceptual coding of tonal audio signals may be performed by means of transform coding (e.g. by an encoder) using a guided / adaptive spectral domain inter prediction method. The efficiency of frequency domain prediction (FDP) may be increased and the computational complexity may be reduced by applying the prediction only to spectral coefficients around harmonic signal components, e.g. located at integer multiples of a fundamental frequency or pitch (which may be signaled from the encoder to the decoder, e.g. as spacing values, in a suitable bitstream). Embodiments of the invention may preferably be implemented or integrated into an MPEG-H 3D Audio codec, but may also be applied to any audio transform coding system such as, for example, MPEG-2 AAC.
[0013] Other embodiments provide a method for encoding an audio signal in a transform domain or a filter bank domain, the method comprising:
[0014] - determining spectral coefficients of the audio signal for a current frame and at least one previous frame;
[0015] -determine the spacing value; and
[0016] - selectively applying predictive coding to a plurality of individual spectral coefficients or groups of spectral coefficients, wherein the plurality of individual spectral coefficients or groups of spectral coefficients to which predictive coding is applied are selected based on the spacing value.
[0017] Other embodiments provide a method for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising:
[0018] - parsing the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame;
[0019] - obtain the spacing value; and
[0020] - selectively applying predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on a spacing value. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Here, embodiments of the present invention are described with reference to the accompanying drawings, in which:
[0022] Figure 1 A schematic block diagram showing an encoder for encoding an audio signal according to an embodiment;
[0023] Figure 2 In the figure are shown the amplitude of an audio signal plotted with respect to frequency for a current frame and the corresponding selected spectral coefficients to which predictive coding is applied according to an embodiment;
[0024] Figure 3 In the figure are shown the amplitude of the audio signal plotted with respect to frequency for the current frame and the corresponding spectral coefficients predicted according to MPEG-2 AAC according to an embodiment;
[0025] Figure 4 shows a schematic block diagram of a decoder for decoding an encoded audio signal according to an embodiment;
[0026] Figure 5 A flowchart showing a method for encoding an audio signal according to an embodiment;
[0027] Figure 6 A flowchart of a method for decoding an encoded audio signal according to an embodiment is shown. DETAILED DESCRIPTION
[0028] In the following description, equal or equivalent elements or elements having equal or equivalent functions are marked with equal or equivalent reference numerals.
[0029] In the following description, a number of details are set forth to provide a more detailed explanation of embodiments of the present invention. However, it will be apparent to those skilled in the art that embodiments of the present invention may be practiced without these specific details. In other examples, in order to avoid obscuring embodiments of the present invention, well-known structures and devices are shown in block diagram form rather than in detail. In addition, unless otherwise specifically noted, the features of the different embodiments described below may be combined with each other.
[0030] Figure 1 A schematic block diagram of an encoder 100 for encoding an audio signal 102 according to an embodiment is shown. The encoder 100 is configured to encode the audio signal 102 in a transform domain or a filter bank domain 104 (e.g., a frequency domain or a spectral domain), wherein the encoder 100 is configured to determine spectral coefficients 106_t0_f1 to 106_t0_f6 of the audio signal 102 for a current frame 108_t0 and spectral coefficients 106_t-1_f1 to 106_t-1_f6 of the audio signal for at least one previous frame 108_t-1. In addition, the encoder 100 is used to selectively apply predictive coding to multiple individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5, wherein the encoder 100 is used to determine a spacing value, wherein the encoder 100 is used to select multiple individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 to which predictive coding is applied based on the spacing value.
[0031] In other words, the encoder 100 is configured to selectively apply predictive coding to a plurality of individual spectral coefficients 106_t0_f2 or a group of spectral coefficients 106_t0_f4 and 106_t0_f5 selected based on the spacing value transmitted as side information.
[0032] The spacing values may correspond to a frequency (e.g., the fundamental frequency of a harmonic tone (of the audio signal 102)) which, together with its integer multiples, defines the centers of all groups of spectral coefficients to which prediction is applied: the first group may be centered at this frequency, the second group may be centered at twice this frequency, the third group may be centered at three times this frequency, and so on. Knowledge of these center frequencies enables the calculation of prediction coefficients used to predict corresponding sinusoidal signal components (e.g., the fundamental tone and overtones of the harmonic signal). Thus, a complex and error-prone backward adaptation of the prediction coefficients is no longer necessary.
[0033] In an embodiment, encoder 100 may be configured to determine a pitch value per frame.
[0034] In an embodiment, a plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 may be separated by at least one spectral coefficient 106_t0_f3.
[0035] In an embodiment, the encoder 100 may be used to apply predictive coding to a plurality of individual spectral coefficients separated by at least one spectral coefficient, such as to two individual spectral coefficients separated by at least one spectral coefficient. In addition, the encoder 100 may be used to apply predictive coding to a plurality of groups of spectral coefficients separated by at least one spectral coefficient (each group including at least two spectral coefficients), such as to two groups of spectral coefficients separated by at least one spectral coefficient. In addition, the encoder 100 may be used to apply predictive coding to a plurality of individual spectral coefficients and / or groups of spectral coefficients separated by at least one spectral coefficient, such as to at least one individual spectral coefficient and at least one group of spectral coefficients separated by at least one spectral coefficient.
[0036] exist Figure 1 In the example shown, the encoder 100 is configured to determine six spectral coefficients 106_t0_f1 to 106_t0_f6 for a current frame 108_t0 and six spectral coefficients 106_t-1_f1 to 106_t-1_f6 for a previous frame 108_t-1. Thus, the encoder 100 is configured to selectively apply predictive coding to individual second spectral coefficients 106_t0_f2 of the current frame and to a group of spectral coefficients consisting of the fourth and fifth spectral coefficients 106_t0_f4 and 106_t0_f5 of the current frame 108_t0. As can be seen, the individual second spectral coefficients 106_t0_f2 and the group of spectral coefficients consisting of the fourth and fifth spectral coefficients 106_t0_f4 and 106_t0_f5 are separated from each other by the third spectral coefficient 106_t0_f3.
[0037] It should be noted that the term "selective" as used herein refers to the application of predictive coding (only) to selected spectral coefficients. In other words, predictive coding does not have to be applied to all spectral coefficients, but only to selected individual spectral coefficients or groups of spectral coefficients, which may be separated from each other by at least one spectral coefficient. In other words, predictive coding may be deactivated for at least one spectral coefficient separating the selected plurality of individual spectral coefficients or groups of spectral coefficients.
[0038] In an embodiment, the encoder 100 may be used to selectively apply predictive encoding to a plurality of individual spectral coefficients 106_t0_f2 or a group of spectral coefficients 106_t0_f4 and 106_t0_f5 of a current frame 108_t0 based on at least a plurality of corresponding individual spectral coefficients 106_t-1_f2 or a group of spectral coefficients 106_t-1_f4 and 106_t-1_f5 of a previous frame 108_t-1.
[0039] For example, the encoder 100 may be used to predictively encode a plurality of individual spectral coefficients 106_t0_f2 or a group of spectral coefficients 106_t0_f4 and 106_t0_f5 of a current frame 108_t0 by encoding a prediction error between the plurality of predicted individual spectral coefficients 110_t0_f2 or a group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 of the current frame and a plurality of individual spectral coefficients 106_t0_f2 or a group of spectral coefficients 106_t0_f4 and 106_t0_f5 of the current frame (or a quantized version thereof).
[0040] exist Figure 1 In the embodiment, the encoder 100 encodes the individual spectral coefficient 106_t0_f2 and the group of spectral coefficients consisting of the spectral coefficients 106_t0_f4 and 106_t0_f5 by encoding the prediction error between the predicted individual spectral coefficient 110_t0_f2 of the current frame 108_t0 and the individual spectral coefficient 106_t0_f2 of the current frame 108_t0, and the prediction error between the group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 of the current frame and the group of spectral coefficients 106_t0_f4 and 106_t0_f5 of the current frame.
[0041] In other words, the second spectral coefficient 106_t0_f2 is encoded by encoding the prediction error (or difference) between the predicted second spectral coefficient 110_t0_f2 and the (actual or determined) second spectral coefficient 106_t0_f2, wherein the fourth spectral coefficient 106_t0_f4 is encoded by encoding the prediction error (or difference) between the predicted fourth spectral coefficient 110_t0_f4 and the (actual or determined) fourth spectral coefficient 106_t0_f4, and wherein the fifth spectral coefficient 106_t0_f5 is encoded by encoding the prediction error (or difference) between the predicted fifth spectral coefficient 110_t0_f5 and the (actual or determined) fifth spectral coefficient 106_t0_f5.
[0042] In an embodiment, the encoder 100 may be used to determine a plurality of predicted individual spectral coefficients 110_t0_f2 or a group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 for a current frame 108_t0 with the aid of corresponding actual versions of a plurality of individual spectral coefficients 106_t-1_f2 or a group of spectral coefficients 106_t-1_f4 and 106_t-1_f5 of a previous frame 108_t-1.
[0043] In other words, in the above-mentioned determination process, the encoder 100 can directly use multiple actual individual spectral coefficients 106_t-1_f2 or groups of actual spectral coefficients 106_t-1_f4 and 106_t-1_f5 of the previous frame 108_t-1 (where 106_t-1_f2, 106_t-1_f4 and 106_t-1_f5 respectively represent original, not yet quantized spectral coefficients or groups of spectral coefficients) because they are obtained by the encoder 100 so that the encoder can operate in the transform domain or filter bank domain 104.
[0044] For example, the encoder 100 may be used to determine a second predicted spectral coefficient 110_t0_f2 of a current frame 108_t0 based on a corresponding not-quantized version of the second spectral coefficient 106_t-1_f2 of a previous frame 108_t-1, determine a predicted fourth spectral coefficient 110_t0_f4 of the current frame 108_t0 based on a corresponding not-quantized version of the fourth spectral coefficient 106_t-1_f4 of the previous frame 108_t-1, and determine a predicted fifth spectral coefficient 110_t0_f5 of the current frame 108_t0 based on a corresponding not-quantized version of the fifth spectral coefficient 106_t-1_f5 of the previous frame.
[0045] In this way, predictive coding and decoding schemes can exhibit a harmonic shaping of the quantization noise, since the corresponding decoder (with respect to Figure 4 Embodiments of which are described below) can only be used in the above-mentioned determination step for the predicted decoding of the transmitted quantized versions of the individual spectral coefficients 106_t-1_f2 or the groups of spectral coefficients 106_t-1_f4 and 106_t-1_f5 of the previous frame 108_t-1.
[0046] Although this harmonic noise shaping may be subjectively advantageous for predictive coding because it is, for example, conventionally performed in the time domain by long-term prediction (LTP), in some cases it may be undesirable because it may result in unwanted, excessive tones being introduced into the decoded audio signal. For this reason, an alternative predictive coding scheme is described below that is completely synchronized with the corresponding decoding and likewise only exploits any possible prediction gain but does not result in quantization noise shaping. According to this alternative coding embodiment, the encoder 100 can be used to determine a plurality of predicted individual spectral coefficients 110_t0_f2 or a group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 for a current frame 108_t0 using corresponding quantized versions of a plurality of individual spectral coefficients 106_t-1_f2 or a group of spectral coefficients 106_t-1_f4 and 106_t-1_f5 of a previous frame 108_t-1.
[0047] For example, the encoder 100 may be used to determine a second predicted spectral coefficient 110_t0_f2 of a current frame 108_t0 based on a corresponding quantized version of the second spectral coefficient 106_t-1_f2 of a previous frame 108_t-1, determine a predicted fourth spectral coefficient 110_t0_f4 of the current frame 108_t0 based on a corresponding quantized version of the fourth spectral coefficient 106_t-1_f4 of the previous frame 108_t-1, and determine a predicted fifth spectral coefficient 110_t0_f5 of the current frame 108_t0 based on a corresponding quantized version of the fifth spectral coefficient 106_t-1_f5 of the previous frame 108_t-1.
[0048] In addition, the encoder 100 may be used to derive prediction coefficients 112_f2, 114_f2, 112_f4, 114_f4, 112_f5 and 114_f5 from the spacing value and use a plurality of individual spectral coefficients 106_t-1_f2 and 106_t-2_f2 or spectral coefficients 106_t-1_f4, 106_t-2_f4, 106_t-2_f5 of at least two previous frames 108_t-1 and 108_t-2. A plurality of predicted individual spectral coefficients 110_t0_f2 or a group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 are calculated for the current frame 108_t0 using corresponding quantized versions of the group of 06_t-1_f5 and 106_t-2_f5 and the resulting prediction coefficients 112_f2, 114_f2, 112_f4, 114_f4, 112_f5 and 114_f5.
[0049] For example, the encoder 100 may be used to derive prediction coefficients 112_f2 and 114_f2 for the second spectral coefficient 106_t0_f2 from the spacing value, derive prediction coefficients 112_f4 and 114_f4 for the fourth spectral coefficient 106_t0_f4 from the spacing value, and derive prediction coefficients 112_f5 and 114_f5 for the fifth spectral coefficient 106_t0_f5 from the spacing value.
[0050] For example, the prediction coefficients can be derived in the following way: If the spacing value or its encoded version corresponds to the frequency f0, then the center frequency of the Kth group of spectral coefficients enabling prediction is fc=K*f0. If the sampling frequency is fs and the transform jump size (shift between consecutive frames) is N, then the ideal predictor coefficients assuming a sinusoidal signal with frequency fc in the Kth group are:
[0051] p1 = 2*cos(N*2*pi*fc / fs) and p2 = -1.
[0052] If, for example, the spectral coefficients 106_t0_f4 and 106_t0_f5 are in this group, then the prediction coefficients are:
[0053] 112_f4=112_f5=2*cos(N*2*pi*fc / fs) and 114_f4=114_f5=-1
[0054] For stability reasons, a damping factor d can be introduced leading to modified prediction coefficients:
[0055] 112_f4'=112_f5'=d*2*cos(N*2*pi*fc / fs), 114_f4'=114_f5'=d 2 .
[0056] Since the pitch value is transmitted in the encoded audio signal 120, the decoder can derive exactly the same prediction coefficients 212_f4=212_f5=2*cos(N*2*pi*fc / fs) and 114_f4=114_f5=-1. If a damping factor is used, the coefficients can be modified accordingly.
[0057] as Figure 1 , the encoder 100 may be used to provide an encoded audio signal 120. Thus, the encoder 100 may be configured to include a quantized version of the prediction error in the encoded audio signal 120 for a plurality of individual spectral coefficients 106_t0_f2 or a group of spectral coefficients 106_t0_f4 and 106_t0_f5 to which predictive coding is applied. In addition, the encoder 100 may be configured not to include the prediction coefficients 112_f2 to 114_f5 in the encoded audio signal 120.
[0058] Thus, the encoder 100 may use only the prediction coefficients 112_f2 to 114_f5 to calculate the prediction errors between the plurality of predicted individual spectral coefficients 110_t0_f2 or the group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 and the predicted individual spectral coefficients 110_t0_f2 or the group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 of the current frame from which they are derived and the individual spectral coefficients 106_t0_f2 or the group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5, but the individual spectral coefficients 106_t0_f4 (or quantized versions thereof) or the group of spectral coefficients 106_t0_f4 and 106_t0_f5 (or quantized versions thereof) and the prediction coefficients 112_f2 to 114_f5 will not be provided in the encoded audio signal 120. Thus, the decoder (later on with respect to Figure 4 An embodiment thereof is described) can derive prediction coefficients 112_f2 to 114_f5 for calculating a plurality of predicted individual spectral coefficients or a group of predicted spectral coefficients for the current frame from the spacing value.
[0059] In other words, the encoder 100 may be configured to provide an encoded audio signal 120 comprising a quantized version of the prediction error instead of a quantized version of the multiple individual spectral coefficients 106_t0_f2 or the group of spectral coefficients 106_t0_f4 and 106_t0_f5 to which predictive coding is applied.
[0060] Furthermore, the encoder 100 may be used to provide an encoded audio signal 120 comprising a quantized version of a spectral coefficient 106_t0_f3 separating a plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 such that there is an alternation of spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 for which a quantized version of the prediction error is included in the encoded audio signal 120 and spectral coefficients 106_t0_f3 or groups of spectral coefficients for which a quantized version is provided without using predictive coding.
[0061] In an embodiment, the encoder 100 may also be used to entropy encode a quantized version of the prediction error and a quantized version of the spectral coefficient 106_t0_f3 separating a plurality of individual spectral coefficients 106_t0_f2 or a group of spectral coefficients 106_t0_f4 and 106_t0_f5, and include the entropy encoded versions (rather than non-entropy encoded versions thereof) in the encoded audio signal 120.
[0062] Figure 2 The figure shows the amplitude of the audio signal 102 plotted against frequency for the current frame 108_t0. Figure 2 , the spectral coefficients in the transform domain or filter bank domain determined by the encoder 100 for the current frame 108_t0 of the audio signal 102 are represented.
[0063] like Figure 2 As shown in FIG. 1 , the encoder 100 may be used to selectively apply predictive coding to a plurality of groups 116_1 to 116_6 of spectral coefficients separated by at least one spectral coefficient. Figure 2In the illustrated embodiment, the encoder 100 selectively applies predictive coding to six groups 116_1 to 116_6 of spectral coefficients, wherein each of the first five groups 116_1 to 116_5 of spectral coefficients includes three spectral coefficients (e.g., the second group 116_2 includes spectral coefficients 106_t0_f8, 106_t0_f9, and 106_t0_f10), wherein the sixth group 116_6 of spectral coefficients includes two spectral coefficients. Thus, these six groups 116_1 to 116_6 of spectral coefficients are separated by (five) groups 118_1 to 118_5 of spectral coefficients to which predictive coding is not applied.
[0064] In other words, Figure 2 As represented in , the encoder 100 can be used to selectively apply predictive coding to groups 116_1 to 116_6 of spectral coefficients, so that there is an alternation of groups 116_1 to 116_6 of spectral coefficients to which predictive coding is applied and groups 118_1 to 118_5 of spectral coefficients to which predictive coding is not applied.
[0065] In an embodiment, the encoder 100 may be used to determine a pitch value (indicated by arrows 122_1 and 122_2 in FIG. Figure 2 ), wherein the encoder 100 may be used to select a plurality of groups 116_1 to 116_6 (or a plurality of individual spectral coefficients) to which predictive coding is applied based on the spacing value.
[0066] The spacing value may be, for example, the spacing (or distance) between two characteristic frequencies of the audio signal 102, such as peaks 124_1 and 124_2 of the audio signal. In addition, the spacing value may be an integer number of spectral coefficients (or indices of spectral coefficients) that approximates the spacing between the two characteristic frequencies of the audio signal. Naturally, the spacing value may also be a real value or a fraction or multiple of the integer number of spectral coefficients that describes the spacing between the two characteristic frequencies of the audio signal.
[0067] In an embodiment, the encoder 100 may be configured to determine an instantaneous fundamental frequency of the audio signal (102) and derive a pitch value from the instantaneous fundamental frequency or a fraction or multiple thereof.
[0068] For example, the first peak 124_1 of the audio signal 102 may be the instantaneous fundamental frequency (or pitch, or first harmonic) of the audio signal 102. Thus, the encoder 100 may be configured to determine the instantaneous fundamental frequency of the audio signal 102 and derive the spacing value from the instantaneous fundamental frequency or a fraction or multiple thereof. In this case, the spacing value may be an integer number (or a fraction or multiple thereof) of a spectral coefficient that approximates the spacing between the instantaneous fundamental frequency 124_1 of the audio signal 102 and the second harmonic 124_2.
[0069] Naturally, the audio signal 102 may include more than two harmonics. Figure 2 The audio signal 102 in includes six harmonics 124_1 to 124_6 distributed on the spectrum so that the audio signal 102 includes harmonics at each integer multiple of the instantaneous fundamental frequency. Naturally, the audio signal 102 may also not include all but only some harmonics, such as the first, third and fifth harmonics.
[0070] In an embodiment, the encoder 100 may be used to select groups 116_1 to 116_6 of spectral coefficients (or individual spectral coefficients) spectrally arranged according to a harmonic grid defined by a spacing value for predictive coding. Thus, the harmonic grid defined by the spacing value describes a periodic spectral distribution (equidistant spacing) of harmonics in the audio signal 102. In other words, the harmonic grid defined by the spacing value may be a sequence of equally spaced spacing values describing the harmonics of the audio signal.
[0071] In addition, the encoder 100 can be used to select spectral coefficients (e.g., only those spectral coefficients) whose spectral indices are equal to or within a range (e.g., predetermined or variable) around multiple spectral indices derived based on the spacing value for predictive encoding.
[0072] The index (or number) of the spectral coefficient representing the harmonic of the audio signal 102 can be derived from the pitch value. For example, assuming that the fourth spectral coefficient 106_t0_f4 represents the instantaneous fundamental frequency of the audio signal 102 and assuming the pitch value is five, the spectral coefficient with index nine can be derived based on the pitch value. Figure 2 As can be seen in , the obtained spectral coefficient with index nine (i.e., the ninth spectral coefficient 106_t0_f9) represents the second harmonic. Similarly, spectral coefficients with indices 14, 19, 24 and 29 can be obtained, representing the third to sixth harmonics 124_3 to 124_6. However, not only spectral coefficients with indices equal to the multiple spectral indices obtained based on the spacing value can be predictively encoded, but also spectral coefficients with indices within a given range around the multiple spectral indices obtained based on the spacing value can be predictively encoded. For example, as Figure 2 As shown in , the range may be three, so that instead of multiple individual spectral coefficients multiple groups of spectral coefficients are selected for predictive coding.
[0073] In addition, the encoder 100 can be used to select the groups 116_1 to 116_6 (or multiple individual spectral coefficients) of spectral coefficients to which predictive coding is applied so that there is a periodic alternation between the groups 116_1 to 116_6 (or multiple individual spectral coefficients) of spectral coefficients to which predictive coding is applied and the spectral coefficients separating the groups of spectral coefficients (or multiple individual spectral coefficients) to which predictive coding is applied, which is periodic with a tolerance of + / -1 spectral coefficient. When the distance between two harmonics of the audio signal 102 is not equal to an integer spacing value (an integer with respect to the index or number of the spectral coefficients) but a fraction or multiple thereof, a tolerance of + / -1 spectral coefficient may be required. This can also be used in Figure 2 As can be seen in , the arrows 122_1 to 122_6 do not always point exactly to the center or middle of the corresponding spectral coefficients.
[0074] In other words, the audio signal 102 may include at least two harmonic signal components 124_1 to 124_6, wherein the encoder 100 may be used to selectively apply predictive coding to a plurality of groups 116_1 to 116_6 (or individual spectral coefficients) of spectral coefficients representing the at least two harmonic signal components 124_1 to 124_6 of the audio signal 102 or the spectral environment around the at least two harmonic signal components 124_1 to 124_6. The spectral environment around the at least two harmonic signal components 124_1 to 124_6 may be, for example, + / - 1, 2, 3, 4 or 5 spectral components.
[0075] Thus, the encoder 100 may be configured to not apply predictive coding to those groups 118_1 to 118_5 (or multiple individual spectral coefficients) of spectral coefficients that do not represent at least two harmonic signal components 124_1 to 124_6 of the audio signal 102 or the spectral environment of the at least two harmonic signal components 124_1 to 124_6. In other words, the encoder 100 may be configured to not apply predictive coding to multiple groups 118_1 to 118_5 (or multiple individual spectral coefficients) of spectral coefficients that belong to non-tonal background noise between the signal harmonics 124_1 to 124_6.
[0076] Additionally, the encoder 100 may be configured to determine a harmonic spacing value indicating a spectral spacing between at least two harmonic signal components 124_1 to 124_6 of the audio signal 102 , the harmonic spacing value indicating a plurality of individual spectral coefficients or a plurality of groups of spectral coefficients representing at least two harmonic signal components 124_1 to 124_6 of the audio signal 102 .
[0077] Furthermore, the encoder 100 may be configured to provide the encoded audio signal 120 such that the encoded audio signal 120 comprises a pitch value (eg one pitch value per frame) or (optionally) a parameter from which the pitch value may be directly derived.
[0078] The present embodiment solves the two problems of the aforementioned FDP method by introducing a harmonic spacing value into the FDP process, which is signaled from the encoder (transmitter) 100 to the respective decoders (receivers) so that the two can operate in a completely synchronized manner. The harmonic spacing value can serve as an indicator of the instantaneous fundamental frequency (or pitch) of one or more spectra associated with the frame to be encoded, and identifies which spectral bins (spectral coefficients) should be predicted. More specifically, only those spectral coefficients around the harmonic signal components that are located (with respect to their index) at integer multiples of the fundamental pitch (as defined by the harmonic spacing value) should be predicted. Figure 2 and 3 This pitch adaptive prediction method is illustrated with the help of a simple example, where Figure 3 The operation of the state-of-the-art predictor in MPEG-2 AAC is shown, which not only predicts around the harmonic grid, but also subjects every spectral bin below a certain stop frequency to prediction, and where Figure 2 The same predictor is shown with modifications according to an embodiment incorporated to perform prediction only on those "pitch" bins that are closest to the harmonic spacing grid.
[0079] Compare Figure 2 and Figure 3 Two advantages of the modifications according to the embodiment are revealed, namely: (1) very few spectral bins are included in the prediction process, reducing the complexity (about 40% in the given example since only three fifths of the bins are predicted), and (2) bins belonging to non-tonal background noise between harmonic signals are not affected by the prediction, which should increase the efficiency of the prediction.
[0080] It should be noted that the harmonic spacing values do not necessarily need to correspond to the actual instantaneous pitch of the input signal, but may also represent fractions or multiples of the actual pitch, as long as an overall improvement in the efficiency of the prediction process can be achieved. Furthermore, it must be emphasized that the harmonic spacing values do not necessarily reflect integer multiples of bin index or bandwidth units, but may include fractions of said units.
[0081] A preferred implementation of an MPEG-style audio encoder will subsequently be described.
[0082] Pitch adaptive prediction is preferably integrated into MPEG-2 AAC [ISO / IEC 13818-7, "Information technology—Part 7: Advanced Audio Coding (AAC)," 2006.] or, using a similar predictor as in AAC, into the MPEG-H 3D Audio codec [ISO / IEC 23008-3, "Information technology—High efficiency coding, part 3: 3D audio (Information technology—High efficiency coding, part 3: 3D audio)" 2015.]. In particular, for each frame and channel that is not independently coded, a one-bit flag may be written to and read from each bitstream (for independent frame channels, the flag may not be transmitted because prediction may be disabled to ensure independence). If the flag is set to one, the other 8 bits may be written to and read from. This 8 bits represents a quantized version (e.g., an index) of the harmonic spacing value for a given frame and channel. Using the harmonic spacing value derived from the quantized version using a linear or nonlinear mapping function, the harmonic spacing value may be expressed as a function of the harmonic spacing value according to the quantized version. Figure 2 The prediction process is implemented in the manner of the embodiment shown. Preferably, only bins within a maximum distance of 1.5 bins around the harmonic grid are predicted. For example, if the harmonic distance value indicates a harmonic line at bin index 47.11, only bins at indices 46, 47 and 48 will be predicted. However, the maximum distance may be specified differently, fixed a priori for all channels and frames or used for each frame and channel separately based on the harmonic spacing value.
[0083] Figure 4 A schematic block diagram of a decoder 200 for decoding an encoded signal 120 is shown. The decoder 200 is for decoding an encoded audio signal 120 in a transform domain or a filter bank domain 204, wherein the decoder 200 is for parsing the encoded audio signal 120 to obtain encoded spectral coefficients 206_t0_f1 to 206_t0_f6 of the audio signal for a current frame 208_t0 and encoded spectral coefficients 206_t-1_f0 to 206_t-1_f6 for at least one previous frame 208_t-1, and wherein the decoder 200 is for selectively applying predictive decoding to a plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients separated by at least one encoded spectral coefficient.
[0084] In an embodiment, the decoder 200 may be used to apply predictive decoding to a plurality of individual encoded spectral coefficients separated by at least one encoded spectral coefficient, such as to two individual encoded spectral coefficients separated by at least one encoded spectral coefficient. In addition, the decoder 200 may be used to apply predictive decoding to a plurality of groups of encoded spectral coefficients separated by at least one encoded spectral coefficient (each group comprising at least two encoded spectral coefficients), such as to two groups of encoded spectral coefficients separated by at least one encoded spectral coefficient. In addition, the decoder 200 may be used to apply predictive decoding to a plurality of individual encoded spectral coefficients separated by at least one encoded spectral coefficient and / or groups of encoded spectral coefficients, such as to at least one individual encoded spectral coefficient separated by at least one encoded spectral coefficient and at least one group of encoded spectral coefficients.
[0085] exist Figure 4 In the example shown, the decoder 200 is operable to determine six encoded spectral coefficients 206_t0_f1 to 206_t0_f6 for a current frame 208_t0 and six encoded spectral coefficients 206_t-1_f1 to 206_t-1_f6 for a previous frame 208_t-1. Thus, the decoder 200 is operable to selectively apply predictive decoding to the individual second encoded spectral coefficients 206_t0_f2 of the current frame and to the group of encoded spectral coefficients consisting of the fourth and fifth encoded spectral coefficients 206_t0_f4 and 206_t0_f5 of the current frame 208_t0. As can be seen, the individual second encoded spectral coefficients 206_t0_f2 and the group of encoded spectral coefficients consisting of the fourth and fifth encoded spectral coefficients 206_t0_f4 and 206_t0_f5 are separated from each other by the third encoded spectral coefficient 206_t0_f3.
[0086] It should be noted that the term "selective" as used herein refers to the application of predictive decoding (only) to selected coded spectral coefficients. In other words, predictive decoding is not necessarily applied to all coded spectral coefficients, but only to selected individual coded spectral coefficients or groups of coded spectral coefficients, the selected individual coded spectral coefficients and / or groups of coded spectral coefficients being separated from each other by at least one coded spectral coefficient. In other words, predictive decoding is not applied to at least one coded spectral coefficient separating a selected plurality of individual coded spectral coefficients or groups of coded spectral coefficients.
[0087] In an embodiment, the decoder 200 may be configured to not apply predictive decoding to at least one encoded spectral coefficient 206_t0_f3 separating the individual encoded spectral coefficients 206_t0_f2 or the group of encoded spectral coefficients 206_t0_f4 and 206_t0_f5.
[0088] The decoder 200 may be used to entropy decode the encoded spectral coefficients to obtain quantized prediction errors for the spectral coefficients 206_t0_f2, 206_t0_f4 and 206_t0_f5 to which predictive decoding is to be applied, and to obtain quantized spectral coefficients 206_t0_f3 for at least one spectral coefficient to which predictive decoding is not to be applied. Thus, the decoder 200 may be used to apply the quantized prediction errors to a plurality of predicted individual spectral coefficients 210_t0_f2 or a group of predicted spectral coefficients 210_t0_f4 and 210_t0_f5 to obtain decoded spectral coefficients associated with the encoded spectral coefficients 206_t0_f2, 206_t0_f4 and 206_t0_f5 to which predictive decoding is to be applied for the current frame 208_t0.
[0089] For example, the decoder 200 can be used to obtain a second quantization prediction error for the second quantized spectral coefficient 206_t0_f2 and apply the second quantization prediction error to the predicted second spectral coefficient 210_t0_f2 to obtain a second decoded spectral coefficient associated with the second encoded spectral coefficient 206_t0_f2, wherein the decoder 200 can be used to obtain a fourth quantization prediction error for the fourth quantized spectral coefficient 206_t0_f4 and apply the fourth quantization prediction error to the predicted fourth spectral coefficient 210_t0_f4 to obtain a fourth decoded spectral coefficient associated with the fourth encoded spectral coefficient 206_t0_f4, and wherein the decoder 200 can be used to obtain a fifth quantization prediction error for the fifth quantized spectral coefficient 206_t0_f5 and apply the fifth quantization prediction error to the predicted fifth spectral coefficient 210_t0_f5 to obtain a fifth decoded spectral coefficient associated with the fifth encoded spectral coefficient 206_t0_f5.
[0090] In addition, the decoder 200 can be used to determine a plurality of predicted individual spectral coefficients 210_t0_f2 or a group of predicted spectral coefficients 210_t0_f4 and 210_t0_f5 for the current frame 208_t0 based on a corresponding plurality of individual encoded spectral coefficients 206_t-1_f2 of a previous frame 208_t-1 (e.g., using a plurality of previously decoded spectral coefficients associated with the plurality of individual encoded spectral coefficients 206_t-1_f2) or a group of encoded spectral coefficients 206_t-1_f4 and 206_t-1_f5 (e.g., using a group of previously decoded spectral coefficients associated with the group of encoded spectral coefficients 206_t-1_f4 and 206_t-1_f5).
[0091] For example, the decoder 200 may be used to determine a second predicted spectral coefficient 210_t0_f2 of a current frame 208_t0 using a previously decoded (quantized) second spectral coefficient associated with a second encoded spectral coefficient 206_t-1_f2 of a previous frame 208_t-1, determine a fourth predicted spectral coefficient 210_t0_f4 of the current frame 208_t0 using a previously decoded (quantized) fourth spectral coefficient associated with a fourth encoded spectral coefficient 206_t-1_f4 of a previous frame 208_t-1, and determine a fifth predicted spectral coefficient 210_t0_f5 of the current frame 208_t0 using a previously decoded (quantized) fifth spectral coefficient associated with a fifth encoded spectral coefficient 206_t-1_f5 of a previous frame 208_t-1.
[0092] In addition, the decoder 200 can be used to derive prediction coefficients from the spacing values, and wherein the decoder 200 can be used to calculate a plurality of predicted individual spectral coefficients 210_t0_f2 or a group of predicted spectral coefficients 210_t0_f4 and 210_t0_f5 for the current frame 208_t0 using a corresponding plurality of previously decoded individual spectral coefficients or a group of previously decoded spectral coefficients of at least two previous frames 208_t-1 and 208_t-2 and using the derived prediction coefficients.
[0093] For example, the decoder 200 may be used to derive prediction coefficients 212_f2 and 214_f2 for the second encoded spectral coefficient 206_t0_f2 from the spacing value, derive prediction coefficients 212_f4 and 214_f4 for the fourth encoded spectral coefficient 206_t0_f4 from the spacing value, and derive prediction coefficients 212_f5 and 214_f5 for the fifth encoded spectral coefficient 206_t0_f5 from the spacing value.
[0094] It should be noted that the decoder 200 may be used to decode the encoded audio signal 120 so as to obtain quantization prediction errors instead of multiple individual quantized spectral coefficients or groups of quantized spectral coefficients for multiple individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied.
[0095] In addition, the decoder 200 can be used to decode the encoded audio signal 120 so as to obtain quantized spectral coefficients separating multiple individual spectral coefficients or groups of spectral coefficients, so that there is an alternation of encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 (for which quantized prediction errors are obtained) and encoded spectral coefficients 206_t0_f3 or groups of encoded spectral coefficients (for which quantized spectral coefficients are obtained).
[0096] The decoder 200 may be used to provide a decoded audio signal 220 using decoded spectral coefficients associated with the encoded spectral coefficients 206_t0_f2, 206_t0_f4 and 206_t0_f5 to which predictive decoding is applied and using entropy decoded spectral coefficients associated with the encoded spectral coefficients 206_t0_f1, 206_t0_f3 and 206_t0_f6 to which predictive decoding is not applied.
[0097] In an embodiment, the decoder 200 may be configured to obtain a pitch value, wherein the decoder 200 may be configured to select a plurality of individual coded spectral coefficients 206_t0_f2 or a group of coded spectral coefficients 206_t0_f4 and 206_t0_f5 to which predictive decoding is applied based on the pitch value.
[0098] As mentioned above with respect to the description of the corresponding encoder 100, the spacing value may be, for example, the spacing (or distance) between two characteristic frequencies of the audio signal. In addition, the spacing value may be an integer number (or index of the spectral coefficient) of the spectral coefficients that approximates the spacing between the two characteristic frequencies of the audio signal. Naturally, the spacing value may also be a fraction or multiple of the integer number of the spectral coefficients that describes the spacing between the two characteristic frequencies of the audio signal.
[0099] The decoder 200 may be used to select individual spectral coefficients or groups of spectral coefficients that are spectrally arranged according to a harmonic raster defined by a spacing value for predictive decoding. The harmonic raster defined by the spacing value may describe a periodic spectral distribution (equidistant spacing) of harmonics in the audio signal 102. In other words, the harmonic raster defined by the spacing value may be a sequence of equally spaced spacing values describing the harmonics of the audio signal 102.
[0100] In addition, the decoder 200 can be used to select spectral coefficients (e.g., only those spectral coefficients) whose spectral index is equal to or is within a range (e.g., a predetermined or variable range) around the multiple spectral indices derived based on the spacing value for predictive decoding. Thus, the decoder 200 can be used to set the width of the range according to the spacing value.
[0101] In an embodiment, the encoded audio signal may include the pitch value or an encoded version thereof (e.g., a parameter from which the pitch value may be directly derived), wherein the decoder 200 may be configured to extract the pitch value or the encoded version thereof from the encoded audio signal to obtain the pitch value.
[0102] Alternatively, the decoder 200 may be configured to determine the spacing value by itself, i.e., the encoded audio signal does not include the spacing value. In this case, the decoder 200 may be configured to determine the instantaneous fundamental frequency (of the encoded audio signal 120 representing the audio signal 102) and derive the spacing value from the instantaneous fundamental frequency or a fraction or multiple thereof.
[0103] In an embodiment, the decoder 200 can be used to select multiple individual spectral coefficients or groups of spectral coefficients to which predictive decoding is applied so that there is a periodic alternation between the multiple individual spectral coefficients or groups of spectral coefficients to which predictive decoding is applied and the spectral coefficients separating the multiple individual spectral coefficients or groups of spectral coefficients to which predictive decoding is applied, with a tolerance of + / -1 spectral coefficient.
[0104] In an embodiment, the audio signal 102 represented by the encoded audio signal 120 comprises at least two harmonic signal components, wherein the decoder 200 is configured to selectively apply predictive decoding to those multiple individual encoded spectral coefficients 206_t0_f2 or the group of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 representing the at least two harmonic signal components or the spectral environment around the at least two harmonic signal components of the audio signal 102. The spectral environment around the at least two harmonic signal components may be, for example, + / - 1, 2, 3, 4 or 5 spectral components.
[0105] Thus, the decoder 200 can be used to identify at least two harmonic signal components and selectively apply predictive decoding to those multiple individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 associated with the identified harmonic signal component (e.g., representing the identified harmonic signal component or surrounding the identified harmonic signal component).
[0106] Optionally, the encoded audio signal 120 may include information (e.g., spacing values) identifying at least two harmonic signal components. In this case, the decoder 200 may be used to selectively apply predictive decoding to those multiple individual encoded spectral coefficients 206_t0_f2 or the group of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 associated with the identified harmonic signal component (e.g., representing the identified harmonic signal component or surrounding the identified harmonic signal component).
[0107] In the aforementioned alternative, the decoder 200 may be used to not apply predictive decoding to those multiple individual encoded spectral coefficients 206_t0_f3, 206_t0_f1 and 206_t0_f6 or groups of encoded spectral coefficients that do not represent at least two harmonic signal components of the audio signal 102 or the spectral environment of at least two harmonic signal components.
[0108] In other words, the decoder 200 may be used to not apply predictive decoding to those multiple individual encoded spectral coefficients 206_t0_f3, 206_t0_f1, 206_t0_f6 or groups of encoded spectral coefficients that belong to non-tonal background noise between signal harmonics of the audio signal 102.
[0109] Figure 5 A flow chart of a method 300 for encoding an audio signal according to an embodiment is shown. The method 300 comprises a step 302 of determining spectral coefficients of the audio signal for a current frame or at least one previous frame, and a step 304 of selectively applying predictive coding to a plurality of individual spectral coefficients or groups of spectral coefficients separated by at least one spectral coefficient.
[0110] Figure 6 A flow chart of a method 400 for decoding an encoded audio signal according to an embodiment is shown. The method 400 comprises a step 402 of parsing the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame, and a step 404 of selectively applying predictive decoding to a plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients separated by at least one encoded spectral coefficient.
[0111] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent descriptions of corresponding methods, where blocks or devices correspond to method steps or features of method steps. Similarly, aspects described in the context of method steps also represent narrations of corresponding blocks or items or features of corresponding apparatuses. Some or all of the method steps may be performed by (or using) hardware devices (e.g., microprocessors, programmable computers, or electronic circuits). In some embodiments, one or more of the most important method steps may be performed by such devices.
[0112] The encoded audio signal of the present invention may be stored on a digital storage medium or may be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.
[0113] According to certain implementation requirements, the embodiments of the present invention can be implemented in hardware or software. This implementation can be performed using a digital storage medium (e.g., a floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM or flash memory) with electronically readable control signals stored thereon, which cooperates (or can cooperate) with a programmable computer system to perform the respective method. Therefore, the digital storage medium can be computer readable.
[0114] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that the system performs one of the methods described herein.
[0115] Generally, the embodiments of the present invention can be implemented as a computer program product with a program code, which can be operated to perform one of the methods when the computer program product runs on a computer. The program code can be stored on a machine-readable carrier, for example.
[0116] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
[0117] In other words, an embodiment of the inventive method is, therefore, a computer program with a program code for performing one of the methods described herein, when the computer program runs on a computer.
[0118] A further embodiment of the inventive method is therefore a data carrier (or a digital storage medium or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the computer-readable medium are typically tangible and / or non-transitory.
[0119] Other embodiments of the inventive method are, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may, for example, be intended for transmission via a data communication connection (eg via the Internet).
[0120] Other embodiments comprise a computing means, for example a computer, or a programmable logic device, for or adapted to perform one of the methods described herein.
[0121] Other embodiments comprise a computer having installed thereon the computer program for performing one of the methods described herein.
[0122] Other embodiments according to the invention include an apparatus or system for transmitting (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver, for example, may be a computer, a mobile device, a memory device, or the like. The apparatus or system may, for example, include a file server for transmitting the computer program to the receiver.
[0123] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may collaborate with a microprocessor to perform one of the methods described herein. Generally, this method is preferably performed by any hardware device.
[0124] The devices described herein may be implemented using hardware devices, or using computers, or using a combination of hardware devices and computers.
[0125] The methods described herein may be performed using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0126] The embodiments described above are only used to illustrate the principles of the present invention. It should be understood that modifications and variations of the arrangements and details described herein are obvious to those skilled in the art. Therefore, it is intended that the scope of the appended claims rather than the specific details presented by the description and description of the embodiments herein are limited.
Claims
1. A decoder (200) for decoding a coded audio signal (120), wherein the decoder (200) is configured to decode the coded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the coded audio signal (120) to obtain coded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5: 206_t-1_f6) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 06_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select the plurality of individual coded spectral coefficients (206_t0_f2) or the group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; wherein the decoder (200) is configured to decode the encoded audio signal (120) so as to obtain a quantized prediction error instead of a plurality of individual quantized spectral coefficients or a group of quantized spectral coefficients for a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied; The decoder is used to decode the encoded audio signal (120) so as to obtain quantized spectral coefficients for the encoded spectral coefficients (206_t0_f3) to which no predictive decoding is applied, so that there is an alternation of groups of encoded spectral coefficients (206_t0_f2) or encoded spectral coefficients (206_t0_f4, 206_t0_f5) whose quantized prediction errors are obtained and groups of encoded spectral coefficients (206_t0_f3) or encoded spectral coefficients whose quantized spectral coefficients are obtained.
2. The decoder (200) according to claim 1, wherein the plurality of individual coded spectral coefficients (206_t0_f2) or groups of coded spectral coefficients (206_t0_f4, 206_t0_f5) are separated by at least one coded spectral coefficient (206_t0_f3).
3. The decoder (200) according to claim 2, wherein predictive decoding is not applied to at least one spectral coefficient (206_t0_f3) separating the individual spectral coefficients (206_t0_f2) or the group of spectral coefficients (206_t0_f4, 206_t0_f5).
4. The decoder (200) according to claim 1, wherein the decoder (200) is configured to entropy decode the encoded spectral coefficients to obtain quantized prediction errors for spectral coefficients (206_t0_f2, 206_t0_f4, 206_t0_f5) to which predictive decoding is to be applied, and to obtain quantized spectral coefficients for spectral coefficients (206_t0_f3) to which predictive decoding is not to be applied; and The decoder (200) is configured to apply the quantized prediction error to a plurality of predicted individual spectral coefficients (210_t0_f2) or a group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) to obtain, for the current frame (208_t0), decoded spectral coefficients associated with the encoded spectral coefficients (206_t0_f2, 206_t0_f4, 206_t0_f5) to which predictive decoding is applied.
5. The decoder (200) according to claim 4, wherein the decoder (200) is used to determine the plurality of predicted individual spectral coefficients (210_t0_f2) or the group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) for the current frame (208_t0) based on the corresponding plurality of individual encoded spectral coefficients (206_t-1_f2) or the group of encoded spectral coefficients (206_t-1_f4, 206_t-1_f5) of the previous frame (208_t-1).
6. A decoder (200) according to claim 5, wherein the decoder (200) is used to derive prediction coefficients from the spacing values, and wherein the decoder (200) is used to calculate the multiple predicted individual spectral coefficients (210_t0_f2) or the group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) for the current frame (208_t0) using a corresponding multiple previously decoded individual spectral coefficients or a group of previously decoded spectral coefficients of at least two previous frames and using the derived prediction coefficients.
7. The decoder (200) according to claim 1, wherein the decoder (200) is configured to select for predictive decoding individual spectral coefficients (206_t0_f2) or groups of spectral coefficients (206_t0_f4, 206_t0_f5) spectrally arranged according to a harmonic raster defined by the spacing value.
8. The decoder (200) according to claim 1, wherein the decoder (200) is used to select a spectral coefficient for predictive decoding, wherein the spectral index of the spectral coefficient is equal to or within a range around a plurality of spectral indices obtained based on the spacing value.
9. The decoder (200) of claim 8, wherein the decoder (200) is configured to set a width of the range in dependence on the spacing value.
10. The decoder (200) according to claim 1, wherein the encoded audio signal (120) comprises the pitch value or an encoded version of the pitch value, wherein the decoder (200) is configured to extract the pitch value or the encoded version of the pitch value from the encoded audio signal (120) to obtain the pitch value.
11. The decoder (200) of claim 1, wherein the decoder (200) is configured to determine the spacing value.
12. The decoder (200) of claim 11, wherein the decoder (200) is configured to determine an instantaneous fundamental frequency and to derive the spacing value from the instantaneous fundamental frequency or a fraction or multiple of the instantaneous fundamental frequency.
13. A decoder (200) according to claim 1, wherein the audio signal (102) represented by the encoded audio signal (120) comprises at least two harmonic signal components (124_1:124_6), wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients representing the at least two harmonic signal components (124_1:124_6) of the audio signal (102) or the spectral environment around the at least two harmonic signal components (124_1:124_6).
14. A decoder (200) according to claim 13, wherein the decoder (200) is used to identify the at least two harmonic signal components (124_1:124_6) and selectively apply predictive decoding to multiple individual encoded spectral coefficients or groups of encoded spectral coefficients associated with the identified harmonic signal components (124_1:124_6).
15. A decoder (200) according to claim 13, wherein the encoded audio signal (120) comprises the spacing value or an encoded version of the spacing value, wherein the spacing value identifies the at least two harmonic signal components (124_1:124_6), and wherein the decoder (200) is used to selectively apply predictive decoding to multiple individual encoded spectral coefficients or groups of encoded spectral coefficients associated with the identified harmonic signal components (124_1:124_6).
16. A decoder (200) according to claim 13, wherein the decoder (200) is used not to apply predictive decoding to multiple individual encoded spectral coefficients or groups of encoded spectral coefficients that do not represent at least two harmonic signal components (124_1:124_6) of the audio signal or the spectral environment of the at least two harmonic signal components (124_1:124_6).
17. A decoder (200) according to claim 13, wherein the decoder (200) is used not to apply predictive decoding to multiple individual encoded spectral coefficients or groups of encoded spectral coefficients of non-tonal background noise between signal harmonics (124_1:124_6) of the audio signal.
18. A decoder (200) according to claim 1, wherein the encoded audio signal (120) comprises the spacing value or an encoded version of the spacing value, wherein the spacing value is a harmonic spacing value, and the harmonic spacing value indicates a plurality of individual encoded spectral coefficients or a group of encoded spectral coefficients representing at least two harmonic signal components (124_1:124_6) of the audio signal (102).
19. The decoder (200) of claim 1, wherein the spectral coefficients are spectral bins.
20. A decoder (200) for decoding an encoded audio signal (120), wherein the decoder (200) is configured to decode the encoded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the encoded audio signal (120) to obtain encoded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 6_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; wherein the decoder (200) is used to entropy decode the encoded spectral coefficients to obtain quantized prediction errors for spectral coefficients (206_t0_f2, 206_t0_f4, 206_t0_f5) to which prediction decoding is to be applied, and to obtain quantized spectral coefficients for spectral coefficients (206_t0_f3) to which prediction decoding is not to be applied; wherein the decoder (200) is configured to apply the quantized prediction error to a plurality of predicted individual spectral coefficients (210_t0_f2) or a group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) to obtain, for the current frame (208_t0), decoded spectral coefficients associated with the encoded spectral coefficients (206_t0_f2, 206_t0_f4, 206_t0_f5) to which predictive decoding is applied; wherein the decoder (200) is configured to determine the plurality of predicted individual spectral coefficients (210_t0_f2) or the group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) for the current frame (208_t0) based on a corresponding plurality of individual coded spectral coefficients (206_t-1_f2) or the group of coded spectral coefficients (206_t-1_f4, 206_t-1_f5) of a previous frame (208_t-1); wherein the decoder (200) is configured to derive prediction coefficients from the spacing values, and wherein the decoder (200) is configured to calculate the plurality of predicted individual spectral coefficients (210_t0_f2) or the group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) for the current frame (208_t0) using a corresponding plurality of previously decoded individual spectral coefficients or a group of previously decoded spectral coefficients of at least two previous frames and using the derived prediction coefficients; The decoder (200) is used for selecting a spectral coefficient for predictive decoding, wherein a spectral index of the spectral coefficient is equal to a plurality of spectral indices obtained based on the spacing value or is within a range around the plurality of spectral indices obtained based on the spacing value.
21. A decoder (200) for decoding an encoded audio signal (120), wherein the decoder (200) is configured to decode the encoded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the encoded audio signal (120) to obtain encoded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 6_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; wherein the decoder (200) is used to determine the spacing value; and The decoder (200) is configured to determine an instantaneous fundamental frequency and derive the spacing value from the instantaneous fundamental frequency or a fraction or multiple of the instantaneous fundamental frequency.
22. A decoder (200) for decoding an encoded audio signal (120), wherein the decoder (200) is configured to decode the encoded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the encoded audio signal (120) to obtain encoded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 6_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; The encoded audio signal (120) comprises the spacing value or an encoded version of the spacing value, wherein the spacing value is a harmonic spacing value, which indicates a plurality of individual encoded spectral coefficients or a group of encoded spectral coefficients representing at least two harmonic signal components (124_1:124_6) of the audio signal (102).
23. A decoder (200) for decoding an encoded audio signal (120), wherein the decoder (200) is configured to decode the encoded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the encoded audio signal (120) to obtain encoded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 6_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; The decoder (200) is used to select a spectrum coefficient for predictive decoding, wherein the spectrum index of the spectrum coefficient is equal to a plurality of spectrum indices obtained based on the spacing value or is within a range around the plurality of spectrum indices obtained based on the spacing value; The decoder (200) is used to set the width of the range according to the spacing value.
24. A decoder (200) for decoding an encoded audio signal (120), wherein the decoder (200) is configured to decode the encoded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the encoded audio signal (120) to obtain encoded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5: 206_t-1_f6) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 6_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; The encoded audio signal (120) comprises the pitch value or an encoded version of the pitch value, wherein the decoder (200) is configured to extract the pitch value or the encoded version of the pitch value from the encoded audio signal (120) to obtain the pitch value.
25. A decoder (200) for decoding an encoded audio signal (120), wherein the decoder (200) is configured to decode the encoded audio signal (120) in a transform domain or a filter bank domain (204), wherein the decoder (200) is configured to parse the encoded audio signal (120) to obtain encoded spectral coefficients (206_t0_f1: 206_t0_f6; 206_t-1_f1: 206_t-1_f2: 206_t-1_f3: 206_t-1_f4: 206_t-1_f5: 206_t-1_f6) of the audio signal (120) for a current frame (208_t0) and at least one previous frame (208_t-1). 6_t-1_f6), and wherein the decoder (200) is used to selectively apply predictive decoding to a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5), wherein the decoder (200) is used to obtain a spacing value, wherein the decoder (200) is used to select a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; wherein the audio signal (102) represented by the encoded audio signal (120) comprises at least two harmonic signal components (124_1:124_6), wherein the decoder (200) is configured to selectively apply predictive decoding to a plurality of individually encoded spectral coefficients or groups of encoded spectral coefficients representing the at least two harmonic signal components (124_1:124_6) of the audio signal (102) or a spectral environment around the at least two harmonic signal components (124_1:124_6); wherein the encoded audio signal (120) comprises the spacing value or an encoded version of the spacing value, wherein the spacing value identifies the at least two harmonic signal components (124_1:124_6), and wherein the decoder (200) is used to selectively apply predictive decoding to multiple individual encoded spectral coefficients or groups of encoded spectral coefficients associated with the identified harmonic signal components (124_1:124_6).
26. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; wherein the decoder (200) is configured to decode the encoded audio signal (120) so as to obtain a quantized prediction error instead of a plurality of individual quantized spectral coefficients or a group of quantized spectral coefficients for a plurality of individual coded spectral coefficients (206_t0_f2) or a group of coded spectral coefficients (206_t0_f4, 206_t0_f5) to which predictive decoding is applied; The decoder is used to decode the encoded audio signal (120) so as to obtain quantized spectral coefficients for the encoded spectral coefficients (206_t0_f3) to which no predictive decoding is applied, so that there is an alternation of groups of encoded spectral coefficients (206_t0_f2) or encoded spectral coefficients (206_t0_f4, 206_t0_f5) whose quantized prediction errors are obtained and groups of encoded spectral coefficients (206_t0_f3) or encoded spectral coefficients whose quantized spectral coefficients are obtained.
27. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; as well as selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; Entropy decoding is performed on the encoded spectral coefficients to obtain quantized prediction errors for spectral coefficients to which prediction decoding is to be applied (206_t0_f2, 206_t0_f4, 206_t0_f5), and quantized spectral coefficients for spectral coefficients to which prediction decoding is not to be applied (206_t0_f3); applying the quantized prediction error to a plurality of predicted individual spectral coefficients (210_t0_f2) or a group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) to obtain, for the current frame (208_t0), decoded spectral coefficients associated with the encoded spectral coefficients (206_t0_f2, 206_t0_f4, 206_t0_f5) to which predictive decoding is applied; determining the plurality of predicted individual spectral coefficients (210_t0_f2) or the group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) for the current frame (208_t0) based on a corresponding plurality of individual coded spectral coefficients (206_t-1_f2) or the group of coded spectral coefficients (206_t-1_f4, 206_t-1_f5) of a previous frame (208_t-1); deriving prediction coefficients from the spacing values; calculating the plurality of predicted individual spectral coefficients (210_t0_f2) or the group of predicted spectral coefficients (210_t0_f4, 210_t0_f5) for the current frame (208_t0) using a corresponding plurality of previously decoded individual spectral coefficients or groups of previously decoded spectral coefficients of at least two previous frames and using the derived prediction coefficients; A spectrum coefficient for predictive decoding is selected, wherein a spectrum index of the spectrum coefficient is equal to or is within a range around a plurality of spectrum indices obtained based on the spacing value.
28. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; as well as selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; Determining the spacing value; determining the instantaneous fundamental frequency; and The spacing value is derived from the instantaneous fundamental frequency or a fraction or multiple of the instantaneous fundamental frequency.
29. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; as well as selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; The encoded audio signal (120) comprises the spacing value or an encoded version of the spacing value, wherein the spacing value is a harmonic spacing value, which indicates a plurality of individual encoded spectral coefficients or a group of encoded spectral coefficients representing at least two harmonic signal components (124_1:124_6) of the audio signal (102).
30. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; Selecting a spectrum coefficient for predictive decoding, wherein a spectrum index of the spectrum coefficient is equal to a plurality of spectrum indices obtained based on the spacing value or is within a range around the plurality of spectrum indices obtained based on the spacing value; The width of the range is set according to the spacing value.
31. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; wherein the encoded audio signal (120) comprises the pitch value or an encoded version of the pitch value, The pitch value or an encoded version of the pitch value is extracted from the encoded audio signal (120) to obtain the pitch value.
32. A method (400) for decoding an encoded audio signal in a transform domain or a filter bank domain, the method comprising: Parsing (402) the encoded audio signal to obtain encoded spectral coefficients of the audio signal for a current frame and at least one previous frame; Get the spacing value; selectively applying (404) predictive decoding to a plurality of individual coded spectral coefficients or groups of coded spectral coefficients, wherein the plurality of individual coded spectral coefficients or groups of coded spectral coefficients to which predictive decoding is applied are selected based on the spacing value; wherein the spacing value is a harmonic spacing value describing the spacing between harmonics; wherein the audio signal (102) represented by the encoded audio signal (120) comprises at least two harmonic signal components (124_1:124_6), selectively applying predictive decoding to a plurality of individually encoded spectral coefficients or groups of encoded spectral coefficients representing at least two harmonic signal components (124_1:124_6) of the audio signal (102) or a spectral environment around the at least two harmonic signal components (124_1:124_6); wherein the encoded audio signal (120) comprises the pitch value or an encoded version of the pitch value, wherein the pitch value identifies the at least two harmonic signal components (124_1:124_6), Predictive decoding is selectively applied to a plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients associated with the identified harmonic signal components (124_1:124_6).
33. A computer program for performing a method according to any one of claims 26 to 32.
Citation Information
Patent Citations
Technique for encoding / decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
CN101849258A
Audio encoder and decoder for encoding frames of sampled audio signals
CN102105930A
Cited By
Audio encoder and audio decoder and corresponding methods
CN114067812A
Audio encoder and audio decoder and corresponding methods
CN114067812B
