Downscaled Decoding

By employing a downscale filter bank and segment spline interpolation for the AAC-ELD decoder, the challenges of high complexity and delay in audio decoding are addressed, resulting in efficient and compatible lower sampling rate processing.

JP7623438B2Active Publication Date: 2025-01-28FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023122204
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2015-10-12
Filing Date
2023-07-27
Publication Date
2025-01-28
Estimated Expiration
2036-06-10

AI Technical Summary

Technical Problem

Existing audio decoding technologies face challenges in achieving lower delays without excessive complexity, particularly in applications requiring synchronous audio transmission, such as MPEG-4 AAC-ELD, which incurs high computational costs when processing higher sample rates.

Method used

Implementing a downscale version of the filter bank to reduce the sample rate, using a downsampled synthetic window coefficient derived through segment spline interpolation to maintain accurate reconstruction characteristics and reduce memory and calculation requirements.

Benefits of technology

This approach achieves lower decoding delays with reduced computational complexity, ensuring compatibility and maintaining audio quality by generating a downscale version of the AAC-ELD decoder that supports lower sampling rates effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007623438000011
    Figure 0007623438000011
  • Figure 0007623438000012
    Figure 0007623438000012
  • Figure 0007623438000013
    Figure 0007623438000013
Patent Text Reader

Abstract

To provide an audio decoding scheme that allows for improved downscaled decoding.SOLUTION: When a synthesis window used for downsampled audio decoding is a downsampled version of a reference synthesis window included in a non-downsampled audio decoding by downsampling by a downsampling factor due to deviations from the downsampled sampling rate and the original sampling rate, the downsampled version of audio decoding processing is more effective and / or achieved with improved compliance maintenance, and downsampled using segment interpolation in segments having length of 1 / 4 of the frame length.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to the concept of downscaled decoding. [Background technology]

[0002] MPEG-4 Enhanced Low Delay AAC (AAC-ELD) is usually processed at a maximum sample rate of 48 kHz, resulting in an algorithmic delay of 15 ms. For some applications, e.g. the transmission of synchronous audio recordings, an even lower delay is desirable. AAC-ELD already offers this kind of option by processing at a higher sample rate, e.g. 96 kHz, thus offering a processing mode with even lower delay, e.g. 7.5 ms. However, this processing mode proceeds with an unnecessarily high complexity due to the high sample rate.

[0003] The solution to this problem is to apply a downscaled version of the filter bank, thus rendering the audio signal at a lower sample rate, for example 48 kHz instead of 96 kHz. The downscaling process is already part of AAC-ELD as it was inherited from the MPEG-4 AAC-LD codec and serves as the basis for AAC-ELD.

[0004] However, the question remains how to find the downscaled version of a particular filter bank, i.e., while allowing for unambiguous match testing of the downscale processing modes of the AAC-ELD decoder, the only uncertainty is how the window coefficients are derived.

[0005] In the following, the principle of the downscaled processing mode of the AAC-(E)LD codec is described.

[0006] Downscaled processing mode or AAC-LD is described in ISO / IEC 14496-3:2009 in section 4.6.17.2.7 "Adaptation to systems using lower sampling rates" as follows for AAC-LD:

[0007] "In certain applications, it may be necessary to integrate a lower delay decoder into an audio system operating at a lower sampling rate (e.g., 16 kHz) while the nominal sampling rate of the bitstream payload is much higher (e.g., 48 kHz, corresponding to an algorithmic codec delay of approximately 20 ms). In such cases, it is advantageous to decode the output of the low-delay codec directly at the target sampling rate rather than using an additional sampling rate conversion process after decoding.

[0008] This is approximated by downscaling both the frame size and the sampling rate resulting in a codec with its time / frequency resolution by some integer factor (e.g., 2, 3). For example, the codec output can be produced at a sampling rate of 16 kHz instead of the nominal 48 kHz by, say, retaining only the lowest third of the spectral coefficients preceding the synthesis filter bank (i.e., 480 / 3=160) and reducing the inverse transform size by a factor of three (i.e., window size 960 / 3=320).

[0009] As a result, decoding for a lower sampling rate reduces both memory and computational requirements, but may not produce quite the same output as full bandwidth decoding followed by bandlimiting and sample rate conversion.

[0010] Note that decoding at a lower sampling rate, as described above, does not affect the interpretation of levels that refer to the nominal sampling rate of the AAC low latency bitstream payload."

[0011] Note that AAC-LD works within the standard MDCT framework and with two window shapes: sine and low overlap windows. Both windows are fully described by equations, allowing us to determine the window coefficients for any transform length.

[0012] Compared to AAC-LD, the AAC-ELD codec exhibits two major differences: Low Delay MDCT Window (LD-MDCT) Possibility to use low latency SBR tools

[0013] The IMDCT algorithm using a low-delay MDCT window is described in 4.6.20.2 of [1] and is very similar to the standard IMDCT version using, for example, a sine window. The coefficients for the low MDCT window (480 and 512 sample frame sizes) are given in Tables 4.A.15 and 4.A.16 of [1]. Note that the coefficients cannot be determined by mathematical formulas, since they are the result of an optimization algorithm. Figure 9 shows a plot of the window shape for frame size 512.

[0014] When a Low Delay SBR (LD-SBR) tool is used together with the AAC-ELD coder, the filter bank of the LD-SBR module is downscaled as well, which ensures that the SBR module processes at the same frequency resolution, so no further adaptation is necessary.

[0015] Thus, the above description makes it clear that the decoding needs to be downscaled, for example, to downscale the decoding in AAC-ELD. Although it is possible to find new coefficients for the downscaled synthesis window function, this is a cumbersome task, requires additional storage for storing the downscaled version, and does not follow the method of downscaling required in AAC-ELD from another point of view, for example. Depending on the downscaling ratio, i.e. the ratio between the original and the downsampled sampling rates, it is possible to simply downsample the downsampled synthesis window function, i.e. the second, third, third, third, fourth, fourth, fifth, fifth, fifth, fifth, sixth ... [Prior art documents] [Non-patent literature]

[0016] [Non-Patent Document 1] ISO / IEC 14496-3:2009 [Non-Patent Document 2] M13958, "Proposal for an Enhanced Low Delay Coding Mode", October 2006, Hangzhou, China Summary of the Invention [Problem to be solved by the invention]

[0017] It is therefore an object of the present invention to provide an audio decoding scheme that allows such an improved downscaled decoding.

[0018] This object is achieved by the subject matter of the independent claims. [Means for solving the problem]

[0019] The present invention relates to a downscaled version of an audio decoding process where the synthesis window used for the downscaled audio decoding is a downsampled version of a reference synthesis window included in the downconverted audio decoding, and is downsampled using segment interpolation of 1 / 4 of the frame length, which makes the downscaled version of the audio decoding process more efficient and / or more efficient than a non-downscaled audio decoding process by downsampling by a downsampling factor that deviates from the downsampled sampling rate and the original sampling rate.

[0020] Advantageous aspects of the present application are the subject matter of the dependent claims. Preferred embodiments of the present application are described below with reference to the drawings. [Brief description of the drawings]

[0021] [Figure 1] FIG. 1 shows a schematic diagram illustrating the perfect reconstruction requirements that need to be followed when downscaling the decoding in order to preserve perfect reconstruction. [Diagram 2] FIG. 2 shows a block diagram of an audio decoder for downscaled decoding according to the embodiment. [Diagram 3] FIG. 3 shows the operation mode of the audio decoder of FIG. 2, where an audio signal is encoded into a data stream at its original sampling rate and, in the lower half separated by a dashed horizontal line from the upper half, a decoding process is performed to reconstruct the audio signal from the downscaled data stream at a reduced or downscaled sampling rate. [Figure 4] FIG. 4 is a schematic diagram showing the cooperation of the windower and the time-domain aliasing canceller of FIG. [Diagram 5]FIG. 5 shows a possible implementation for achieving the reconstruction according to FIG. 4 using special processing of the zero-weighted parts of the spectrum-versus-time modulated time portion. [Figure 6] FIG. 6 shows a schematic diagram illustrating downsampling to obtain a downsampled synthesis window. [Figure 7] FIG. 7 shows a block diagram illustrating downscaled processing of AAC-ELD including a low-latency SBR tool. [Figure 8] FIG. 8 shows a block diagram of an audio decoder for downscaled decoding according to an embodiment in which the modulator, window and canceller are implemented according to a lifting implementation. [Figure 9] FIG. 9 shows a graph of the window coefficients for a low-latency window according to AAC-ELD versus a 512 sample frame size as an example of a downsampled reference synthesis window. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] The following description starts with a description of an embodiment for downscaled decoding for the AAC-ELD codec. That is, the following description starts with an embodiment for forming a downscaled mode for AAC-ELD. This description at the same time forms a kind of explanation of the motivation underlying the embodiment of the present application. Then, this description is generalized, whereby an audio decoder and an audio decoding method according to an embodiment of the present application are described.

[0023] As explained in the introduction of this specification, AAC-ELD uses a low-delay MDCT window. To generate its downscaled version, i.e. the downscaled low-delay window, the proposal described later to form the downscaled mode for AAC-ELD uses a segment-spline interpolation algorithm that preserves the perfect reconstruction property (PR) of the LD-MDCT window with very high accuracy. The algorithm is therefore able to generate in a compatible way the window coefficients in the direct form as described in ISO / IEC 14496-3:2009, as explained in [2]. This means that both implementations generate a 16-bit compliant output.

[0024] The interpolation of the low-delay MDCT window is performed as follows.

[0025] Typically, spline interpolation is used to generate downscaled window coefficients to maintain the frequency response and near perfect reconstruction properties (around 170 dB SNR). The interpolation needs to be constrained in certain segments to maintain perfect reconstruction properties. For the window coefficients c (see also Figure 1, c(1024)…c(2048)) that cover the DCT kernel of the transform, the following constraints are required: For i=0…N / 2-1, 1=|(sgn·c(i)·c(2N-1-i)+c(N+1)·c(N-1-i)| (1) Here, N denotes the frame size. Some implementations may use a different symbol to optimize the complexity, here denoted by sgn. The requirement in (1) can be illustrated in Figure 1. It must be recalled that even for the simple case of F=2, i.e. halving the sampling rate, throwing away every other window coefficient of the reference synthesis window to obtain a downscaled synthesis window does not satisfy the requirement.

[0026] The coefficients c(0)…c(2N-1) are listed along a diamond shape. The N / 4 zeros in the window coefficients that are responsible for the delay reduction of the filter bank are marked with thick arrows. Figure 1 shows the coefficient dependencies caused by the folding involved in the MDCT and the points at which the interpolation needs to be constrained to avoid undesired dependencies. Every N / 2 coefficients, the interpolation needs to stop to maintain (1). Furthermore, the interpolation algorithm needs to stop all coefficients due to the inserted zeros. This ensures that the zeros are preserved and the interpolation error does not propagate, preserving PR.

[0027] The second constraint is necessary not only for segments containing zeros, but also for other segments. Knowing that some coefficients in the DCT kernel were not determined by the optimization algorithm, but were determined by equation (1) to allow PR, some discontinuities in the window shape are explained, for example near c(1536+128) in Figure 1. To minimize the PR error, the interpolation needs to stop at such points that appear on the N / 4 grid.

[0028] For this reason, the segment size for the segment spline interpolation is chosen to generate the downscaled window coefficients. The source window coefficients are always given by the coefficients used for N=512, and similarly for downscaling operations resulting in frame sizes of N=240 or N=120. The basic algorithm is briefly outlined below as MATLAB code. FAC = Downscaling factor% eg 0.5 sb = 128; % segment size of source window w_down = []; % downscaled window nSegments = length(W) / (sb);% number of segments; W=LD window coefficients for N=512 xn=((0:(FAC*sb-1))+0.5) / FAC-0.5; % spline init for i=1:nSegments, w_down=[w_down,spline([0:(sb-1)],W((i-1)*sb+(1:(sb))),xn)]; end;

[0029] Since the spline function may not be completely deterministic, the complete algorithm is precisely specified in the next section contained in ISO / IEC 14496-3:2009 to form the improved downscaling mode in AAC-ELD.

[0030] In other words, the following section provides how the above idea can be applied to ER AAC ELD, i.e., how a low-complexity decoder encodes an ER AAC ELD bitstream encoded at a first data rate at a second data rate lower than the first data rate. However, it is emphasized that the definition of N used below is standard-compliant. Here, N corresponds to the length of the DCT kernel, but in the generalized embodiment described above, in the claims and thereafter, N corresponds to the frame length, i.e., the mutual overlap length of the DCT kernel, i.e., half the DCT kernel length. Therefore, while N is 512 above, it is 1024 below, for example.

[0031] The following paragraphs are proposed for inclusion via amendment to 14496-3:2009:

[0032] A.0 Adapting for systems using lower sampling rates For certain applications, the ER AAC LD can change the playback sample rate to avoid an additional resampling step (see 4.6.17.2.7). The ER AAC ELD can apply a similar downscaling step using a low-delay MDCT window and the LD-SBR tool. If the AAC-ELD operates with the LD-SBR tool, the downscaling factor is limited to multiples of 2. Without LD-SBR, the downscaled frame size must be an integer number.

[0033] JPEG0007623438000001.jpg41169

[0034] fs_window_size = 2048; / * Number of fullscale window coefficients. According to ISO / IEC 14496-3:2009, use 2048. For lifting implemenations, please adjust this variable accordingly * / ds_window_size = N * fs_window_size / (1024 * F); / * downscaled window coefficients; N determines the transformation length according to 4.6.20.2 * / fs_segment_size = 128; num_segments = fs_window_size / fs_segment_size; ds_segment_size = ds_window_size / num_segments; tmp

[0128] , y

[0128] ; / * temporary buffers * / / * loop over segments * / for (b = 0; b < num_segments; b++) { / * copy current segment to tmp * / copy(&W_LD[b * fs_segment_size], tmp, fs_segment_size); / * apply cubic spline interpolation for downscaling * / / * calculate interpolating phase * / phase = (fs_window_size - ds_window_size) / (2 * ds_window_size); / * calculate the coefficients c of the cubic spline given tmp * / / * array of precalculated constants * / m = {0.166666672, 0.25, 0.266666681, 0.267857134, 0.267942578, 0.267948717, 0.267949164}; n = fs_segment_size; / * for simplicity * / / * calculate vector r needed to calculate the coefficients c * / for (i = n - 3; i >= 0; i--) r[i] = 3 * ((tmp[i + 2] - tmp[i + 1]) - (tmp[i + 1] - tmp[i])); for (i = 1; i < 7; i++) r[i] -= m[i - 1] * r[i - 1]; for(i = 7; i < n - 4; i++) r[i] -= 0.267949194 * r[i - 1]; / * calculate coefficients c * / c[n - 2] = r[n - 3] / 6; c[n - 3] = (r[n - 4] - c[n - 2]) * 0.25; for (i = n - 4; i > 7; i--) c[i] = (r[i - 1] - c[i + 1]) * 0.267949194; for (i = 7; i > 1; i--) c[i]=(r[i-1]-c[i+1])*m[i-1]; c[1] = r[0] * m[0]; c[0] = 2 * c[1] - c[2]; c[n-1] = 2 * c[n - 2] - c[n - 3]; / * keep original samples in temp buffer y because samples of tmp will be replaced with interpolated samples * / copy(tmp, y, fs_segment_size); / * generate downscaled points and do interpolation * / for (k = 0; k < ds_segment_size; k++) { step = phase + k * fs_segment_size / ds_segment_size; idx = floor(step); diff = step - idx; di = (c[idx + 1] - c[idx]) / 3; bi = (y[idx + 1] - y[idx]) - (c[idx + 1] + 2 * c[idx]) / 3; / * calculate downscaled values ​​and store in tmp * / tmp[k] = y[idx] + diff * (bi + diff * (c[idx] + diff * di)); } / * assemble downscaled window * / Copy(tmp, &W_LD_d[b* ds_segment_size], ds_segment_size); }

[0035] A.2 Downscaling of low-latency SBR tools When the Low Delay SBR tool is used in combination with ELD, the tool can downscale to lower sample rates, for downscale factors of at least a factor of 2. The downscale factor F controls the number of bands used for the CLDFB analysis and synthesis filter banks. The next two paragraphs describe the downscaled CLDFB analysis and synthesis filter banks (see also 4.6.19.4).

[0036] JPEG0007623438000002.jpg95168

[0037] JPEG0007623438000003.jpg118170

[0038] Note that setting F=2 results in a synthesis filter bank that is downsampled according to 4.6.19.4.3. Therefore, in order to process the downsampled LD-SBR bitstream with an additional downscaling factor F, F needs to be multiplied by 2.

[0039] 4.6.20.5.2.3 Downscaled Real-Valued CLDFB Filter Bank Downscaling of CLDFB may be applied for the real-valued version of the low-power SBR mode as well. For illustration, consider also 4.6.19.5. For downscaled real analysis and synthesis filter banks, replace the exp() modulator of M by a cos() modulator as described in 4.6.20.5.2.1 and 4.6.20.2.2.

[0040] JPEG0007623438000004.jpg143170

[0041] JPEG0007623438000005.jpg99170

[0042] The windowing and overlap-add is performed in the following way:

[0043] The window of length N is replaced by a window of length 2N, with more overlap in the past and less overlap in the future (the value of N / 8 is actually zero).

[0044] JPEG0007623438000006.jpg35170

[0045] JPEG0007623438000007.jpg28166

[0046] Here, the paragraph was proposed for inclusion by the end of the 14496-3:2009 revision.

[0047] Of course, the above description of possible downscaled modes of AAC-ELD merely represents one embodiment of the present application, and several modifications are possible. In general, the embodiments of the present application are not limited to audio decoders that perform a downscaled version of AAC-ELD decoding. In other words, the embodiments of the present application may be derived by forming an audio decoder that can perform the inverse transform process in a downscaled manner without supporting or using various other tasks specific to AAC-ELD, such as, for example, scale factor-based transmission of the spectral envelope, TNS (Temporal Noise Shaping) filtering, Spectral Band Replication (SBR), etc.

[0048] A more general embodiment of an audio decoder will now be described. The above outlined example for an AAC-ELD audio decoder supporting the above-mentioned downscaled modes can represent an implementation of the audio decoder thus described. In particular, the decoder described later is shown in FIG. 2, and FIG. 3 shows the steps performed by the decoder of FIG. 2.

[0049] The audio decoder of Figure 2 is generally indicated using the reference numeral 10 and includes a receiver 12, a grabber 14, a spectro-temporal modulator 16, a windower 18, and a time-domain aliasing canceller 20, connected in series with each other in the order of their mention. The interaction and functionality of the blocks 12-20 of the audio decoder 10 is described below with respect to Figure 3. As described at the end of the description of this application, the blocks 12-20 may communicate data to and from the blocks 12-20, which may represent software, programmable hardware or hardware, such as in the form of a computer program, an FPGA or a suitably programmed computer, a programmed microprocessor or an application specific integrated circuit, each of which may represent a subroutine, circuit path, etc.

[0050] As will be outlined in more detail below, the audio decoder 10 of Fig. 2 is configured such that its elements cooperate appropriately to decode the audio signal 22 from the audio stream 24. It is worth noting that the audio decoder 22 decodes the signal 22 at a sampling rate that is 1 / F of the sampling rate at which the audio signal 22 was transcoded into the data stream 24 at the encoding side. F may be, for example, a rational number greater than 1. The audio decoder may be configured to operate with a different or variable downscaling factor F or a fixed scaling factor F. Alternatives are explained in more detail below.

[0051] The way in which the audio signal 22 is coded or transcoded into a data stream at the original sampling rate is shown in the top half of Fig. 3. Fig. 3 shows the spectral coefficients using small boxes or squares 28 arranged spectrally along a time axis 30, which runs horizontally in Fig. 3, and a frequency axis 32, which runs vertically in Fig. 3. The spectral coefficients 28 are transmitted in the data stream 24. Thus, the way in which the spectral coefficients 28 are obtained and how they represent the audio signal 22 is shown at 34 in Fig. 3, which shows, for a portion of the time axis 30, how the spectral coefficients 28 belong to or represent a respective time portion obtained from the audio signal.

[0052] In particular, the coefficients 28 transmitted in the data stream 24 are coefficients of a lapped transform of the audio signal 22, so that the audio signal 22 sampled at the original or encoded sampling rate is continuous in time and has a predetermined length N, where N spectral coefficients are transmitted in the data stream 24 for each frame 36. That is, the transform coefficients 28 are obtained from the audio signal 22 using a critically sampled lapped transform. In the spectrogram spectrogram representation 26, each column of the temporal sequence of columns of the spectral coefficients 28 corresponds to each of the frames 36 of the series of frames. The N spectral coefficients 28 are obtained for the corresponding frame 36 by a spectral decomposition transform or a time-spectral modulation, where a modulation function that extends in time not only over the frame 36 to which the resulting spectral coefficient 28 belongs but also over the E+1 previous frames, where E can be any integer or any even-numbered integer greater than 0. That is, the spectral coefficients 28 of one column of 26 spectrograms belonging to a frame 36 are obtained by applying a transform to a transform window, each of which includes E+1 frames in the past with respect to the current frame. The spectral decomposition of the samples of the audio signal within this transform window 38, shown in FIG. 3 of the transform coefficients column 28 belonging to the intermediate frame 36 of the portion indicated by 34, is achieved using a low-delay unimodal analysis, using a window function 40 to weight the spectral samples within the transform window 38 before applying an MDCT or MDST or other spectral decomposition transform. In order to reduce the encoder-side delay, the analysis window 40 includes a zero interval 42 at its front end in time, so that the encoder does not have to wait for the corresponding part of the latest sample in the current frame 36 to generate the spectral coefficients 28 of this current frame 36. That is, within the zero interval 42, the low-delay window function 40 is zero or has a zero window coefficient, so that the audio samples located at the same position of the current frame 36 include the transform coefficients 28 due to the window weighting 40 and the data stream 24.That is, to summarize the above, the transform coefficients 28 belonging to the current frame 36 are obtained by windowing and spectral decomposition of samples of the audio signal within a transform window 38, which includes not only the current frame but also the temporally preceding frames and overlaps in time with the corresponding transform window used to determine the spectral coefficients 28 belonging to the temporally adjacent frames.

[0053] Before resuming the description of the audio decoder 10, the description of the transmission of the spectral coefficients 28 in the data stream 24 provided so far has been simplified with respect to the way in which the spectral coefficients 28 are quantized, the way in which the audio signal 22 is preprocessed and / or encoded in the data stream 24 before subjecting the audio signal to a lapped transform. For example, an audio encoder having the transform-coded audio signal 22 in the data stream 24 may be controlled via a psychoacoustic model, and may use the psychoacoustic model to retain the quantization noise and to determine the scale factors for the spectral bands to which the quantized and transmitted spectral coefficients 28 are scaled. The scale factors are also signaled in the data stream 24. Alternatively, the audio encoder may be a TCX (Transform Coded Excitation) type encoder. The audio signal would then have undergone linear predictive analysis filtering before forming a spectral visual representation 26 of the spectral coefficients 28 by applying a lapped transform to an excitation signal, i.e. a linear predictive residual signal. For example, the linear prediction coefficients may also be signaled in the data stream 24 and spectral uniform quantization may be applied to obtain the spectral coefficients 28 .

[0054] Additionally, the above description has been simplified with respect to the frame length of the frames 36 and / or the low-delay window function 40. In practice, the audio signal 22 may be encoded into the data stream 24 using varying frame sizes and / or different windows 40. However, the following description focuses on one window 40 and one frame length, although the following description can be easily extended to cases where the entropy encoder changes these parameters while encoding the audio signal into the data stream.

[0055] Returning to the audio decoder 10 of FIG. 2 and its description, the receiver 12 receives the data stream 24 and thereby receives for each frame 36 N spectral coefficients 28, i.e., a respective string of coefficients 28 as shown in FIG. 3. Although the temporal length of the frame 36, measured in samples at the original encoding sampling rate or at the encoding sampling rate, is N, as shown at 34 in FIG. 3, the audio decoder 10 of FIG. 2 is configured to decode the audio signal 22 received at a reduced sampling rate. The audio decoder 10 may, for example, only support this downscaled decoding function, as described below. Alternatively, the audio decoder 10 may reconstruct the audio signal at the original or encoding sampling rate, but may be switched between a downscaled and a non-downscaled decoding mode, as described below, to match the mode of operation of the audio decoder 10. For example, the audio encoder 10 may switch to a downscaled decoding mode, such as when the battery level is low, the playback environment capabilities are degraded, etc. Whenever the situation changes, the audio decoder 10 can, for example, switch from a downscaled decoding mode to a non-downscaled decoding mode. In any case, according to the downscaled decoding process of the decoder 10, as described below, the audio signal 22 is reconstructed at a reduced sampling rate, where frames 36 have a lower length measured in samples of this reduced sampling rate, i.e. a length of N / F samples at the reduced sampling rate.

[0056] The output of the receiver 12 is a sequence of N spectral coefficients, i.e. one set of N spectral coefficients per frame 36, i.e. one column in FIG. 3. As is already clear from the above brief description of the transform coding process for forming the data stream 24, the receiver 12 can apply various tasks in obtaining the N spectral coefficients per frame 36. For example, the receiver 12 can use entropy decoding to read the spectral coefficients 28 from the data stream 24. The receiver 12 can also spectrally shape the spectral coefficients read from the data stream using scale factors provided in the data stream and / or scale factors derived by the linear prediction coefficients conveyed in the data stream 24. For example, the receiver 12 can obtain scale factors from the data stream 24, i.e. frame-by-frame and subband-by-subband, and use these scale factors to scale the scale factors conveyed in the data stream 24. Alternatively, the receiver 12 can derive scale factors for each frame 36 from the linear prediction coefficients conveyed in the data stream 24 and use these scale factors to scale the transmitted spectral coefficients 28. Optionally, receiver 12 may perform gap filling to synthetically fill zero quantized portions in the set of N spectral coefficients 18 per frame. Additionally or alternatively, receiver 12 may apply a TNS synthesis filter to the transmitted TNS filter coefficients per frame while transmitting the TNS coefficients in data stream 24 to aid in the reconstruction of the spectral coefficients 28 from the data stream. The possible tasks of receiver 12 should be understood as a non-limiting list of possible measurements that receiver 12 may further perform or otherwise burden in connection with reading the spectral coefficients 28 from data stream 24.

[0057] Thus, the grabber 14 receives the spectrogram 26 of the spectral coefficients 28 from the receiver 12 and, for each frame 36, grabs the low frequency portion 44 of the N spectral coefficients of each frame 36, ie, the N / F lowest frequency spectral coefficients.

[0058] That is, the spectro-temporal modulator 16 receives from the grabber 14 a stream or sequence 46 of N / F spectral coefficients 28 per frame 36 corresponding to a low-frequency slice of the spectrogram 26, spectrally reordered in the lowest frequency spectrum, indicated with index “0” in FIG. 3 and including coefficients extending up to the spectral coefficient with index N / F−1.

[0059] The spectro-temporal modulator 16 subjects, for each frame 36, the corresponding low-frequency portion 44 of the spectral coefficients 28 to an inverse transform 48 with a modulation function of length (E+2)·N / F to obtain a temporal portion, i.e. a not yet windowed time segment 52, of (E+2)·N / F samples, respectively, of the (E+2)·N / F samples of the time segment 52 at a reduced sampling rate, by weighting and summing the modulation functions of the same length, for example using the first proposed formula of the alternative section A.4 above. The latest N / F samples of the time segment 52 belong to the current frame 36. The modulation function can be a cosine function if the inverse transform is an inverse MDCT, as shown, or a sine function if the inverse transform is an inverse MDCT.

[0060] In this way, the windower 52 receives, for each frame, a temporal portion 52 of which N / F samples correspond in time to the respective frame while the other samples of the respective temporal portion 52 belong to the corresponding temporally preceding frame. For each frame 36, using a unimodal synthesis window 54 of length (E+2)·N / F, the window 36 of the window 18 is weighted to include a zero portion 56 of length ¼ of the length of the window 36, i.e., a zero-valued window coefficient of 1 / F·N / F, and having a peak 58 within that time interval following the zero portion 56 in time, i.e., a time interval of the temporal portion 52 not covered by the zero portion 52. The latter time interval is called the non-zero portion of the window 58 and has a length of 7 / 4·N / F measured with samples of the reduced sampling rate, i.e., 7 / 4·N / F window coefficient. The windower 18 weights the temporal portion 52, for example, with the window 58. This weighting or multiplication 58 of each temporal portion 52 by the window 54 results in a windowed temporal portion 60, one for each frame 36, corresponding to each temporal portion 52 as far as the temporal extent is concerned. i,n and x i,n It is described by the relation: x i,n corresponds to the aforementioned non-windowed temporal portion 52, and z i,n where σ corresponds to the windowed temporal portion 60 indexing the frame / window sequence, and n determines the position of the respective portion 52 / 60 according to the reduced sampling rate within each temporal portion 52 / 60.

[0061] In this way, the time-domain aliasing canceller 20 receives from the windower 18 a series of windowed temporal portions 60, i.e., one for each frame 36. The canceller 20 performs an overlap-and-add operation 62 on the windowed temporal portions 60 of the frames 36 by registering each windowed temporal portion 60 to coincide with its leading N / F value with the corresponding frame 36. In this way, the end portion of the windowed temporal portion 60 of the current frame, of length (E+1) / (E+2), i.e., the remainder having length (E+1)·N / F, overlaps with the corresponding leading portion of equal length of the temporal portion of the immediately preceding frame. In terms of equations, the time-domain aliasing canceller 20 can operate as shown in the last equation of the proposed version above in section A.4, where out i,n corresponds to an audio sample of the reconstructed audio signal 22 at a reduced sampling rate.

[0062] The windowing 58 and overlap-add 62 processes performed by the windower 18 and the time-domain aliasing canceller 20 are described in more detail below with respect to Figure 4. Figure 4 uses both the scheme and reference numbers applied to Figures 3 and 4 in Section A.4 proposed above. 0,0 From x 0,(E+2) · N / F-1 represents the 0th temporal portion 52 obtained by the spatio-temporal modulator 16 of the 0th frame 36. The first index of x indexes the frames 36 in the temporal order, and the second index of x orders the temporal samples in the temporal order, i.e. the intersample pitch belonging to the reduced sample rate. 0,(E+2 )· N / F-1denotes the window coefficient of the window 54. As with the second index of x, i.e., the temporal portion 52 as the output of the modulator 16, when the window 54 is applied to each temporal portion 52, the index of w corresponds to the oldest one and the index (E+2)·N / F−1 corresponds to the latest sample value. z denotes the windowed temporal portion for the 0th frame. 0,0 From z 0,(E+2 )· N / F-1 is z0,0=x 0,0 W0,…,z 0,(E+2 )· N / F- 1· W(E+2) · N / F-1 The windower 18 windows the temporal portion 52 with the window 54 to obtain a windowed temporal portion 60, as given by: u = u ≠ ... -(E+1),0 …u -(E+1),N / F-1 To obtain sample u, the canceller 20 sums E+2 windowed temporal portions 60 of E+2 immediately successive frames and offsets the samples of the windowed temporal portions 60 from each other by one frame, i.e., the number of samples per frame 36, i.e., N / F. Again, the first index of u indicates the frame number and the second index chronologically orders the samples of this frame. The canceller calculates that the samples of the reconstructed audio signal 22 in successive frames 36 are offset from each other by u. -(E+1),0 …u -(E+1),N / F-1 ,u -E,N / F-1 ,u -(E-1),0 The canceller 22 combines the reconstructed frames thus obtained as follows: -(E+1),0 =z 0,0 +z -1,N / F +...z -(E+1),(E+1) · N / F ,…,u -(E+1),N / F-1 =z 0,N / F-1 +z -1,2 · N / F-1 +...+z-(E+1) , (E+2 )· N / F-1 For each sample of the audio signal 22 in the −(E+1)th frame, we calculate the summand (e+2) by:

[0063] FIG. 5 illustrates the possible uses of just the windowed samples that contribute to audio sample u of frame −(E+1), which corresponds to or is windowed using the zero portion 56 of window 54. (E+1),(E+7 / 4 )· N / F …z -(E+1),(E+2) · N / F-1 is zero-valued. Thus, instead of using E+2 addends to get all N / F samples in the −(E+1)th frame 36 of audio signal u, the canceller 20 can calculate the first quarter of it, i.e., u -(E+1),(E+7 / 4) · N / F …u -(E+1),(E+2) · N / F-1 is simply, -(E+1),(E+7 / 4) · N / F =z 0,3 / 4. N / F +z -1,7 / 4 · N / F +...+z -E,(E+3 / 4) · N / F ,…,u -(E+1),(E+2) · N / F-1 =z 0,N / F-1 +z -1,2 · N / F-1 +...+z -E,(E+1) · N / F-1 In this way, the windower can effectively eliminate the performance of the weighting 58 for the zero portion 56. -(E+1),(E+7 / 4) · N / F …u -(E+1),(E+2) · N / F-1 is obtained using only E+1 addends, while u -(E+1),(E+1) · N / F …u -(E+1),(E+7 / 4) · N / F-1 is obtained using the E+2 addend.

[0064] Thus, as outlined above, the audio decoder 10 of Fig. 2 reproduces the audio signal encoded in the data stream 24 in a downscaled manner. For this purpose, the audio decoder 10 uses a window function 54 which is itself a downsampled version of a reference synthesis window of length (E+2)·N. As explained with respect to Fig. 6, this downsampled version, i.e. the window 54, is a segment of length 1 / 4·N in the downsampled domain, in a segment of 1 / 4 of the frame length of the frame 36, measured in time and expressed independently of the sampling rate, obtained by downsampling the reference synthesis window by a factor F, i.e. a segment of length 1 / 4·N, when measured in a non-downsampled state. Thus, an interpolation is performed at 4·(E+2), generating a concatenated segment of length 4·(E+2)×1 / 4·N / F, which is a downsampled version of the reference synthesis window of length (E+2)·N. See Fig. 6. 6 shows the synthesis window 54 used unimodally by the audio decoder 10 according to the downsampled audio decoding procedure under a reference synthesis window 70 of length (E+2)·N. That is, by the downsampling procedure 72 from the reference synthesis window 70 to the synthesis window 54 actually used by the audio decoder 10 for the downsampled decoding, the number of window coefficients is reduced by a factor F. In FIG. 6, the scheme of FIGS. 1 and 2 is followed, namely w is used to indicate the downsampled version of the window 54 and w′ is used to indicate the window coefficient of the reference synthesis window 70.

[0065] As mentioned above, to perform the downsampling 72, the reference synthesis window 70 is processed in segments 74 of equal length. There are (E+2)·4 segments 74 in number. Each segment 74, measured at the original sampling rate, i.e., the number of window coefficients in the reference synthesis window 70, is 1 / 4·N window coefficients w' long, and measured at the reduced or downsampled sampling rate. Each segment 74 is 1 / 4·N / F window coefficients w long.

[0066] JPEG0007623438000008.jpg116170

[0067] For example, the synthesis window 54 may be a concatenation of spline functions of length 1 / 4·N / F. Cubic spline functions may be used. Such an example is outlined in section A.1, where an outer for-next loop loops sequentially over the segments 74. In each segment 74, the downsampling or interpolation 72 involved a mathematical combination of successive window coefficients w' in the current segment 74 in the first part of the next phrase in the "Calculating the vector r needed to calculate the coefficients c" section. However, the interpolation applied to a segment may be selected in a different manner. That is, the interpolation is not limited to splines or cubic splines. Rather, linear interpolation or any other interpolation method may be used as well. In any case, the segment implementation of the interpolation makes the calculation of samples of the downscaled synthesis window adjacent to another segment, i.e., the outermost samples of the segment of the downscaled synthesis window, independent of the window coefficients of the reference synthesis window present in a different segment.

[0068] The windower 18 divides the downsampled synthesis window 54 by the window coefficients w i6 may be obtained from a storage device in which it is stored after being obtained using downsampling 72. Alternatively, as shown in FIG 2, the audio decoder 10 may include a segment downsampler 76 that performs the downsampling 72 of FIG 6 based on a reference synthesis window 70.

[0069] It should be noted that the audio decoder 10 of FIG. 2 may be configured to support only one fixed downsampling factor F, or may support different values. In that case, the audio decoder 10 may respond to an input value of F, as shown at 78 in FIG. 2. The grabber 14 may respond to this value F, for example, to obtain N / F spectral values ​​per spectrum of the frame, as described above. Similarly, the optional segment downsampler 76 may also respond to this value of F, operating as described above. The S / T modulator 16 is responsive to F to computationally obtain a downscaled / downsampled version of the modulation function, for example, downscaled / downsampled relative to that used in the non-downscaled mode of operation, where reconstruction results in the full audio sample rate.

[0070] Of course, since the modulator 16 uses an appropriately downsampled version of the modulation function, the modulator 16 will also respond to the F input 78, and the same applies to the windower 18 and canceller 20 with regard to adapting the actual length of the frame at the reduced or downsampled sampling rate.

[0071] For example, F is between 1.5 and 10.

[0072] The decoders of Figures 2 and 3 or any of the modifications thereof outlined herein may be implemented to perform the spectral-to-time transform using, for example, a lifting implementation of the low-delay MDCT as taught in EP 2 378 516 B1.

[0073] Figure 8 shows a decoder implementation using the lifting concept. An S / T modulator 16 exemplarily performs an inverse DCT-IV, followed by a block representing the concatenation of a windower 18 and a time-domain aliasing canceller 20. In the example of Figure 8, E is 2, i.e. E=2.

[0074] The modulator 16 includes an inverse type-iv discrete cosine transform frequency / time converter. Instead of outputting a sequence of (E+2)N / F long temporal portions 52, it simply outputs temporal portions 52 of length 2·N / F obtained from a sequence of N / F long spectra 46, and these shortened portions 52 are transformed by a DCT kernel, i.e. the 2·N / F most recent samples of the previously described portions.

[0075] The windower 18 operates as described above and generates for each temporal portion 52 a windowed temporal portion 60, but it operates solely on the DCT kernel. To this end, the windower 18 uses a window function ω i Use w for i=0…(E+2)·N / F-1. i The relationship between these two is given by the lifting coefficients and w for i=0…(E+2)·N / F-1, which will be described later. i This is described as the relationship:

[0076] Using the scheme applied above, we obtain the process described so far: For n=0,…,2M-1, z k,n =ω n x k,n We redefine M=N / F so that M corresponds to the frame size expressed in the downscaled domain using the scheme of Figures 2-6, where z k,n and x k,nhas size 2 M and contains only the samples of the windowed and not yet windowed temporal parts in the DCT kernel, which correspond in time to the samples E N / F … (E+2) N / F-1 in Figure 4, i.e., n is an integer indicating the sample index and ω n is the real-valued window function coefficient corresponding to sample index n.

[0077] The overlap-and-add process of the canceller 20 works differently than described above. Based on the equations or formulas given below, the intermediate temporal portion m k (0),…m k Generate (M-1). For n=0,…,M-1, m k,n =z k,n +z k-1,n+M

[0078] 8, the apparatus further comprises a lifter 80 which may be interpreted as part of the modulator 16 and windower 18, since the lifter 80 has restricted its processing to the DCT kernel, instead of processing a synthesis window beyond the kernel towards the past introduced to compensate for the extension of the modulator function and the zero portion 56. The lifter 80 uses a framework of delays and multipliers 82 and adders 84 to generate a final reconstructed temporal portion or frame of length M of directly consecutive frame pairs, based on the equations or formulas described below. For n=M / 2,…,M-1, u k,n =m k,n +l n-M / 2 m k-1,M-1-n and For n=0,…,M / 2-1, u k,n =m k,n +l M-1-n ·out k-1,M-1-n where n=0…M-1 nare real-valued lifting coefficients associated with the downscaled synthesis window, in a manner described in more detail below.

[0079] In other words, because of the past overlap of E frames, only M additional multiplication-add operations are required, as seen in the framework of the lifter 80. These additional operations are sometimes called "zero delay matrices". These operations are also called "lifting steps". The efficient implementation shown in FIG. 8 may be more efficient in some cases as a direct implementation. More precisely, depending on the concrete implementation, such a more efficient implementation may result in saving M operations, as in the case of a simple implementation of M operations, as in the implementation shown in FIG. 19, which essentially requires 2M operations in the framework of the module 820 and M operations in the framework of the lifter 830.

[0080] Synthesis window w with i=0…(E+2)M-1 i ω with n=0…2M-1 above n and l with n=0…M-1 n Regarding the dependence of (where E=2), the following formula illustrates their relationship by substituting the subscript indexes used thus far into parentheses following the respective variables. JPEG0007623438000009.jpg95170

[0081] Window W i Note that in this formula, includes the peak values ​​on the right side, i.e., the peak values ​​between index 2M and 4M-1. The above formula is the coefficient w n Coefficient l with n=0…M-1 n and ω with 0,…,2M-1 n As can be seen, l with n=0…M-1 n is in fact a downsampled synthesis window, i.e., w with n=0…(E+1)M-1. ndepends only on 3 / 4 of the coefficients of ω, while ω with n=0,…,2M-1 n for all w with n=0…(E+2)M-1 n Depends on.

[0082] As described above, after downsampling 72 is used, the windower 18 calculates the window coefficients w i , with downsampled synthesis window 54 (n=0...(E+2)M-1) n ) can then be obtained by using the above relationship to find the coefficients l with n=0…M-1. n and ω with n=0,…,2M-1 n However, alternatively, the windower 18 may use the coefficients l with n=0...M-1 calculated from the pre-downsampled synthesis window. n and ω with n=0,…,2M-1 n Alternatively, as mentioned above, audio decoder 10 may include a segment downsampler 76 that performs downsampling 72 of FIG. 6 based on a reference synthesis window 70, such that windower 18 obtains coefficients l with n=0...M-1 using the above relationships / formulas. n and ω with n=0,…,2M-1 n Based on calculating w with n=0…(E+2)M-1 n We obtain: Multiple values ​​of F are supported even when using a lifting implementation.

[0083] To briefly summarize a lifting implementation, similar results are obtained in an audio decoder 10 configured to decode an audio signal 22 at a first sampling rate from a data stream 24 in which the audio signal is transcoded at a second sampling rate, the first sampling rate being 1 / F of the second sampling rate, the audio decoder 10 including a receiver 12 receiving N spectral coefficients 28 for each N frames of length of the audio signal, a grabber 14 grabbing out for each frame a low frequency portion of length N / F of the N spectral coefficients 28, a spectro-temporal modulator 16 configured to target for each frame 36 the low frequency portion to an inverse transform having a modulation function of length 2·N / F stretched in time across each frame and the preceding frame to obtain a temporal portion of length 2·N / F, and a windowed temporal portion z with n=0...2M-1. k,n To obtain k,n The time part x according to k,n For each frame 36, the time-domain aliasing canceller 20 windows m for n=0,…,M-1. k,n =z k,n +z k-1,n+M The intermediate time portion m according to k (0),…m k Finally, the lifter 80 generates u(M-1) for n=M / 2,...,M-1. k,n =m k,n +l n-M / 2 m k-1,M-1-n and u for n=0,…,M / 2-1 k,n =m k,n +l n-M / 2 m k-1,M-1-n Frame u of the audio signal with n=0...M-1 according to k,n Calculate l with n=0…M-1. n are the lifting coefficients, the inverse transform is the inverse MDCT or inverse MDST, and l with n=0...M-1 n and ω with n=0,…,2M-1 nis the coefficient w with n=0…(E+2)M-1 of the synthesis window n Furthermore, the synthesis window is a downsampled version of the reference synthesis window of length 4·N, which is downsampled by a factor F by segment interpolation of segments of length 1 / 4·N.

[0084] It has already emerged from the above discussion of the proposed extension of AAC-ELD for the downscaled decoding mode, in which the audio decoder of FIG. 2 may be accompanied by a low-delay SBR tool. For example, the following outline of how the AAC-ELD coder has been extended to support the above proposed downscaled mode of operation works when using a low-delay SBR tool. When a low-delay SBR tool is used in conjunction with the AAC-ELD coder, the filter bank of the low-delay SBR module is downscaled as well, as already mentioned in the introduction to the specification of this application. This ensures that the SBR module operates with the same frequency resolution and no further adaptation is necessary. Figure 7 shows an overview of the signal path of an AAC-ELD decoder operating at 96 kHz, with a frame size of 480 samples, in downsampled SBR mode and with a downscaling factor F of 2.

[0085] In FIG. 7, the bitstream is processed by a sequence of AAC decoder, inverse LD-MDCT block, CLDFB analysis block, SBR decoder and CLDFB synthesis block (CLDFB=complex low-delay filter bank). The bitstream is equal to the data stream 24 described above with reference to FIG. 1 and FIG. 2. The spectral shaping is performed by the SBR decoder, additionally accompanied by parametric SBR data that assists in the spectral shaping of the spectral replica of the spectral extension band that extends the spectral frequencies of the audio signal obtained by the downscaled audio decoding at the output of the inverse low-delay MDCT block. In particular, the AAC decoder retrieves all the necessary syntax elements by appropriate parsing and entropy decoding. The AAC decoder may partially correspond to the receiver 12 of the audio decoder 10 embodied by the inverse low-delay MDCT block in FIG. 7. In FIG. 7, F is typically equal to 2. That is, the inverse low-delay MDCT block in FIG. 7 outputs a 48 kHz time signal downsampled at half the rate into the bitstream at which the audio signal originally arrived, as an example of the reconstructed audio signal 22 in FIG. 2. The CLDFB analysis block divides this 48kHz time signal, i.e. the audio signal obtained by the downsampled audio decoder, into N bands, here N=16, and then the SBR decoder calculates the reshaping coefficients of these bands and reconstructs the N bands accordingly, i.e. controlled via the SBR data in the input bitstream arriving at the input of the AAC decoder, and the CLDFB synthesis block transforms back from the spectral domain to the time domain by obtaining a high frequency extension signal to be added to the original decoded audio signal output by the inverse low delay MDCT block.

[0086] JPEG0007623438000010.jpg88169

[0087] Therefore, the above example provides some missing definitions for the AAC-ELD codec to adapt the codec to systems with lower sample rates. These definitions can be included in the ISO / IEC 14496-3:2009 standard.

[0088] Thus, in the above discussion, it is noted inter alia that:

[0089] The audio decoder may be configured to decode an audio signal at a first sampling rate from a data stream in which the audio signal has been transcoded at a second sampling rate, the first sampling rate being 1 / F of the second sampling rate, the audio decoder comprising: a receiver configured to receive, for each frame of length N of the audio signal, N spectral coefficients; a grabber configured to grab out, for each frame, a low frequency portion of length N / F from the N spectral coefficients; a spectro-temporal modulator configured to inverse transform, for each frame, the low frequency portion with a modulation function of length (E+2)·N / F extending in time over the respective frame and E+1 preceding frames to obtain a temporal portion of length (E+2)·N / F; and a spectral-temporal modulator configured to inverse transform, for each frame, a modulation function of length (E+2)·N / F extending in time over the respective frame and E+1 preceding frames to obtain a temporal portion of length (E+2)·N / F, the spectral-temporal modulator configured to inverse transform, for each frame, a zero portion of length 1 / 4·N / F at its leading end and having a peak within a temporal interval of the synthesis window. a windower configured to window the temporal portion using a synthesis window of length (E+2)·N / F, the temporal interval following a zero portion and having length 7 / 4·N / F, such that the windower obtains a windowed temporal portion of length (E+2)·N / F; and a time-domain aliasing canceller configured to overlap-add the windowed temporal portion of the frame such that an end portion of the windowed temporal portion of length (E+1) / (E+2) of the current frame overlaps with a beginning portion of the windowed temporal portion of length (E+1) / (E+2) of the preceding frame, wherein the inverse transform is an inverse MDCT or an inverse MDST, and the unimodal synthesis window is a downsampled version of a reference unimodal synthesis window of length (E+2)·N downsampled by a factor F by segment interpolation in segments of length 1 / 4·N / F.

[0090] In the audio decoder according to the embodiment, the unimodal synthesis window is a concatenation of spline functions of length 1 / 4·NF.

[0091] In the audio decoder according to the embodiment, the unimodal synthesis window is a concatenation of cubic spline functions of length 1 / 4·NF.

[0092] In the audio decoder according to any of the previous embodiments, E=2.

[0093] In an audio decoder according to any of the previous embodiments, the inverse transform is an inverse MDCT.

[0094] In an audio decoder according to any of the previous embodiments, more than 80% of the major part of the unimodal synthesis window is contained within a time interval of length 7 / 4·N / F following a zero section.

[0095] In an audio decoder according to any of the previous embodiments, the audio decoder is configured to perform the interpolation or to derive the synthesis window from a storage device.

[0096] An audio decoder according to any of the previous embodiments, configured to support different values ​​for F.

[0097] In the audio decoder according to any of the previous embodiments, F is ≧1.5 and ≦10.

[0098] The method is performed by an audio decoder according to any of the previous embodiments.

[0099] The computer program comprises a program code for carrying out the method according to the embodiments when the computer program is run on a computer.

[0100] With regard to the term "of length", it should be noted that this term should be interpreted as measuring the length in samples. As far as the length of the zero portion and the segment is concerned, it should be noted that it can be an integer value. Alternatively, it can be a non-integer value.

[0101] Regarding the time interval in which the peak is located, note that Fig. 1 exemplarily illustrates this peak and time interval for an example reference unimodal synthesis window of E = 2 and N = 512. The peak has a maximum value at approximately sample number 1408, and the time interval extends from sample number 1024 to sample number 1920. Thus, the time interval is 7 / 8 of the DCT kernel.

[0102] With regard to the term "downsampled version", it should be noted that in the above specification, "downscaled version" is used instead as a synonym for this term.

[0103] Regarding the term "principal of a function within a certain interval", it should be noted that the same denotes the definite integral of the respective function within the respective interval.

[0104] For an audio decoder supporting different values ​​of F, it may include a storage with correspondingly segment-interpolated versions of the reference unimodal synthesis window, or may perform segment interpolation on the currently active value of F. The different segment-interpolated versions have in common that the interpolation does not adversely affect discontinuities at segment boundaries. These may be spline functions, as mentioned above.

[0105] By deriving the unimodal synthesis window by segmental interpolation from the reference unimodal synthesis window as shown in Figure 1 above, the 4·(E+2) segments are formed by spline approximations, such as cubic splines, preserving the discontinuities present in the unimodal synthesis window at a pitch of 1 / 4·N / F in the synthesized zeros as a means to reduce latency.

[0106] literature [1] ISO / IEC 14496-3:2009 [2] M13958, "Proposal for an Enhanced Low Delay Coding Mode", October 2006, Hangzhou, China

Claims

1. a receiver configured to receive, for each frame of the audio signal, a spectrum forming a spectral decomposition of a time portion including the respective frame and N-1 preceding frames, where N is an integer; a grabber configured to grab out a low frequency portion of the spectrum of length 1 / F for each frame; a spectro-temporal modulator configured to inverse transform, for each frame, the low frequency portion to obtain a temporal representation of the temporal portion; a windower configured for each frame to window the temporal representation of the temporal portion using a synthesis window, the synthesis window being preceded by a zero portion of ¼ of a frame length and including a peak within a temporal interval of the synthesis window, such that the windower obtains the windowed temporal representation of the temporal portion; a time-domain aliasing canceller configured to overlap-add the windowed temporal representations of the temporal portions of the frames with a mutual inter-frame distance corresponding to the frame length; Equipped with Wherein the inverse transform is an inverse MDCT or an inverse MDST, the synthesis window is a downsampled version of a reference synthesis window downsampled by a factor F by segment interpolation in 4N segments of equal segment length; The receiver is configured to apply a temporal noise shaping (TNS) synthesis filter using TNS coefficients transmitted in the data stream to obtain the spectrum.

2. 2. The audio decoder of claim 1, wherein the synthesis window is a concatenation of spline functions, one for each of the 4N segments.

3. 2. The audio decoder of claim 1, wherein the synthesis window is a concatenation of cubic spline functions, one for each of the 4N segments.

4. 2. An audio decoder as claimed in claim 1, in which N=4.

5. 2. The audio decoder of claim 1, wherein the inverse transform is an inverse MDCT.

6. 2. The audio decoder of claim 1, wherein more than 80% of the major portion of the synthesis window is contained within the time interval following the zero portion, and the time interval following the zero portion is 7 / 4 times as long as the frame length.

7. 2. The audio decoder of claim 1, wherein the audio decoder is configured to perform the interpolation such that a majority of the coefficients of the synthesis window depend on two or more coefficients of the reference synthesis window and such that each coefficient of the synthesis window is independent of a coefficient of the reference synthesis window that is located at an offset with respect to a segment in which the respective coefficient is located.

8. 2. The audio decoder of claim 1, wherein the audio decoder is configured to perform the interpolation such that each coefficient of the synthesis window that is more than one coefficient away from a segment boundary depends on two or more coefficients of the reference synthesis window.

9. 2. The audio decoder of claim 1, wherein the windower and the time-domain aliasing canceller cooperate such that when weighting the temporal portions using the synthesis window, the windower skips the zero portions and in the overlap-and-add process, the time-domain aliasing canceller ignores non-weighted portions of the corresponding windowed temporal portions.

10. 1. A method for decoding an audio signal, the method comprising the steps of: receiving, for each frame of the audio signal, a spectrum from the data stream forming a spectral decomposition of a time portion including the respective frame and three preceding frames; for each frame, grabbing out a low frequency portion of 1 / F of said spectral length; performing, for each frame, a spectro-temporal modulation by inverse transforming said low frequency portion to obtain a temporal representation of said temporal portion; for each frame, windowing the temporal representation of the temporal portion using a synthesis window, the synthesis window including a zero portion at its leading edge that is ¼ of a frame length and including a peak following the zero portion within a time interval of the synthesis window, such that a windowed temporal representation of the temporal portion is obtained; performing time domain aliasing cancellation by overlap-add processing of the windowed temporal representations of the temporal portions of the frames with an interframe distance corresponding to the frame length; Equipped with Wherein the inverse transform is an inverse MDCT or an inverse MDST, the synthesis window is a downsampled version of a reference synthesis window downsampled by a factor F by segment interpolation in 16 segments of equal segment length; A method in which a temporal noise shaping (TNS) synthesis filter is used to obtain the spectrum, using TNS coefficients transmitted within the data stream.

11. A non-transitory digital storage medium storing a computer program for performing the method for decoding an audio signal according to claim 10, when said computer program is executed by a computer.

Citation Information

Patent Citations

  • IEC14496-3

  • Apparatus and method for generating audio subband values ​​and apparatus and method for generating time domain audio samples

    JP2009530675A