Downscaled Decoding
A down-scaled processing mode for AAC-ELD codecs addresses high complexity and delay issues by deriving new window coefficients through interpolation, reducing memory and calculation requirements while maintaining audio quality and compatibility with lower sampling rates.
Patent Information
- Application Number
- JP2023139247
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2015-10-12
- Filing Date
- 2023-08-29
- Publication Date
- 2025-02-05
- Estimated Expiration
- 2036-06-10
AI Technical Summary
Existing MPEG-4 AAC-ELD codecs face high complexity and delay issues when processing higher sample rates, such as 96kHz, which are undesirable for applications like synchronous audio transmission, and there is a need for a more efficient down-scaled filter bank solution.
Implement a down-scaled processing mode for AAC-ELD using a lower sample rate, such as 48kHz, by deriving new window coefficients through segment interpolation and spline interpolation to maintain accurate reconstruction characteristics, reducing memory and calculation requirements while ensuring compliance with the AAC-ELD decoder.
The down-scaled processing mode reduces complexity and delay, maintaining audio quality by achieving compatible output with lower sampling rates, thus optimizing memory and computational demands without affecting the interpretation of the AAC low-delay bit stream payload.
Smart Images

Figure 0007627314000019 
Figure 0007627314000020 
Figure 0007627314000021
Abstract
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 48kHz instead of 96kHz. ring 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, the nominal sampling rate of the bitstream payload may be much higher (e.g., 48 kHz, which corresponds to an algorithmic codec latency of about 20 ms), while low slow Nobu of It may be necessary to integrate the decoder into an audio system operating at a lower sampling rate (e.g. 16 kHz). In such cases, after decoding, it is possible to directly convert the audio signal at the target sampling rate rather than using an additional sampling rate conversion process. low slow It may be advantageous to decode the output of the extension codec.
[0008] This is done by multiplying the number of bits in the codec by some integer factor (e.g., 2, 3). same Approximate the time / frequency resolution by downscaling both the frame size and the sampling rate to obtain the resulting Can For example, the codec output can be produced at a sampling rate of 16 kHz instead of the nominal 48 kHz by, for example, 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 lower sampling rates reduces both memory and computational requirements, but requires the full bandwidth following band-limiting and sample rate conversion. Decryption may not produce exactly the same output as
[0010] Note that decoding at a lower sampling rate, as described above, does not affect the interpretation of the levels that refer to the nominal sampling rate of the AAC low latency bitstream payload. I want to .”
[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 slow Extended 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. delay The coefficients for the 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, as 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] Therefore, the above explanation applies to decoding, for example downscaling decoding in AAC-ELD. process It is possible to find new coefficients for the downscaled synthesis window function, but this is a cumbersome task, requires additional storage to store the downscaled version, and requires conformance checks between the non-downscaled and downscaled decoding. Make it more complicated, or From another point of view, it does not follow the downscaling method required by AAC-ELD, for example. It simply downsamples the downsampled synthesis window function, i.e., the 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th, 10th, 11th, 12th, 13th, 14th, 15th, 16th, 17th, 18th, 19th, 20th, 21st, 22nd, 23rd, 24th, 25th, 26th, 27th, 28th, 30th, 31st, 32nd, 33rd, 34th, 35th, 40th, 41st, 42nd, 43rd, 44th, 45th, 46th, 47th, 48th, 50th, 5 It can be derived by selecting .... However, This procedure does not provide sufficient compatibility for non-downscaled and downscaled decoding, respectively. A higher degree of decimation applied to the synthesis window function procedure Using {overscore (x)} results in unacceptable deviations from the original synthesis window function shape. Therefore, there is a need in the art for improved downscaled decoding concepts. [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 for such 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 synthesis window used for downscaled audio decoding, Downsampling by a downsampling factor that deviates from the downsampled sampling rate and the original sampling rate, and downsampling using segment interpolation in segments of 1 / 4 of the frame length, resulting in a downscaled image. If it is a downsampled version of the reference synthesis window included in the audio decoding ,Yo more effectively and / or Based on the knowledge that improved compliance maintenance is achieved do.
[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 an operation mode of the audio decoder of FIG. 2, in which 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 downscaled decoding process is performed to reconstruct the audio signal from the 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, windower 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 begins with a description of an embodiment for downscaled decoding for the AAC-ELD codec. That is, the following description describes the implementation of the downscaled modes for AAC-ELD. Can The present application will begin with an embodiment of the present invention. This description at the same time forms a kind of explanation of the motivation underlying the embodiment of the present application. Then, this explanation is generalized, so that the audio decoder and the audio decoding according to one embodiment of the present application are transformation A method is 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 based on the ISO / IEC 14496-3:2009 standard, as explained in [2]. Not only in lifting form As described, the direct-format window coefficients can be generated in a compatible manner, meaning that both implementations produce 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 different symbols to optimize the complexity, where sgn is ShowThe 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, discarding 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 uses all N / 4 We need to stop the coefficients, this ensures that the zeros are preserved, the interpolation error does not propagate, and the PR is maintained.
[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, for segment-spline interpolation N / 4The segment size 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 explains how the above ideas can be applied to ER AAC ELD, i.e., how a low-complexity decoder can decode an ER AAC ELD bitstream encoded at a first data rate at a second data rate that is lower than the first data rate. revenge How to encrypt the code? Proposal forHowever, 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 herein above, in the claims and thereafter, N corresponds to the frame length, i.e. the mutual overlap length of the DCT kernels, i.e. half the DCT kernel length. Thus, ,above In the above, N is set to 512, but in the following, it will be set to 1024, for example.
[0031] The following paragraphs are proposed for inclusion via amendment to 14496-3:2009:
[0032] A.0 Adaptation for systems using lower sampling rates for 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] TIFF0007627314000001.tif37169
[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] 4 .6.20.5.2.1 Downscaled Analysis CLDFB Filter Bank Define the number of downscaled CLDFB bands B=32 / F. Shift the samples of array x to B positions. The oldest B samples are discarded and the newest B samples are stored in positions 0 to B-1. The samples of array x are multiplied by the coefficients of the window ci to obtain array z. The window coefficients ci are obtained by linear interpolation of the coefficients c, i.e. The window coefficients for TIFF0007627314000002.tif10148c are shown in Table 4.A.90. · Sum the samples to create a 2B-element array u. TIFF0007627314000003.tif9141 Compute B new subband samples using the matrix operation Mu, where TIFF0007627314000004.tif12131In the formula, exp() represents the complex exponential function and j represents the imaginary unit.
[0037] 4.6.20.5.2.2 Downscaled Synthesis CLDFB Filter Bank Define the number of downscaled CLDFB bands B=64 / F. Shift the samples in array v by 2B positions. The oldest 2B samples are discarded. B new complex numbers number The subband samples of the values are multiplied by the matrix N, where TIFF0007627314000005.tif11123In the formula, exp() indicates the complex exponential function, and j is the imaginary unit. is The real part of the output of this operation minutes is stored in positions 0 to 2B-1 of array v. Create a 10B-element array g by sampling v. TIFF0007627314000006.tif13123· Multiply the samples in array g by the coefficients of window ci to generate array w. The window coefficients ci are obtained by linear interpolation of coefficients c, i.e., The window coefficients for TIFF0007627314000007.tif11135c are shown in Table 4.A.90. Compute B new output samples by summing the samples in array w according to: TIFF0007627314000008.tif9135
[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 the CLDFB may also be applied for the real-valued version of the low-power SBR mode. For illustration purposes, consider 4.6.19.5. I want to . Downscaled real numbers value For the 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] A.3 Low-latency MDCT analysis In this section we describe the low-delay MDCT filter bank used in the AAC ELD encoder. For longer windows where n now runs from -N to N-1 (instead of 0 to N-1), the core MDCT algorithm remains largely unchanged. Spectral coefficient X i,k is defined as follows: TIFF0007627314000009.tif16135 where: z in = Windowed input sequence N = sample index K = Spectral coefficient index I = block index N = window long n0= (-N / 2+1) / 2 The window length N (based on a sine window) is 1024 or 960. The window length of the low-delay window is 2*N. Windowing has been expanded in the past as follows: For n=-N,…,N-1, TIFF0007627314000010.tif13155 and by reversing the order, synthesis The window w is used as the analysis window.
[0041] A.4 Low-delay MDCT synthesis The synthesis filter bank is modified in order to employ a low-delay filter bank compared to the standard IMDCT algorithm using a sine window: the core IMDCT algorithm remains largely unchanged, but now uses a longer window such that n runs up to 2N-1 (instead of up to N-1). TIFF0007627314000011.tif20141 where: n = sample index i = window index k = spectral coefficient index N = window long / Frame Long 2x n0= (-N / 2+1) / 2 N=960 or 1024.
[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] Windowing for low latency windows: TIFF0007627314000012.tif12141, where Current The length of the window is 2N, so n=0,…,2N-1.
[0045] TIFF0007627314000013.tif28137
[0046] Here, the paragraph was proposed for inclusion by the end of the 14496-3:2009 revision.
[0047] Naturally, the possible downscaled modes of AAC-ELD About The above description of merely represents one embodiment of the present application, and some 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, and spectral band replication (SBR).
[0048] A more general embodiment of an audio decoder will now be described. .D Upgrading for AAC-ELD audio decoders that support unscaled modes description Here is an example of the outline: Later It may represent an implementation of the audio decoder described below. In particular, the decoder described below is shown in FIG. 2, and FIG. 3 shows the steps performed by the decoder of FIG.
[0049] The audio decoder of FIG. 2 is generally designated 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, which all The blocks 12 to 20 of the audio decoder 10 are connected in series to each other in the order of their mention. Noh is 3. As described at the end of the description of this application, blocks 12-20 may be implemented by 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. Blocks 12 to 20 can be implemented as follows: Shows each subroutine, circuit path, etc. vinegar.
[0050] As will be outlined in more detail below, the audio decoder 10 of Figure 2 is configured such that its elements cooperate appropriately to decode an audio signal 22 from an audio stream 24. 10 decodes the signal 22 at a sampling rate that is 1 / F of the sampling rate at which the audio signal 22 was encoded into the data stream 24 at the encoding side; transformation It is worth noting that F may be, for example, a rational number greater than 1. The audio decoder may be configured to operate with different or variable downscaling factors F or with a fixed scaling factor F. Alternatives are discussed in more detail below.
[0051] The manner in which the audio signal 22 is encoded or transcoded into a data stream at the original sampling rate is shown in the top half of Figure 3. 26 The spectrum is plotted along a time axis 30 running horizontally in FIG. 3 and a frequency axis 32 running vertically in FIG. time 3 illustrates the spectral coefficients using small boxes or squares 28 arranged in a time axis 30. The spectral coefficients 28 are transmitted within the data stream 24. Thus, the manner in which the spectral coefficients 28 are derived, and therefore 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 respective time portions taken from the audio signal.
[0052] In particular, the coefficients 28 transmitted in the data stream 24 are the 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 The image is divided into non-overlapping frames. Here, N spectral coefficients are transmitted in the data stream 24 for each frame 36. That is, the transform coefficients 28 are derived from the audio signal 22 using a critically sampled convolution transform. TimeIn the spectrogram representation 26, each column of the time sequence of columns of spectral coefficients 28 corresponds to a respective one of the frames 36 of the series of frames. The N spectral coefficients 28 extend not only over the frame 36 to which the resulting spectral coefficients 28 belong, but also over E+1 previous frames, and a modulation function extending in time is obtained for the corresponding frame 36 by a spectral decomposition transform or time-spectral modulation, where E can be any integer or any even numbered integer greater than 0. That is to say, the spectral coefficients 28 of one column of the 26 spectrograms belonging to a frame 36 are obtained by applying a transform to a transform window, each of which further 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 at 34, uses a window function 40 for weighting the spectral samples within the transform window 38 before applying the MDCT or MDST or other spectral decomposition transform, which is achieved using a low-delay unimodal analysis. To reduce encoder-side delay, the analysis window 40 includes a zero interval 42 at its leading edge so that the encoder does not have to wait for the corresponding portion of the latest samples in the current frame 36 to compute the spectral coefficients 28 of the current frame 36. calculation That is, within the zero interval 42, the low delay window function 40 is zero or has a zero window coefficient, so that the co-located audio samples of the current frame 36 are weighted by the window weights 40. Converted for frame and data stream 24 Conversion factor 28 Does not contribute to 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 thus far has been simplified with respect to the manner in which the spectral coefficients 28 are quantized. or Prior to subjecting the audio signal to a lap transform, the audio signal 22 may be pre-processed and / or encoded into the data stream 24. For example, an audio encoder that includes 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 preserve quantization noise, quantizing the spectral coefficients 28 that are not perceptible to the listener and / or are below the masking threshold function; The audio encoder determines the scale factors for the spectral bands by 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 can be a TCX (Transform Coded Excitation) type encoder. The audio signal is then spectrally scaled by applying a lapped transform to the excitation signal, i.e. the linear prediction residual signal, to the spectral coefficients 28. time Prior to forming the representation 26, the representation may have been subjected to linear prediction analysis filtering. For example, the linear prediction coefficients may also be signaled in the data stream 24. Can , spectral uniform quantization can be applied to obtain 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 Figure 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 Figure 3. The temporal length of the frame 36, measured in samples at the original coding sampling rate or at the coding sampling rate, is N, as shown at 34 in Figure 3, but the audio decoder 10 of Figure 2 reconstructs the audio Signal 22 at a reduced sampling rate It is configured to decrypt It should be remembered that. The audio decoder 10 may, for example, only support this downscaled decoding functionality, as described below. Alternatively, the audio decoder 10 may reconstruct the audio signal at the original or encoded sampling rate, but at a different sampling rate depending on the mode of operation of the audio decoder 10, as described below. Decoding mode where is downscaled In accordance with the above, the audio decoder 10 may switch between the downscaled and non-downscaled decoding modes to match the current state of the audio signal 22. For example, the audio encoder 10 may switch to the downscaled decoding mode when the battery level is low, when the playback environment capability is degraded, etc. Whenever the situation changes, the audio decoder 10 may switch, for example, from the downscaled decoding mode to the 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 the frames 36 have a reduced length measured in samples of the 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, ie, one set of N spectral coefficients per frame 36, ie, one column in FIG. The receiver 12 may apply various tasks in obtaining the N spectral coefficients for each frame 36. data Stream 24 It is already clear from the brief description above of the transform coding process to form 。For example, receiver 12 may use entropy decoding to retrieve spectral coefficients 28 from data stream 24. Receiver 12 may also spectrally shape the spectral coefficients read from the data stream using scale factors provided in the data stream and / or scale factors derived from linear prediction coefficients conveyed in data stream 24. For example, receiver 12 may spectrally shape the spectral coefficients read from data stream 24, i.e., frame-by-frame and subband. base Get the scale factor for each Can , To scale the scale factors conveyed in the data stream 24 Use these scale factors do Alternatively, the receiver 12 may derive the scale factor for each frame 36 from the linear prediction coefficients conveyed in the data stream 24. Can , To scale the transmitted spectral coefficients 28, Use these scale factors do 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 in conjunction with reading the spectral coefficients 28 from data stream 24, Also Other Task of Can be executed do.
[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 for each frame 36 corresponding to a low-frequency slice of the spectrogram 26; As shown with index "0" in FIG. Lowest Frequency Spectrum coefficient Spectroscopically recorded ,stomach It contains coefficients extending up to the spectral coefficient with index N / F-1.
[0059] For each frame 36, the spectro-temporal modulator 16 modulates the corresponding low frequency portion 44 of the spectral coefficients 28 by As shown in FIG. 3 at 50, the time-spanning period spans each frame and the E+1 previous frame. Inverse transform with modulation function of length (E+2)·N / F48 Do that By A time portion of (E+2)·N / F is obtained, i.e. a time segment 52 that has not yet been windowed. That is, the spectro-temporal modulator can obtain a time segment of (E+2)·N / F samples at a reduced sampling rate by weighting and summing modulation functions of the same length, for example using the first proposed equation of alternative section A.4 above. The latest N / F samples of the time segment 52 belong to the current frame 36. The modulation function, as shown, is for example If the inverse transform is the inverse MDCT, it is a cosine function, The inverse transformation In the case of the inverse MDCT, it can be a sine function.
[0060] In this manner, the windower 52 each For each frame, a temporal portion 52 is received, At the tip N / F samples correspond in time to a respective frame, while the other samples of each temporal portion 52 belong to corresponding temporally preceding frames. The windower 18 is For each frame 36, a unimodal synthesis window 54 of length (E+2)·N / F is used: The time portion 52 is windowed, and at its leading edge Length 1 / 4 N / F , i.e., the zero-value window coefficients of 1 / F N / F, followed by the time interval, i.e. the time interval of the temporal portion 52 that is not covered by the zero portion 52 Inside The latter time interval is called the non-zero portion of the window 58. You can , the samples at the reduced sampling rate, i.e., have a length of 7 / 4·N / F measured by a window factor of 7 / 4·N / F. The windower 18 weights the temporal portions 52, for example with a window 58. This weighting or multiplication 58 of each temporal portion 52 by a window 54 results in a windowed temporal portion 60, one for each frame 36, that matches the respective temporal portion 52 as far as the temporal extent is concerned. In the proposed section A.4 above, the windowing that may be used by the window 18 is z 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 m corresponds to the windowed temporal portion 60 indexing the frame / window sequence, and n is the position of each portion 52 / 60 according to the reduced sampling rate within each temporal portion 52 / 60. Sample or value of of Indexing do.
[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 outi,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-1 denotes 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 z 0,0 =x 0,0 · w 0,…,z 0,(E+2) · N / F-1 =x 0,(E+2) · N / F-1 · W(E+2) · N / F-1The windower 18 windows the temporal portion 52 with the window 54 to obtain a windowed temporal portion 60, as given by: . The index of z has the same meaning as x. In this way, the modulator 16 and the windower 18 operate on each frame indexed by the first index of x and z. The canceller 20 then: One frame, Here, 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, in the manner outlined above, the audio decoder 10 of Figure 2 reproduces in a downscaled manner the audio signal encoded in the data stream 24. To this end, 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 will be explained with respect to Figure 6, this downsampled version, i.e. the window 54, is Using segment interpolation, That is, down scale If the measurement is performed without , long Using a segment of 1 / 4·N In the downsampled domain, we have segments of length 1 / 4·N / F, measured in time in segments of 1 / 4 the frame length of frame 36, It is expressed independently of the sampling rate. Only the coefficient of F, i.e. the downsampling factor Reference Composition Window of Downsample Obtained by Please refer to Fig. 6. Fig. 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, 5 and Figure 6 System of is being adhered to. That is, w is used to denote the downsampled version of window 54 and w′ is used to denote 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] TIFF0007627314000014.tif43152 Sample 72 can be done. do.However, this procedure results in a poor approximation of the reference synthesis window 70. That is, the synthesis window 54 used by the audio decoder 10 for the downsampled decoding is a poor approximation of the reference synthesis window 70, and thereby does not fulfill the requirement to ensure a conformance test of the downscaled decoding compared to the non-downscaled decoding of the audio signal from the data stream 24. Thus, the downsample 72 is performed by adjusting the window coefficients w of the downsampled window 54. i , i.e., the window coefficients w i The majority of the window coefficients w' of the reference window 70 are downsampled by the downsampling procedure 72. Includes an interpolation procedure that depends on In particular, the window coefficients w for the downsampled window 54 i Most of the time, two or more windows of the reference window 70 are used to improve the quality of the interpolated / downsampled result, i.e., the approximation quality. TIFF0007627314000015.tif31153
[0067] For example, the synthesis window 54 may be a concatenation of spline functions of length 1 / 4·N / F. Next A spline function can 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 is performed according to the next phrase in the section "Calculate the vector r needed to calculate the coefficients c". for example The first part involved a mathematical combination of successive window coefficients w' within the current segment 74. However, the interpolation applied to the segment is done in a different way. too Interpolation can be selected from the following two options: spline or 3D. NextThe segment implementation of the interpolation is not limited to splined interpolation. Rather, linear interpolation or any other interpolation method may be used as well. In any case, the segment implementation of the interpolation allows the calculation of samples of a downscaled synthesis window adjacent to another segment, i.e., the outermost samples of a segment of a downscaled synthesis window, to be independent of the window coefficients of a reference synthesis window present in a different segment.
[0068] The windower 18 divides the downsampled synthesis window 54 by the window coefficients w i 6 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 a spectral-to-time transform using, for example, a lifting implementation of a low-delay MDCT as taught in EP 2 378 516 B1. Please note that .
[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 time portions 52, all It simply outputs a time portion 52 of length 2·N / F obtained from a sequence of N / F long spectra 46. These shortened portions 52 are then multiplied by the DCT kernel, i.e., the 2·N / F most recent samples of the previously described portion. correspondence do.
[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,n has 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] In the implementation of FIG. 8, the device includes a lifter 80: The modulator and windower Modulator function expansion Zhang O Call ExpansionInstead of processing the synthesis window beyond the kernel into the past, which was introduced to compensate for the zero part 56, we restricted the processing to the DCT kernel. compensate for the fact that Therefore, the modulator 16 further comprises a lifter 80, which may be interpreted as part of the windower 18. 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 set out 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 n are 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 multiply-add operations are required, as seen in the lifter 80 framework. These additional operations are: often It is sometimes called the "zero delay matrix." sometimes These operations are also called "lifting steps". The efficient implementation shown in Fig. 8 may in some cases be more efficient 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, such as 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. It is desirable to implement .
[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. TIFF0007627314000016.tif95135
[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. n depends 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. nand ω 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 =ω n ·x k,n To obtain k,n The time portion x that follows 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 tok (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 · out 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 n is 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). 3 or figure 6 This is equivalent to the data stream 24 described above. but, 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 syntax analysis 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 of FIG. 7 performs the inverse low-delay MDCT of the audio signal 22 as an example of the reconstructed audio signal 22 of FIG. 2 into the bitstream where the audio signal first arrived. Encoded It outputs a 48kHz time signal downsampled at half the rate. The CLDFB analysis block uses this 48kHz time signal, i.e. scale Audio Decryption The audio signal obtained by the AAC decoder is divided into N bands, here N=16, and the SBR decoder calculates the reshaping coefficients of these bands and reconstructs the N bands accordingly, i.e., it is controlled via the SBR data in the input bitstream arriving at the input of the AAC decoder, and the CLDFB synthesis block retransforms 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] Note that the standard operation of SBR uses 32-band CLDFB. The 32-band CLDFB window coefficients ci 32 The interpolation algorithm for has already been described in 4.6.19.4.1 of [1]. TIFF0007627314000017.tif15153 where c 64 are the window coefficients for the 64 band window given in Table 4.A.90 in [1]. This formula can be further generalized to a smaller number of bands, B. window Coefficients can be defined. TIFF0007627314000018.tif16153 where F denotes the downscaling factor F=32 / B. With this definition of the window coefficients, we can fully describe the CLDFB analysis and synthesis filter bank as outlined in the above example in section A.2.
[0087] Therefore, the above example shows how to apply the codec to a system with a lower sample rate. for To facilitate this, we provided some missing definitions for the AAC-ELD codec, which may 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 transform coded 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; and a grabber configured to, for each frame, grab out a low frequency portion of length N / F from the N spectral coefficients, and a grabber configured to, for each frame, grab out the low frequency portion through an inverse transform having a modulation function of length (E+2)·N / F spanning in time over the respective frame and E+1 preceding frames. Run a spectro-temporal modulator configured to obtain a temporal portion of length (E+2)·N / F by dividing each frame by a zero portion of length 1 / 4·N / F at its leading edge; Unimodal A time series of (E+2) N / F segments with a peak within the time interval of the synthesis window. Unimodal a windower configured to window the temporal portion using a synthesis window, 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 previous 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 described in the embodiment, the unimodal synthesis window is 3×1 / 4 NF long. Next This is a concatenation of spline functions.
[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, a unimodal synthesis window area At least 80% of the zeros fall within the time interval of length 7 / 4·N / F.
[0095] 11. An audio decoder according to any of the previous embodiments, the audio decoder being adapted to perform the interpolation from a storage device, or Unimodal A synthesis window is then derived.
[0096] In any one of the above embodiments, The audio decoder is It is 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. Length It is.
[0102] Regarding the term "downsampled version", see above statement Note that in this document, the term "downscaled version" is used instead as a synonym.
[0103] "Functions in a fixed interval area Regarding the term "," it should be noted that the same denotes the definite integral of the respective function in the respective interval.
[0104] Audio supporting different values of F decoder In the case of F, it may contain a storage with a correspondingly segment-interpolated version of the reference unimodal synthesis window, or it may perform segment interpolation on the currently active value of F. The different segment-interpolation versions have in common that the interpolation does not adversely affect discontinuities at the segment boundaries. These may be spline functions, as mentioned above.
[0105] By deriving a unimodal synthesis window by segment interpolation from the reference unimodal synthesis window shown in Figure 1 above, the 4 (E+2) segments are Next It is formed by a spline approximation such as Despite the interpolation Synthesis as a means to reduce delay Introduced was done For The zeros are spaced at a pitch of 1 / 4·N / F to preserve discontinuities that exist in a unimodal synthesis window.
[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 an audio signal, a spectrum forming a spectral decomposition of a time portion including the respective frame and the three preceding frames; a grabber configured to grab out a 1 / F length low frequency portion of the spectrum 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 to obtain a windowed temporal representation of the temporal portion, the synthesis window including a zero portion of ¼ of a frame length at its leading edge and having a peak within a temporal interval of the synthesis window following the zero 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 16 segments of equal segment length; the receiver is configured to perform gap filling to synthetically fill zero quantized portions in the spectrum; the synthesis window is a concatenation of one cubic spline function for each of the 16 segments; Audio decoder.
2. 2. The audio decoder of claim 1, wherein the spectro-temporal modulator (16), the windower (18) and the time-domain aliasing canceller (20) are implemented to cooperate in a lifting implementation.
3. The audio decoder of claim 1 , wherein the reference synthesis window is unimodal.
4. 2. An audio decoder as claimed in claim 1, wherein the inverse transform is an inverse MDCT.
5. 2. The audio decoder of claim 1, wherein more than 80% of the area 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.
6. The audio decoder of claim 1 , wherein the audio decoder is configured to support different values for F.
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 each coefficient of the synthesis window is independent of a coefficient of the reference synthesis window that is located at an offset relative to the segment in which the each 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 more than one coefficient 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 the windower skips the zero portions when weighting the temporal portions using the synthesis window and the time-domain aliasing canceller ignores corresponding non-weighted portions of the windowed temporal portions in the overlap-and-add process.
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 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 the spectrum of length 1 / F; 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 to obtain a windowed temporal representation of the temporal portion, the synthesis window including a zero portion of ¼ of a frame length at its leading edge and having a peak within a temporal interval of the synthesis window following the zero portion; 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; Including, 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; the receiving step includes performing gap filling to synthetically fill zero quantized portions in the spectrum; the synthesis window is a concatenation of cubic spline functions, one for each of the 16 segments; method.
11. The computer program, when executed by a computer, comprises the steps of: The computer program for carrying out the method for decoding the audio signal described above. A non-transitory digital storage medium that stores ram.
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