Audio encoder and decoder using lifting steps

Synchronizing lifting decompositions with time-frequency block operations in audio encoding and decoding addresses inefficiencies and delays in integer MDCT, enhancing processing efficiency and maintaining low delay characteristics.

WO2026153656A1PCT designated stage Publication Date: 2026-07-23FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2025-05-30
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing audio coding schemes using integer MDCT face inefficiencies and delays due to inter-block processing in lifting decompositions, particularly when asymmetric windows are used, leading to increased computational effort and potential errors.

Method used

The synchronization of lifting decompositions with time-frequency block operations ensures that all necessary processing is performed within a single block, avoiding inter-block dependencies and maintaining low delay characteristics, even with asymmetric windows.

Benefits of technology

This approach enhances processing efficiency and reduces computational overhead while maintaining low delay requirements, ensuring accurate and error-free audio encoding and decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025065080_23072026_PF_FP_ABST
    Figure EP2025065080_23072026_PF_FP_ABST
Patent Text Reader

Abstract

An audio encoder for encoding an audio signal comprising a sequence of blocks of audio samples comprises: an analysis windower (100) for generating, from a current block (101) of the sequence of blocks, second processed time domain input data for a current time-frequency block operation and for generating, from a preceding block (102) of the sequence of blocks of audio samples, first processed time domain input data for the current time-frequency block operation using an analysis window; and a time-frequency converter (300) for performing the current time-frequency block operation using the first processed time domain input data and the second processed time domain input data, wherein the analysis windower (100) is configured to perform at least two lifting steps (610) using the current block (101) and the preceding block (102) to obtain the first processed time domain input data and the second processed time domain input data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Audio Encoder and Decoder Using Lifting Steps

[0002] Description

[0003] The present invention refers to integer processing using lifting steps and exemplarily to a low delay integer MDCT. Particularly, the present invention refers to audio encoding and audio decoding.

[0004] The publication “Audio Coding Based on Integer Transforms”, PhD Thesis at the TU Ilmenau, November 2, 2007 discloses audio coding procedures that are based on integer transforms that provide a lossless encoding / decoding tool. Most of the current audio coding schemes use transforms like the modified discrete cosine transform (MDCT) to calculate the block-wise frequency representation of the audio signal. Since these transforms usually produce floating point values even for integer input samples, a quantization process is necessary to achieve a reduction of the data rate. The integer transform described in this publication provides perfect reconstruction and produces integer output values. The transform is the IntMDCT and is derived from the MDCT preserving most of its attractive properties. The integer MDCT provides a good spectral representation of the audio signal, critical sampling and overlapping of blocks. A lossless audio coding scheme can be built by cascading the integer MDCT with an entropy coding scheme.

[0005] An MDCT with a window length of 2N is reduced to a discrete cosine transform of type IV (DCT-IV) with a length of N. This is achieved by performing time domain aliasing (TDA) explicitly in time domain and consecutively applying the DCT-IV. The DCT-IV is represented by so-called Givens rotations, where a Givens rotation can be decomposed into a lifting scheme with three lifting steps. Within each lifting step, a rounding function is included to get an integer approximation. Due to the fact that in the lifting scheme, a processing between two values in a back-and-forth way is performed, even though a rounding operation is performed, this rounding error incurred by the rounding function is compensated for so that the integer approximation of the lifting step can be inverted without introducing any error. Applying this integer approximation to each of the three lifting steps, one gets an integer approximation of the Givens rotation. The rounded rotation can be reverted without introducing any error by applying the inverse rounded lifting steps in reverse order using the same rounding function.Fig. 19 illustrates a decomposition of the MDCT and the inverse MDCT into Givens rotations and DCT-IV procedures. 2N inputs are required in order to calculate the input for a single DCT-IV operation and the DCT-IV operation results in N outputs. The reduction from 2N to N is achieved by the folding operation. A corresponding extension / unfolding on the decoderside in order to obtain, from an output of the DCT-IV operation, 2N output values, requires an unfolding operation is performed. Each block of N spectral values is unfolded to a block of 2N (aliased) output values. By performing a corresponding overlap-add operation between the 2N output values from each DCT-IV block in the decoder in Fig. 19 with the corresponding preceding output, the time domain output values are obtained that are free from aliasing.

[0006] From Fig. 19, it becomes clear that there exist corresponding Givens rotations and, therefore, lifting steps between the first half of inputs into one DCT block and the second half of input values into a preceding DCT-IV block. The prior art implementation of the integer MDCT always combines, within the explicit time domain aliasing calculation audio sampling values between two neighboring frames in order to generate the input for a single DCT-IV block operation. In Fig. 19, this means that input values X(0) to x(N-1) representing a first frame of input samples is combined to obtain a first portion of the DCT-IV block in the middle of Fig. 19, and, additionally, the samples of the next frame extending between x(N) and x(2N-1) are also necessary to obtain the second portion of the DCT-IV block in the middle of Fig. 19.

[0007] Due to the necessary lifting decompositions implying several lifting steps, a lifting scheme is always performed over the border of a block for a time frequency conversion. Instead, the lifting is applied so that a lifting always occurs within two time domain frames, i.e., one result of a windowing operation with a full window.

[0008] It has been found that this is problematic, since the handling of samples over block borders block for the time frequency conversion results in an additional effort requiring computing resources and being an open door for errors and timing problems.

[0009] Furthermore, it can be unwanted to have an influence from one time-frequency block to the next time-frequency block, e.g., when a calculation for a current block requires data from the next (future block) which incurs an unnecessary delay. For low delay applications, this is problematic, since it is not useful, on the one hand, to have low delay implementationwhich, for example, relies on an asymmetric window, while, on the other hand, the advantage incurred by the asymmetric window is lost due to the implementation of the lifting decomposition and the corresponding lifting steps as in Fig. 19, where a value from the next time-frequency block is required within a lifting step to calculate the value of the current time-frequency block. For such low delay applications, however, it is not so problematic, when a value is required from an earlier time-frequency block, since the earlier time-frequency block is readily available at the encoder or the decoder. However, requiring values from a future time-frequency block automatically incurs a delay when this value is necessary for calculating a value for the current time-frequency block or the current operation.

[0010] However, the inter-block processing, so that two frames are necessary for calculating the input for one DCT-IV operation is also problematic when symmetric windows are used due to the inter-block nature of corresponding lifting steps.

[0011] It is an object of the present invention to provide an improved concept for audio encoding and decoding.

[0012] This object is achieved by an audio encoder of claim 1, an audio decoder of claim 27, a method for encoding an audio signal of claim 40, a method for decoding an audio signal of claim 41, or a computer program of claim 42.

[0013] The present invention is based on the finding that in order to avoid the inter block problems related to the usage of a lifting decomposition implying at least two lifting steps the lifting decomposition is calculated with data from a preceding time frame and a current time frame so that the lifting decomposition is performed only among the data that make up the input for a full time-frequency block operation for the current frame.

[0014] The lifting steps applied in accordance with the present invention receive, as an input, the audio data from the second half of a preceding block and the first half of a current block, and the output data from this lifting decomposition are used to provide the full input for the current time-frequency block operation.

[0015] Contrary thereto, when Fig. 19 is considered, a lifting operation has been performed between samples of a result of a single windowing operation incurring two time frames, but the result of this lifting implementation was distributed into two neighboring time-frequencyblock operations, i.e., a preceding time-frequency block operation and a current block operation or the current block operation and the next time-frequency block operation.

[0016] In accordance with the present invention, the lifting decomposition provides output values that are fed into a current DCT block and make up the full DCT block. This makes sure that all necessary lifting operations are performed with data that are used in a certain time-frequency block operation. The lifting procedure on the one hand and the DCT-IV operation on the other hand are synchronized with each other. This allows to avoid problematic interblock operations particularly with data from future frames.

[0017] While the windowing / framing operation and the lifting operation in the prior art was synchronized, but the lifting processing and the DCT-IV processing was not synchronized, the present invention departs from this procedure and synchronizes the lifting decomposition with the time-frequency block operation, so that the time domain block processing is not synchronized with the lifting decomposition any more.

[0018] This procedure provides the advantage that any problematic inter-time-frequency block operation dependencies are avoided. Furthermore, within the DCT-IV operation, additional lifting steps are performed that anyway require inter-dependencies between inputs into a single DCT-IV operation. The inventive synchronization of the lifting decompositions with the time-frequency block operation does not introduce additional dependencies as was the case in the prior art.

[0019] This procedure results in a more efficient processing of the MDCT procedure and, additionally, even allows a low delay integer MDCT application with an asymmetric window. However, even without asymmetric windows, but with symmetric windows, the inventive streamlining of the lifting decomposition for the time domain aliasing and the subsequent lifting decomposition within the DCT-IV processing results in an efficient processing.

[0020] An audio encoder in accordance with the present invention is configured for encoding an audio signal comprising the sequence of blocks of audio samples. The audio encoder comprises an analysis windower for generating, from a current block of the sequence of blocks, second processed time domain input data for a current time-frequency block operation and additionally generates, from a preceding block of the sequence of blocks of audio samples, first processed time domain input data for the current time-frequency block operation using an analysis window. Additionally, the audio encoder comprises a time-frequency converterfor performing the current time-frequency block operation using the first processed time domain input data and the second processed time domain input data. The analysis windower is configured to perform at least two lifting steps using the current block and the preceding block to obtain the first processed time domain input data and the second processed time domain input data for the current time-frequency block operation.

[0021] In an embodiment, the output of the time-frequency converter can be input into an entropy encoder in order to additionally reduce the data rate. Depending on the implementation, other encoders different from an entropy encoder can be used as well, such as a raw encoder, for example.

[0022] A corresponding audio decoder for decoding an encoded audio signal comprising a sequence of encoded blocks of spectral values comprises a frequency-time converter for converting the sequence of encoded blocks of spectral value into sequence of decoded blocks of aliased audio samples comprising a previous decoded block of aliased audio samples and the current decoded block of aliased audio samples. A synthesis windower is configured for calculating a previous block of time domain audio samples and the current block of time domain audio samples using a synthesis window and performing at least two lifting steps, wherein, within the at least two lifting steps, a current first portion of aliased audio samples of the current decoded block and a current second portion of aliased audio samples of the current decoded block are used to obtain the time domain audio samples of the previous block of time domain audio samples and the time domain audio samples of the current block of time domain audio samples.

[0023] In the audio decoder, the lifting steps are once again “synchronized” with the output of the frequency-time converter, since the current decoded block of aliased audio samples is used within the lifting steps in order to obtain audio samples of the previous block of time domain audio samples and audio samples of the current block of time domain audio samples.

[0024] The present invention is particularly advantageous when the analysis window and the synthesis window are asymmetric low delay windows that have a leading portion of zeros which result in the low delay characteristic. The synchronization of the lifting decomposition on the one hand and the blocking of the time-frequency converter or the frequency-time converter makes sure that the low delay effect of the asymmetric window is maintained and not again destroyed by the lifting decomposition necessary for the lossless processing, i.e., necessary for the integer MDCT processing.For ease of description, the asymmetric analysis window and the asymmetric synthesis window are shown to have zeros at the right side thereof. However, it is to be mentioned that when the synthesis window is obtained by mirroring the analysis window, the zeros of the synthesis window are at the left side thereof. In a decoder implementation this is typically accounted for.

[0025] Preferred embodiments of the present invention are subsequently described with respect to the accompanying drawings, in which:

[0026] Fig. 1a illustrates an embodiment of an audio encoder;

[0027] Fig. 1b illustrates a preferred implementation of the audio encoder;

[0028] Fig. 2a illustrates an embodiment of an audio decoder;

[0029] Fig. 2b illustrates a preferred implementation of the audio decoder;

[0030] Fig. 2c a general implementation of an integer of an MDCT based lossless audio codec;

[0031] Fig. 2d illustrates a more detailed implementation of the integer MDCT based lossless audio codec;

[0032] Fig. 3a illustrates two overlapping windows with certain parameter conventions;

[0033] Fig. 3b illustrates the meaning of several terms from Fig. 3a;

[0034] Fig. 4a illustrates a straightforward flow chart for a windowing and a time domain aliasing operation;

[0035] Fig. 4b illustrates a lifting decomposition of Fig. 4a;Fig. 4c illustrates a similar illustration of Fig. 4a, but for two subsequent windows, i.e., the first window in Fig. 3a and the second window in Fig.

[0036] 3a;

[0037] Fig. 4d illustrates a further explanation of the folding / combination operation on the one hand and the unfolding / extension operation on the other hand;

[0038] Fig. 5a illustrates a non-symmetric low delay window;

[0039] Fig. 5b illustrates two overlapping windows of Fig. 5a;

[0040] Fig. 6a illustrates a flow chart for the Fig. 5a window;

[0041] Fig. 6b illustrates a straightforward lifting decomposition of Fig. 6a;

[0042] Figs. 6c and 6d illustrate further decompositions apart from Fig. 6b;

[0043] Figs. 7a and 7b illustrate additional lifting decompositions;

[0044] Fig. 8a illustrates a further implementation relying on a diagonal matrix;

[0045] Fig. 8b illustrates an embodiment of the invention with a synchronized lifting decomposition;

[0046] Fig. 8c illustrates the embodiment of Fig. 8b in detail;

[0047] Fig. 9a illustrates an alternative diagonal matrix with respect to Fig. 8a;

[0048] Fig. 9b illustrates a further embodiment of the invention with a synchronized lifting decomposition;

[0049] Fig.9c illustrates a detailed representation of Fig. 9b;

[0050] Fig. 10 illustrates the synchronization of the DCT-IV processing with the medium portion of the asymmetric window;Fig. 11a illustrates an implementation of a decoder with a diagonal matrix similar as to the encoder of Fig. 8a;

[0051] Fig. 11b illustrates a preferred embodiment of the present invention with a synchronized inverse lifting decomposition;

[0052] Fig. 11c illustrates a more detailed representation of Fig. 11b;

[0053] Fig. 12a illustrates a decoder corresponding to an encoder representation of Fig. 9a;

[0054] Fig. 12b illustrates a preferred embodiment of the invention with a synchronized inverse lifting decomposition corresponding the encoder representation of Fig. 9b;

[0055] Fig. 12c illustrates a more detailed representation of Fig. 12b;

[0056] Fig. 13a illustrates an alternative approach for an encoder;

[0057] Fig.13b illustrates further representation of the alternative approach;

[0058] Fig. 13c illustrates an inventive synchronization between the lifting decomposition on the one hand and the DCT-IV operation on the other hand without a distinction between parts being zero or parts being different from zero of the window functions;

[0059] Fig. 14a illustrates a detailed representation of Fig. 13c;

[0060] Fig. 14b illustrates adding stages that can be combined in order to reduce the number of processing steps;

[0061] Fig. 15a illustrates a decoder corresponding to the encoder of the alternative approach of Fig. 13c;

[0062] Fig. 15b illustrates a detailed representation of Fig. 15a;Fig. 16 graphically illustrates the directions of the window portions b, a, d, c and the zero portion z for the asymmetric window of Fig. 5b;

[0063] Fig. 17 illustrates an overview over the processing within an encoder and a decoder with the synchronized DCT-IV operation where the rectangular window is applied first and the asymmetric window is applied subsequently;

[0064] Fig. 18 illustrates an overview over the encoder / decoder processing where the asymmetric window is applied first and the rectangular window is applied second; and

[0065] Fig. 19 illustrates prior art non-synchronized lifting / time-frequency or frequency-time block operation processing.

[0066] Fig. 1a illustrates an audio encoder for encoding an audio signal comprising a sequence of blocks of audio samples. The audio encoder comprises an analysis windower 100, and the analysis windower is located within the encoder and applies an analysis window.

[0067] The analysis windower is configured to perform at least two lifting steps using a lifting functionality illustrated at 110 in Fig. 1a. The audio encoder additionally comprises a time-frequency converter 300 that is configured to perform a current time-frequency block operation 310 and, although not illustrated in Fig. 1a, a preceding time-frequency block operation, a next time-frequency block operation and so on.

[0068] The sequence of blocks of audio samples comprises a current block 101 and a preceding block 102. Both the current block 101 and the preceding block 102 are forwarded into the lifting functionality 110. The window generates, from the current block 101 of the sequence of blocks, second processed time domain input data 103 for a current time-frequency block operation 310. Additionally, the analysis windower generates, from the preceding block 102 of the sequence of blocks of audio samples, first processed time domain input data 104 for the current time-frequency block operation 310 using the analysis window.The time-frequency converter 300 performs the current time-frequency block operation 310 using the first processed time domain input data 103 and the second processed time domain input data 104. The first processed time domain input data 103 represent the first portion of inputs into the time-frequency block operation in a sequence of inputs and the second processed time domain input data 104 represent the second portion of inputs into the time-frequency block operation in the sequence of inputs. When, for example, the timefrequency block operation requires N (e.g., 1024) input samples and the analysis window 10 has a length of 2N (e.g., 2048) samples, then the first processed time domain input data extend from sample 0 to sample N / 2 -1 (e.g., 511) and the second processed time domain input data 104 extend between sample N / 2 (e.g., 512) and N-1 (e.g., 1023). The output of the time-frequency block operation is N (e.g., 1024) spectral values extending from lower frequencies to higher frequencies. The overlap range or advance value from one windowing operation to the next windowing operation is N (e.g., 1024), and a time or block of audio samples has N (e.g., 1024) values. The analysis windower is configured to perform at least two lifting steps 110 using the current block 101 and the preceding block 102 to obtain the first processed time domain input data 103 and the second processed time domain input data 104.

[0069] Fig. 1b illustrates a flow chart for illustrating the lifting decomposition 110 corresponding to the at least two lifting steps in one embodiment. The illustration in Fig. 1b corresponds to the subsequent Fig. 8b. The current time-frequency block operation is illustrated at 310 in the left DCT-IV block and it is visible from Fig. 1b that the lifting decomposition 110 is synchronized with the current time-frequency block operation.

[0070] Furthermore, the samples x(n) are taken from the current block and the sample x(-N+N’) are taken from the preceding block. The current and the preceding blocks are illustrated in Fig. 3a, where the current block 101 starts at 0 and extends until N-1, and the preceding block 102 starts at –N and extends until -1. The window 10a for the current time-frequency block operation, e.g. DCT-IV 310 extends from 0 to 2N-1 and the window 10b for the preceding time-frequency block operation 309 extends from –N to +N-1. The window for the next or following time-frequency block operation 311 extends from N to 3N-1

[0071] Furthermore, in the embodiment illustrated in Fig. 1b, only the left portion from the current block 101 is taken which extends, with respect to Fig. 3a, between 0 and N / 2-1. Furthermore, only the second block of the preceding block is taken that extends between –N / 2 and 1.Furthermore, the first processed data 103 is input into the DCT-IV operation as the left input portion, while the second processed time domain input data 104 are input into the right or upper input portion of the current time-frequency block operation 310 as illustrated in Fig.

[0072] 1b.

[0073] In this context, it is to be emphasized that, for the calculation of the first processed data 103, additional data, in addition to the output of the lifting operation 110, may be required. This is indicated by an adder 105 of Fig. 1b. The data of an earlier lifting decomposition for the preceding time-frequency block operation not illustrated in Fig. 1b is added to the output of the lifting decomposition for the current time-frequency block operation. On the other hand, the second processed data 104 are taken as they are and input into the upper input portion of the current time-frequency block operation 310. Additionally, this data is also subjected to a multiplier 106 and used for additionally calculating the first processed data for the next time-frequency block operation 312.

[0074] In this context, it is to be emphasized that both procedures, i.e., the procedure of Fig. 1b corresponding to Fig. 8b on the one hand and the procedure of Fig. 9b described later on can be used. The difference between Fig. 9b and Fig. 1 b / Fig. 8b is that in Fig. 9b the output of the lifting decomposition 110 is directly input into the current time-frequency block operation 310. However, the corresponding data of the first portion of the preceding block is multiplied by a multiplier 107 and is added to the second portion of the preceding block 102 by the adder 108. The first portion of the audio samples of the preceding block of the sequence of samples can be input into the lifting decomposition either before the at least two lifting steps 110 as illustrated in Fig. 9a or Fig. 9b or, input subsequent to the lifting processing 110 for the current time-frequency block operation as illustrated by items 106 and 105 of Fig. 1b or Fig. 8b.

[0075] Fig. 2a illustrates an audio decoder for decoding an encoded audio signal comprising a sequence of encoded blocks of spectral values. The audio decoder comprises a frequencytime converter 810 for converting the sequence of blocks of spectral values into a sequence of decoded blocks of aliased audio samples comprising a previous decoded block 851 in the current decoded block 852. Additionally, the audio decoder comprises a synthesizer windower 600 for calculating a previous block of time domain audio samples indicated at 612 and a current block of time domain audio samples using a synthesis window. Additionally, the synthesis windower 600 is configured for performing at least two lifting steps 610using a current first portion 852a of aliased audio samples of the current decoded block 852 and a current second portion 852b of aliased audio samples of the current decoded block 852 to obtain time domain audio samples 612 of the previous block of time domain audio samples and time domain audio samples 613 of the current block of time domain audio samples.

[0076] Therefore, as also illustrated in Fig. 2b, the lifting operations 610 are once again synchronized with the block operation of the frequency-time converter 820 so that, from the current decoded block of aliased audio samples, time domain audio samples of a previous block of time domain audio samples and audio samples of the current block of time domain audio samples are obtained.

[0077] Fig. 2b additionally illustrates a next block operation 840 that receives, in the Fig. 2b embodiment corresponding to the Fig. 11b embodiment, the second portion 852b weighted by a weighting factor as illustrated by the weighter 622 and combined into the corresponding output of the next frequency-time block operation 840 via the adder 624.

[0078] Additionally, a corresponding weighter 622 is also configured in order to input, via the adder 624 below block 820, corresponding data from the previous decoded block into the processing of the current block, in this embodiment, before the performing of the at least two lifting steps 610.

[0079] However, as illustrated in Fig. 12b, the introduction of data from the previous decoded block can also be performed via a weighter 626 and a corresponding adder 628 subsequent to the lifting processing. In this embodiment illustrated in Fig. 12b, the output of the frequencytime converter is directly input into the lifting procedure, and the data from the previous decoded block is used, subsequent to the corresponding lifting operation 610 in the previous block into the previous block of time domain audio samples 612.

[0080] In view of that, it becomes clear that the encoder representation in Fig. 8a to Fig. 8c corresponds to the decoder implementation in Figs. 11a to 11c. Furthermore, the encoder representation of Figs. 9a to 9c corresponds to the decoder implementation of Figs. 12a to 12c.

[0081] Fig. 2c illustrates a general representation of an integer MDCT based lossless audio codec relying on an MDCT 50 and a subsequent entropy coding 400 of the MDCT data and a subsequent entropy decoding 800 feeding an inverse MDCT block in order to obtain thedecoded data 18. Fig. 2d illustrates a decomposition of the audio codec of Fig. 2c into win-dowing / time-domain aliasing procedures and transform procedures for the encoder side and the decoder side. A windower 100 is followed by a DCT-IV block 300 and an output of block 300 is processed by an entropy coder 400. In the decoder, an entropy decoder 800 decodes received encoded data and forwards decoded data into a DCT-IV block 810 generating time domain data. This time domain data is processed by a synthesis windower 600 performing synthesis windowing and time domain aliasing processing comprising fold-out or unfolding processing and overlap adding to generated decoded time domain audio samples being free from the aliasing introduced by the block 100 included in the encoder.

[0082] Fig. 3a illustrates one implementation of a notation matching with the encoder-side illustration in Fig. 4c for the purpose of illustrating the folding operation performed by the analysis windower 100 in a preferred implementation. In Fig. 3a, two overlapping windows are illustrated. One window extends from -N to +N and the second window extends between 0 and 2N. Furthermore, several parameters of Fig. 3a and variables are explained in Fig. 3b. Reference is made to the reverse notation for n’ in the last line of Fig. 3b. Additionally, the Fig.

[0083] 3a to Fig. 4c illustration refers to the application of the MDCT and a 50% overlap and the window is a symmetric window. However, similar calculations can also be performed for asymmetric windows and for windows having different overlaps.

[0084] Fig. 4c illustrates which portions of the window are applied to which DCT operation. The current block 101 has a first current portion 101a and a second current portion 101b. The preceding block 102 has a first preceding portion 102a and a second preceding portion 102b. The next block 98 has a first next portion 98a and a second next portion 98b. An earlier block 99 being placed in time before the preceding block 102 is indicated in Fig. 3a as 99 and a second early portion 99b of this block 99 is indicated in Fig. 8c. Fig. 4c illustrates two DCT-IV operations 310, 311. The DCT-IV operation 311 illustrates the DCT-IV operation for the window 10a extending from 0 to 2N-1 in Fig. 3a. The folding operation is illustrated by the functionality of the adder 41 that combines the first portion b and the second portion a of the current window 10a half extending from 0 to N-1 so that, at the output of the adder 41, there are only N / 2 values. Correspondingly, the adder 42 combines the third portion d and the fourth portion d of the preceding window 10b half extending from 0 to N-1 and overlapping with the current window 10a. The DCT-IV operation 310 illustrates the DCT-IV operation for the window 10b extending from -N to N-1 in Fig. 3a.The adder 42 combines the samples of the third window portion d and the last window portion c in order to once again obtain N / 2 samples at the output of the combiner or adder 42. It becomes clear how the window 10a extending from 0 to 2N-1 in Fig. 2a is applied and the result is folded-in to obtain the DCT-IV input for the block operation 311. The DCT-IV operation 311 also receives the data of the window 10b extending between 0 and 2N-1 but, again, the first two portions a, b are combined and the third and fourth portions are combined as well.

[0085] Another illustration for the combination or fold-in on the one hand and the extension or fold-out on the other hand is illustrated in Figs. 19 as shown in the prior publication “Audio Coding Based on Integer Transforms” by R. Geiger.

[0086] Fig. 4d illustrates a further implementation with a different notation in order to explain the combination or folding or fold-in on the encoder-side and the fold-out or unfolding or extension operation on the decoder-side. Here, the first portion a of the window is followed by the portions b, c, d in this order.

[0087] Fig.4d illustrates a window 70, which has an increasing portion to the left and a decreasing portion to the right, where one can divide this window into four portions: a, b, c, and d. Window 70 has, as can be seen from Fig. 4d, only aliasing portions in the 50% overlap / add situation illustrated. Specifically, the first portion having samples from zero to N-1 corresponds to the second portions of a preceding window 69, and the second half extending between sample N and sample 2N-1 of window 70 is overlapped with the first portion of window 71, which is in the illustrated embodiment window i+1, while window 70 is window i.

[0088] The MDCT operation can be seen as the cascading of the folding operation and a subsequent transform operation and, specifically, a subsequent DCT operation, where the DCT of type-IV (DCT-IV) is applied. Specifically, the folding operation is obtained by calculating the first portion N / 2 of the folding block as -CR-d, and calculating the second portion of N / 2 samples of the folding output as a-bR, where R is the reverse operator. The folding operation results in N output values while 2N input values are received.

[0089] A corresponding unfolding operation on the decoder-side is illustrated, in equation form, in Fig. 4d as well. Generally, an MDCT operation on (a,b,c,d) results in exactly the same out-put values as the DCT-IV of (-CR-d, a-bp). Correspondingly, and using the unfolding operation, an IMDCT operation results in the output of the unfolding operation applied to the output of a DCT-IV inverse transform.

[0090] Therefore, time aliasing is introduced by performing a folding operation on the encoderside. Then, the result of the folding operation is transformed into the frequency domain using a DCT-IV block transform requiring N input values. On the decoder-side, N input values are transformed back into the time domain using a DCT-IV-1operation, and the output of this inverse transform operation is thus changed into an unfolding operation to obtain 2N output values which, however, are aliased output values.

[0091] In order to remove the aliasing which has been introduced by the folding operation and which is still there subsequent to the unfolding operation, the overlap / add operation performed by an overlap-adding is required and performed within the at least two lifting steps 610 illustrated in Fig. 2a and other Figs.

[0092] Therefore, when the result of the unfolding operation is added with the previous IMDCT result in the overlapping half, the reversed terms are canceled and one obtains simply, for example, b and d, thus recovering the original data.

[0093] In order to obtain a TDAC for the windowed MDCT, a requirement exists, which is known as “Princen-Bradley” condition, which means that the window coefficients raised to the power of two for the corresponding samples which are combined in the time domain aliasing canceller result in unity (1) for each sample. Fig. 4d illustrates the window sequence as, for example, applied in the AAC-MDCT for long windows or short windows, In the context of Fig. 4d and in the general MDCT operation, the MDCT is considered with 2 N inputs and N outputs. The input is divided into four blocks a, b, c, d each of size N / 2. If one shifts these to the right by N / 2 (from the +N / 2 term in the MDCT definition) then (b, c, d) extend past the end of the N DCT-IV input. They are folded back according to the boundary conditions of the MDCT formulas, i.e., to the alternating even / odd boundary conditions, i.e., even at the left boundary, odd at the right boundary, and so on.

[0094] The IMDCT formula also incurs the DCT-IV (which is its own inverse) where the output is extended or unfolded via the boundary conditions to a length 2 N and shifted back to the left by N / 2. The inverse DCT-IV would simply give back the inputs (-CR-d, a-bp) from above.When this is extended via the boundary conditions and shifted, one obtains the unfolding result illustrated in Fig. 4d.

[0095] Embodiments of the present invention refer to integer processing using lifting steps and exemplarily to a Low Delay Integer MDCT. The subsequent explanation will be made using the notation of Fig. 3a or Fig. 5a and 5b.

[0096] For describing the relevant details of the MDCT, and especially the Windowing and Time Domain Aliasing (TDA), the following variables are used as summarized in Fig. 3a:

[0097] length of one input frame

[0098] 2N length of MDCT window

[0099] x(0),...,x(N-1) input samples of current frame

[0100] x(-N),...,x(-1) input samples of previous frame

[0101] x(N),...,x(2N-1) input samples of next frame

[0102] w(0),...,w(2*N-1) MDCT window

[0103] w(0),...,w(N-1) left half of MDCT window

[0104] w(N),...,w(2*N-1) right half of MDCT window

[0105] n=0,..., N / 2-1 index for left half of current input frame

[0106] n’=N-1-n corresponding index for right half of current input frame

[0107] In the following focus is on pairs of (x(n), x(n’)), which are connected in the process of Windowing and Time Domain Aliasing, and the following variables for the relevant parts of the MDCT window are used:

[0108] a = w(n’)

[0109] b = w(n)

[0110] c = -w(N+n’)

[0111] d = w(N+n)

[0112] All these definitions are illustrated in Fig. 3a showing two consecutive MDCT windows.

[0113] As outlined in [1], the MDCT can be decomposed into the two steps of Windowing+TDA and the transform DCT-IV as also shown in Fig. 2d.

[0114] With the definitions from above, the Windowing+TDA is given by: / x(n')\ (a b\ (x(n')\ _ (a x(n') + b x(ri)\

[0115]

[0116] \x(n) J Vc d' \x(n)J \c x(n') + d x(n)J

[0117] Fig. 4a illustrates the processing steps.

[0118] Note that, based on the TDAC (Time Domain Aliasing Cancellation) condition of the MDCT, it is

[0119] det (a= ad — be = 1

[0120]

[0121] Vc d'

[0122] As outlined in [1], equation (3.39), when b ≠ 0 this 2x2 matrix can be decomposed into 3 lifting steps:

[0123] (a b\ fx(n')\ _ t 1 0\ / i b\ ( 1 0\ tx(n')\ V

[0124]

[0125] c d' \x(ri)J \(d - l) / b 1J Vo 17 \(n - l) / b

[0126] Fig. 4b illustrates that.

[0127] As outlined in [1], an invertible integer processing of the Windowing+TDA is obtained by applying rounding after each lifting step. Together with a similar approach in the DCT-IV, this results in an invertible integer transform, called IntMDCT.

[0128] Subsequently, an embodiment relating to a low delay MDCT based on low delay windows is illustrated.

[0129] Several audio codecs, such as AAC-ELD or LC3 / LC3plus, use a low delay version of the MDCT, with an asymmetric low delay window. The LC3 / LC3plus window 51 is shown in Fig.

[0130] 5a.

[0131] Fig. 5b illustrates the main difference to the symmetric MDCT window 10 shown in Fig. 3a. A segment on the right side of the window 51 turns into zero, while the corresponding segment on the left side of the window 51 can be non-zero.

[0132] For the parts where c is zero, the Windowing+TDA reduces to

[0133] / x(n')\ fa b\ (x(n')\ _ (ax(n') + b x(n)\

[0134]

[0135] \x(ri) J VQ d ’ \x(ri)J \ d x(ri) JThe corresponding flowchart is shown in Fig. 6a. Here it can be seen, why the delay is reduced compared to the normal MDCT: For the parts where c is zero, the pairing of x(n) and x(n’) is only one-sided. While x(n) is required for the second DCT-IV, x(n’) is not required for the first DCT-IV. Thus, the first DCT-IV does not need to wait for the later input sample x(n’).

[0136] The intention of embodiments of the invention is to provide an invertible integer version of the low delay MDCT.

[0137] In principle, the same lifting decomposition as above can also be applied here as shown in Fig. 6b.

[0138] However, the pairing of x(n) and x(n’) now becomes two-sided. Now the first DCT-IV needs to wait for the input sample x(n’), just like for the normal MDCT. Thus, the Low Delay feature is destroyed by this lifting decomposition.

[0139] To achieve the goal, different decompositions of are considered in the following.

[0140]

[0141] There are two possible ways of decomposing into a diagonal matrix and one lifting

[0142]

[0143] step:

[0144] (

[0145]

[0146] o > Cb / i K S)

[0147] or

[0148] (o Xo 2) Co T)

[0149] Note that det = 1 and thus ad=1, i.e., a=1 / d or d=1 / a

[0150]

[0151] The corresponding flowcharts are Fig. 6c or Fig. 6d.

[0152] The diagonal matrix can be decomposed into lifting steps in many different ways,

[0153]

[0154] e.g.

[0155] (a 0\=(0 -1V 1 Owl d\ ( 1 0\

[0156] VO d ' I 0 V-a 1 / Vo l -a 1 'aO>| = (0 1W1°W1 O>|

[0157]

[0158] 0 d ' V-1 O / Va 17 Vo l Aa 17

[0159] / a O\ _ / 1 Owl aw l OWO -1\

[0160] VO d ' ~ -d 17 O l -d 17 VI 0 /

[0161] (a 0\ _ (1 0\ / l -aWl OW 0 1\

[0162] V

[0163]

[0164] O d ' ~ Vd 17 Vo 1 7Vd 17 V-1 o7

[0165] or

[0166] fa=f1~d} (1°W1 1°"l

[0167]

[0168] Vo d7 Vo 1 7Va- l 17 Vo 17 Vd - 1 17

[0169] When one applies one of these lifting decompositions of 0), one gets the flowcharts

[0170]

[0171] in Fig.7a or Fig. 7b.

[0172] This approach again introduces delay, just like in the approach above. Thus, it is, like the approach above, not suitable for preserving the low delay of the Low Delay MDCT.

[0173] In an embodiment of the invention, the analysis windower 100 is configured to use, as the analysis window 51, an asymmetric window 51 having a leading portion c of zeros or values below a minimum threshold. The analysis windower 100 is configured to perform a first procedure 120 for processing portions of the current block 101 not involving the leading portion c, and to perform a second procedure for processing portions of the current block 101 and the preceding block 102 involving the leading portion c, the second procedure for processing comprising the at least two lifting steps 110, wherein the first procedure 120 for processing is different from the second procedure for processing.

[0174] Examples of the first procedure are illustrated in Fig. 6a to 7b and examples of the second procedure also illustrated in Figs. 1a and 1b are additionally described in Figs. 8a to 9c. In this embodiment, depending on whether the zero portion is involved or not, the first procedure or the second procedure is taken.

[0175] In a further embodiment described in Fig. 13a to 14b, a distinction between both procedures is not required, since the same algorithm is used and the “switch” between the “procedures” automatically takes place, when c, i.e., a value in the fourth window portion is zero.The first procedure 120 for processing comprises at least two lifting steps 110 using the first current portion 101a and the second current portion 101b.

[0176] The analysis window 51 comprises a first window portion b, a second window portion a, a third window portion d, and the leading portion c. The first lifting step 121 of the first procedure 120 for processing comprises multiplying 21 a value of the second current portion 101b by a first multiplier derived from the second window portion a and the first window portion b. The second lifting step 122 of the first procedure 120 for processing comprises multiplying 23 a value derived by a sum 22 of a result of the first lifting step 121 and a value of the first current portion 101a by a second multiplier derived from the first window portion b, and the third lifting step 123 of the first procedure 120 for processing comprises multiplying 25 a value derived by a sum 24 of a result of the second lifting step 122 and a value of the second current portion by a third multiplier derived from the third window portion d and the first window portion b. A result of the third lifting step 123 corresponds to the second processed time domain input data 104 for the current time-frequency block operation 310.

[0177] In an embodiment, the analysis window 51 comprises a first window portion b, a second window portion a, a third window portion d, and the leading portion c. A further first lifting step of the first procedure 120 for processing comprises multiplying a value of the second previous portion 102b by a first multiplier derived from the second window portion a and the first window portion b. A further second lifting step of the first procedure 120 for processing comprises multiplying a value derived by a sum of a result of the further first lifting step and a value of the first preceding portion 102a by a second multiplier derived from the first window portion b, and a result of the further second lifting step of the first procedure 120 corresponds to the first processed time domain input data 103 for the current time-frequency block operation 310.

[0178] In a further embodiment, the analysis window 51 comprises a first window portion b, a second window portion a, a third window portion d, and the leading portion c. The first procedure 120 for processing comprises using the at least two lifting steps 110 representing a diagonal matrix comprising the second window portion a and the third window portion d.

[0179] An output of a last lifting step of at least two lifting steps of the first procedure 120 is added 27 to a value of an input into the last lifting step multiplied 28 by a multiplier derived from the first window portion b and the third window portion d, or an input into a first lifting step of at least two lifting steps of the first procedure 120 is calculated by adding 30 a value ofthe first current portion 101a of the current block 101 of audio samples to a value of the second current portion 101b of the current block 101 multiplied by a multiplier 29 derived from the first window portion b and the second window portion a.

[0180] However, one can modify this approach further, in order to keep the low delay. This leads to the second procedure. The diagonal matrix itself does actually not require any pairing of values. It is just applying scaling. The pairing of values is only required for obtaining an invertible integer processing. In the approach above, the pairing of x(n) with x(n’) is chosen, as suggested by the prior art. However, the processed value based on x(n’) is not required as input for the first DCT-IV, but only for the second DCT-IV, which will be processed in the next frame. The first DCT-IV only requires the processed value based on x(-N+n’) in addition to the one based on x(n). Thus one can modify the pairing by pairing not x(n) and x(n’), but x(n) and x(-N+n’).

[0181] Note that either the corresponding diagonal matrix turns from (& 2) to or the po- '

[0182]

[0183] <0 a' vo a' sition of x(n) in the input vector needs to be changed for this modification.

[0184] This is illustrated in the flowcharts in Fig. 8a, which is modified to Fig. 8b. Fig. 8c shows the decompositions in more detail. Fig. 8c in the middle explicitly illustrates the rounding operations R 13 occurring after an addition operation of the corresponding lifting step. In a further embodiment, the rounding is performed after the multiplication and before the addition, i.e., a rounding of the lifting step before the addition operation is performed.

[0185] The other embodiment in Fig. 9a is modified to the embodiment of Fig. 9b or the more detailed illustration in Fig. 9c. Fig. 9c in the middle explicitly illustrates the rounding operations R occurring after an addition operation of the corresponding lifting step. In a further embodiment, the rounding is performed after the multiplication and before the addition, i.e., a rounding of the lifting step before the addition operation is performed. In an integer implementation, such rounding steps occur subsequent to each addition in a lifting step although not explicitly illustrated. This is valid for the encoder-side as well as for the decoder side.

[0186] The term addition operation also incurs a subtraction operation in case of any operand for the addition operation is multiplied by a factor of -1, since one can always turn an addition into a subtraction and adding a minus to a coefficient. Other procedures exist. Therefore,the term addition within a lifting step is equivalent to a corresponding subtraction and both operations designate a linear combination operation.

[0187] With this approach one can now decompose all steps of the Windowing+TDA of the Low Delay MDCT, in which c=0, into lifting steps without introducing delay. This results in an invertible integer version of the Low Delay MDCT.

[0188] For the parts of the window where c is not zero, the normal lifting decomposition based on the prior art can be applied. These parts already introduce some delay in the Low Delay MDCT, and thus the lifting decomposition does not introduce further delay if c is not zero.

[0189] In this embodiment, the analysis windower 100 is configured to use, as the analysis window 51, a window having a first window portion b, a second window portion a, a third window portion d and a fourth window portion c having the leading portion of zeros or values below a minimum threshold. The second procedure for processing comprises the at least two lifting steps 110 using the second preceding portion 102b of the preceding block 102 and the first current portion 101a of the current block 101.

[0190] A first lifting step 111 of the at least two lifting steps 110 comprising multiplying 11 a value of the second preceding portion 102b by a first multiplier derived from the third window portion d or the second window portion a, a second lifting step 112 of the at least two lifting steps 110 comprises multiplying 14 a result of the first lifting step 111 by a second multiplier derived from the third window portion d or the second window portion a and being different from the first multiplier, and a third lifting step 113 of the at least two lifting steps 110 comprises multiplying 16 a result of the second lifting step 112 by a third multiplier derived from the third window portion d or the second window portion a and being different from the second multiplier.

[0191] In an embodiment, the analysis windower 100 is configured to derive 18 the second processed time domain input data 104 for the current time-frequency block operation 310 from the result of the second lifting step 112 and to derive 19 the first processed time domain input data 103 for the current time-frequency block operation 310 from a result of the third lifting step 113.

[0192] The analysis windower 100 is configured to derive 18 the second processed time domain input data 104 from the result of the second lifting step by a sign inversion operation 18, orto derive the first processed time domain input data 103 by adding 19 the result of the third lifting step 123 to a result of a second lifting step for a previous block of the sequence of blocks of audio samples multiplied 20 by a multiplier derived from the first window portion b and the third window portion d.

[0193] In an embodiment, the analysis windower 100 is configured to add 12, in the first lifting step 111, a result of the multiplying 11 by the first multiplier and a value of the first current portion 101a.

[0194] In an embodiment, the analysis windower 100 is configured to use, as the analysis window 51, a window having a first window portion b, a second window portion a, a third window portion d and a fourth window portion c. A first lifting step 111 of the at least two lifting steps 110 comprises multiplying 11 a value of a second preceding portion 102b of the preceding block 102 by a first multiplier derived from the third window portion d, a second lifting step 112 of the at least two lifting steps 110 comprises multiplying 14 a result of the first lifting step 111 by a second multiplier derived from the third window portion d and being different from the first multiplier, and a third lifting step 113 of the at least two lifting steps 110 comprises multiplying 16 a result of the second lifting step 123 by a third multiplier derived from the third window portion d and being different from the second multiplier.

[0195] In an embodiment, the analysis windower 100 is configured to derive 18 the second processed time domain input data 104 for the current time-frequency block operation 310 from the result of the second lifting step 122 and to derive 19 the first processed time domain input data 103 for the current time-frequency block operation 310 from a result of the third lifting step 123.

[0196] In an embodiment, the analysis windower 100 is configured to derive 19 the second processed time domain input data 104 from the result of the second lifting step 121 by a sign inversion operation 19, or to derive the first processed time domain input data 103 by adding 19 the result of the third lifting step 123 to a result of a second lifting step for a previous block of the sequence of blocks of audio samples multiplied 20 by a multiplier derived from the first window portion b and the third window portion d.

[0197] In an embodiment, the analysis windower 100 is configured to add 12, 12’, in the first lifting step 111, a result of the multiplying 11 by the first multiplier and a value derived from a first current portion 101a of the current block 101.As shown in Fig. 14a or 14b, the analysis windower 100 is configured to add 22. 12’, in the first lifting step 121, the value of the first current portion 101a of the current block 101, a value of the second current portion 101b of the current block 101 multiplied 21 by a multiplier derived from the fourth window portion d and the third window portion d, when the multiplier is unequal to zero. The adding operations 22, 12 of Fig. 14a can be unified into the single adding operation 12’. The adding operations 17, 19 of Fig. 14a can be unified into the single adding operation 17’.

[0198] In an embodiment, the analysis windower 100 is configured to perform a rounding operation 13 subsequent to the multiplying 11, 14, 16 using the multiplier derived from the fourth window portion c or the third window portion d, or to perform a rounding operation subsequent to an adding 19 the result of the third lifting step 113 and a result derived 20, 19 from the second lifting step for the previous block.

[0199] In an embodiment, the time frequency converter 300 is configured to perform an integer transform operation, or the time frequency converter 300 is configured to perform an integer DCT-IV operation, or the analysis windower 100 and the time frequency converter 300 are configured to implement an integer MDCT (Modified Discrete Cosine Transform).

[0200] In an embodiment, the analysis windower 100 is configured to generate first processed time domain input data 203 for a next time-frequency block operation 311 from the current block 101 of the sequence of blocks and to generate second processed time domain input data 204 for a previous time-frequency block operation 309 from the preceding block 102 of the sequence of blocks.

[0201] In an embodiment, the analysis windower 100 is configured to generate the first time domain input data 103 for the current time-frequency block operation 310 and the second processed time domain input data for the current time-frequency block operation 310 so that the first time domain input data 103 and the second processed time domain input data 104 comprise a time domain aliasing component.

[0202] The decomposition can be also seen as a two-step windowing operation. The complete windowing+TDA step can be separated into an asymmetric component where ones are located around the middle of the window and a rectangular component where the coefficients around the middle are applied without any overlap operation, which corresponds tothe lifting decomposition of a and d. Fig. 10 outlines the two window component, i.e., the asymmetric window in dashed lines and a rectangular window in solid lines synchronized with the DCT-IV block operation.

[0203] The asymmetric window component is shown as a dashed line and the rectangular window component is shown as a solid line.

[0204] For the inverse transform, the same lifting steps need to applied in reverse order and in every lifting step the scaled (and rounded) values need to be subtracted instead of being added. This is also necessary for the inverse lifting decomposition of the diagonal matrix and for the inverse lifting decomposition of the DCT-IV, in order to obtain an integer version of the transform, which is inverse to the integer version of the forward transform.

[0205] This is illustrated in Fig. 11b, which is modified as shown in Fig. 11b and in more detail in Fig. 11c.

[0206] The other embodiment is shown in Fig. 12a, which is modified to Fig. 12b. More details are illustrated in Fig. 12c.

[0207] In the approach above a distinction between window parts with c=0 (the low delay parts) and c non-zero (the parts introducing delay) was made. The inventive approach was only applied for the parts with c=0.

[0208] In an alternative embodiment the same decomposition is applied for the complete window, i.e., both if c=0 and if c is not zero.

[0209] The matrix (ais considered as above, with

[0210] v

[0211]

[0212] c d'

[0213] det (a= ad — be = 1

[0214]

[0215] vc d'

[0216] c can be zero or non-zero.

[0217] The matrix (acan be decomposed into 2 lifting steps and one diagonal matrix in many V

[0218]

[0219] c d'

[0220] different ways, e.g.

[0221] fa b\ _ / 1 0\ / a 0 \ / l b / a\

[0222] V

[0223]

[0224] c d' ~ \c / a l / \0 1 / oJ kO 1 z(a b\ _ / 1 0\ / 1 ab\ fa 0 \

[0225]

[0226] Vc dz \c / a 1 / ko 1 z \0 l / a7

[0227] or

[0228] fa b\ _ / l b / d\ fl / d 0W 1 0\

[0229] v

[0230]

[0231] cd ' ~ VO 1 ' v o d ' \c / d 1J

[0232] At least some of these decompositions are well known from Linear Algebra under the term LDU decomposition. Basically, decompositions with any order of the two lifting steps and the diagonal matrix are possible, with different coefficients.

[0233] In the following the latter decomposition is taken and applied to the pair of input samples x(n), x(n’)

[0234] (a b\ fx(n')\= / I b / d\ fl / d 0\ / 1 0\ / x(n')\

[0235]

[0236] Vc d' \x(ri)J vo 1 A o d' \c / d

[0237] The resulting flowchart is in Fig. 13a. In this flowchart one can see nicely, where the delay is introduced in the Windowing+TDA process. Only if c is non-zero, the first lifting step connects x(n) with x(n’) in such a way that the DCT-IV needs to wait for the input sample x(n’), and thus introduces delay. If c=0, the first lifting step disappears. The second lifting step and the scaling by d and 1 / d do not introduce any delay.

[0238] With this decomposition one can now apply the same approach as above: The diagonal matrix can be decomposed into lifting steps, but the pairing of values should be x(n) paired with x(-N+n’) and not with x(n’). The resulting flowchart is in Fig. 13b which is modified as shown in Fig. 13c.

[0239] The same approach can be applied to all different decompositions into 2 lifting steps and one diagonal matrix outlined above, independent of the order in the decomposition.

[0240] As outlined above, also the diagonal matrix can be decomposed into 3 lifting steps in many different ways. The following decomposition is chosen

[0241] fl / d 0\ _ / 0 1\ Z 1 0\ / i -d\( 1 0\

[0242]

[0243] v o d ' v-i oz \l / d 1 / V0 1 ' \l / d 1J

[0244] to describe all steps in detail for this case.The resulting flowchart is in Fig. 14a. In summary, one decomposes the matrix (ainto V

[0245]

[0246] c d' 2 lifting steps and one diagonal matrix, which is further decomposed into 3 lifting steps. Thus one has a total of 5 lifting steps, or 4 lifting steps for c=0.

[0247] For creating an invertible integer version, one can introduce 5 (or 4) rounding operations, which is more than the 3 rounding operations in the prior art decomposition. However, in the detailed decomposition above one can see that the first two lifting steps add the results of the multiplications (c / d*x(n’) and 1 / d*x(-N+n’)) to the same value. Thus, instead of rounding both results separately before adding them, the results can be added first and rounded with one instead of two rounding operations. The same approach can also be applied to last two lifting steps. The additions which can be combined are illustrated in Fig. 14b.

[0248] Thus, in this decomposition one can reduce the number of rounding operations to 3, like in the prior art decomposition, while maintaining the low delay of the Low Delay MDCT.

[0249] For the inverse transform, the same lifting steps need to applied in reverse order and in every lifting step the scaled (and rounded) values need to be subtracted instead of being added. This is also necessary for the inverse lifting decomposition of the diagonal matrix and for the inverse lifting decomposition of the DCT-IV, in order to obtain an integer version of the transform, which is inverse to the integer version of the forward transform.

[0250] This is illustrated in general in Fig. 15a and in Fig. 15b for the specific lifting decomposition of the diagonal matrix collectively shown in Fig. 15a at 610.

[0251] Generally, the present invention refers to an audio decoder for decoding an encoded audio signal comprising a sequence of encoded blocks of spectral values. The audio decoder comprises a frequency-time converter 810 for converting the sequence of encoded blocks of spectral values into a sequence of decoded blocks of aliased audio samples comprising a previous decoded block 851 of aliased audio samples and a current decoded block 852 of aliased audio samples, and a synthesis windower 600 for calculating a previous block 612 of time domain audio samples and a current block 613 of time domain audio samples using a synthesis window and performing at least two lifting steps 610 using a current first portion 852a of aliased audio samples of the current decoded block 852 and a current second portion 852b of aliased audio samples of the current decoded block 852 to obtain timedomain audio samples of the previous block 612 of time domain audio samples and time domain audio samples of the current block 613 of time domain audio samples.

[0252] Such an audio decoder is shown in any one of the Figs. 11b, 11c, 12b, 12c, 15a, 15b.

[0253] In an embodiment, the time domain audio samples of the previous block 612 of time domain audio samples are a second previous portion 612b of the previous block 612 of time domain audio samples. The synthesis windower 600 is configured for calculating a first previous portion 612a of the previous block 612 of time domain audio samples using performing at least two lifting steps 610 using a previous first portion 851a of aliased audio samples of the previous decoded block 851 and a previous second portion 851b of aliased audio samples of the previous decoded block 851.

[0254] In an embodiment, the frequency-time converter 810 is configured for generating a next decoded block 853 of aliased audio samples, and the time domain audio samples of the current block 613 of time domain audio samples are a first current portion 613a of the current block 613 of time domain audio samples. The synthesis windower 600 is configured for calculating a second current portion 613b of the current block 613 of time domain audio samples using performing at least two lifting steps 610 using a next first portion 853a of aliased audio samples of the next decoded block 853 and a next second portion 853b of aliased audio samples of the next decoded block.

[0255] In an embodiment, the synthesis windower 600 is configured to use, as the synthesis window, a window having a first window portion b, a second window portion a, a third window portion d and a fourth window portion c. A first lifting step 641 of the at least two lifting steps 610 comprises multiplying 632 a value derived from the first current portion 852a or the second current portion 852b of aliased audio samples by a first multiplier derived from the third window portion d or the second window portion a, a second lifting step 642 of the at least two lifting steps 610 comprises multiplying 634 a result of the first lifting step 641 by a second multiplier derived from the third window portion d or the second window portion a and being different from the first multiplier, and a third lifting step 643 of the at least two lifting steps 610 comprises multiplying 636 a result of the second lifting step 642 by a third multiplier derived from the third window portion d or the second window portion a and being different from the second multiplier.

[0256] Such an audio decoder is shown in any one of the Figs. 11b, 11c, 12b, 12c, 15a, 15b.In an embodiment, the synthesis windower 600 is configured to derive the time domain audio samples 612b of the previous block 612 of time domain audio samples from the result of the second lifting step 642 and to derive 626, 628, 638, 639 time domain audio samples 613a of the current block 613 of time domain audio samples from a result of the third lifting step 643. Such an audio decoder is shown in the Figs. 11c, 15b.

[0257] In an embodiment, the synthesis windower 600 is configured to derive an input into the first lifting step 641 by a sign inversion operation 631 applied to the second current portion 852b of aliased audio samples of the current decoded block 852. Such an audio decoder is shown in Fig. 11c or 12c.

[0258] In an embodiment, the synthesis windower 600 is configured to derive data to be combined 633 in the first lifting step 641 by combining 640 data of the first current portion 852a of aliased audio samples of the current decoded block 852 and a second previous portion 851 b of aliased audio samples of the previous decoded block 851 multiplied 622 by a multiplier derived from the first window portion b and the third window portion d. Such an audio decoder is shown in Fig. 11 c or 15b.

[0259] In an embodiment, the synthesis windower 600 is configured to combine 633, in the first lifting step 641, a result of the multiplying 632 by the first multiplier and a value derived 622, 624, 640 from the first current portion 852a of aliased audio samples of the current decoded block 852 and the second previous portion 851b of aliased audio samples of the previous decoded block 851. Such an audio decoder is shown in Fig. 11c or 12c.

[0260] In an embodiment, a result of the second lifting step 642 is a second previous portion 612b of the previous block 612 of time domain audio samples. The first current portion 613a of the current block 613 of time domain audio samples is determined using an adding 637, 639 of a result of the multiplication 636 in the third lifting step 643 and the second current portion 613b of the current block 613 of time domain audio samples multiplied 638 by a multiplier derived from the fourth window portion c and the third window portion d, when a value of the fourth window portion c is not equal to zero or a value below a threshold, or is the result of the third lifting step 643 when a value of the fourth window portion c is equal to zero or a value below a threshold. This is illustrated in Fig. 15b.In an embodiment, the synthesis windower 600 is configured to use, as the synthesis window, an asymmetric window having a leading portion c of zeros or values below a minimum threshold. The synthesis windower 600 is configured to perform a first procedure for processing using the previous second portion 851b of aliased audio samples of the previous decoded block 851 and the current first portion 852a of aliased audio samples of the current decoded block 852 to obtain a first portion 612a of the previous block 612 of time domain audio samples and the second portion 612b of the current block 613 of time domain audio samples, wherein the first procedure for processing comprises at least two lifting steps and does not involve the leading portion c, and to perform a second procedure for processing using the current first portion 852a of aliased audio samples of the current decoded block 852 and the current second portion 852b of aliased audio samples of the current decoded block 852 to obtain the second portion 612b of the previous block 612 of time domain audio samples and the first portion 613a of the current block 613 of time domain audio samples, wherein the second procedure for processing comprises the at least two lifting steps 610 and involves the leading portion c. The first procedure for processing is different from the second procedure for processing. This is illustrated in Figs. 11b, 11c, 12b, 12c.

[0261] In an embodiment, a first lifting step 641 of the at least two lifting steps 610 comprising multiplying a value derived from the first current portion 852a or the second current portion 852b of aliased audio samples by a first multiplier 632 derived from the third window portion d or the second window portion a. A second lifting step 642 of the at least two lifting steps 610 comprises multiplying 634 a result of the first lifting step 641 by a second multiplier derived from the third window portion d or the second window portion a and being different from the first multiplier, and a third lifting step 643 of the at least two lifting steps 610 comprises multiplying 636 a result of the second lifting step 642 by a third multiplier derived from the third window portion d or the second window portion a and being different from the second multiplier. This is illustrated in Figs. 11c, 12c, 15b.

[0262] In an embodiment, the synthesis windower 600 is configured to determine an input into the first lifting step 641 by a sign inversion operation 631 of the current second portion 852b of aliased audio samples of the current decoded block 852, and to add 633, 624 a result of the multiplication 632 in the first lifting step 641 to a value of the current first portion 852a of aliased audio samples of the current decoded block 852 and to the previous second portion 851b of aliased audio samples of the previous decoded block 851 multiplied by a multiplier derived from the first window portion b and the third window portion d. An input into the third lifting step 643 is the second previous portion 612b of the previous block 612of time domain audio samples, and an output of the third lifting step 643 is the first current portion 613a of the current block 613 of time domain audio samples. This is shown in Fig.

[0263] 11c.

[0264] In an embodiment, the synthesis windower 600 is configured to determine an input into the first lifting step 641 by a sign inversion operation 631 of the current first portion 852a of aliased audio samples of the current decoded block 852, and to add 633 a result of the multiplication 632 in the first lifting step 641 to a value of the current second portion 852b of aliased audio samples of the current decoded block 852. An input into the third lifting step 643 is the first current portion 613a of the current block 613 of time domain audio samples, and the second previous portion 612b of the previous block 612 of time domain audio samples is calculated by adding 637, 628 a result of the multiplication 636 by the multiplier in the third lifting step 643, and the first previous portion 612a of the previous block 612 of time domain audio samples multiplied 626 by a multiplier derived from the first window portion b and the second window portion a. This embodiment is shown in Fig. 12c.

[0265] In an embodiment, the synthesis windower 600 is configured to perform, in each lifting step 641, 642, 643 of the at least two lifting steps 610, a multiplication operation 632, 634, 636, a linear combination operation 633, 635, 637 involving a result of the multiplication operation 632, 634, 636, and a rounding operation. Such an audio decoder is shown in any one of the Figs. 11b, 11c, 12b, 12c, 15a, 15b. The rounding operation can be placed after an addition operation of the corresponding lifting step. In a further embodiment, the rounding is performed after the multiplication and before the addition, i.e., a rounding of the lifting step before the addition operation is performed. Other placements of the rounding operation(s) within the lifting decomposition 610 can be used.

[0266] In an embodiment of the audio decoder, the frequency-time converter 810 is configured to perform an integer inverse transform operation, such as an integer DCT-IV operation. In a further embodiment, the synthesis windower 600 and the frequency-time converter 810 are configured to implement an integer inverse MDCT (modified discrete cosine transform).

[0267] In above embodiments, additions or subtractions are mentioned. It is to be noted that an addition can be turned into a subtraction or vice versa, if a member of the linear operation is multiplied by -1, i.e., is processed to have a different sign. Hence, additions or subtractions are examples of a general linear combination operation.In the following, a MATLAB pseudo code example implementation is provided for the analysis (intMdct2) and synthesis (invlntMdct2) stage of the low delay integer MDCT. The implementation only required 3 rounding operations as outlined in the previous Figs. 14a to 15b.

[0268] function [x_out, x_overlap, X2_pre] = intMdct2(x_in, w, la_zeroes, x_overlap, X2_pre)

[0269] % INPUT

[0270] % x_in : input time signal block

[0271] % w: window coefficients

[0272] % la_zeroes: number of leading zeros in w

[0273] % x_overlap, X2_pre: overlap buffer

[0274] % OUTPUT

[0275] % x_out: MDCT coefficients

[0276] % x_overlap, X2_pre: overlap buffer

[0277] N = length(x_in);

[0278] [a,b,c,d] = intMDCTdecompose2 (w');

[0279] % delay compensation

[0280] X2_pre(1:la_zeroes) = flip(x_in(1:la_zeroes));

[0281] % start windowing

[0282] X1 = x_in(1+la_zeroes: la_zeroes+N / 2);

[0283] X2 = flip([x_in(la_zeroes + N / 2 + 1: N) zeros(1,la_zeroes)]);

[0284] X2_pre_store = X2;

[0285] % 1st lifting step

[0286] % combined with following lifting step

[0287] % 3 diagonal components

[0288] X1 = X1 - round(((c. / d) .* X2) + (1. / d .* X2_pre)); % combined with previous stepX2_pre = X2_pre - (round(-d .* X1));

[0289] %2nd lifting stepX2 = - ((b. / d).* X2_pre); % overlap: no rounding here

[0290] % assemble TDA

[0291] % apply lifting overlap

[0292] TDA_I = round(x_overlap(1: N / 2)-flip(X1 - (1. / d .* X2_pre)));

[0293] TDA_int = [TDA_I X2_pre];

[0294] % FL compatible TDA

[0295] TDA_fl = -flip(TDA_int);

[0296] % DCT4 on the left N samples

[0297] x_out(1: N) = intDct4(TDA_fl); % dct4 (1 - N)

[0298] % Output

[0299] x_overlap(1: N / 2) = flip(X2);

[0300] X2_pre = X2_pre_store;

[0301] end

[0302] function [x_out, x_overlap, X1_store_prev] = invlntMdct2(x_in, w, la_zeroes, x_overlap, X1_store_prev)

[0303] % INPUT

[0304] % x_in : input MDCT coefficients

[0305] % w: window coefficients

[0306] % la_zeroes: number of leading zeros in w

[0307] % x_overlap, X1_store_prev: overlap buffer

[0308] % OUTPUT

[0309] % x_out: MDCT coefficients

[0310] % x_overlap, X1_store_prev: overlap buffer

[0311] N = length(x_in);

[0312] [a,b,c,d] = intMDCTdecompose2 (w');

[0313] % DCT4dct = invIntDct4(x_in(1: N)');

[0314] dct = - flip(dct);

[0315] % Windowing / TDA

[0316] % inverse diagonal

[0317] X1 = -flip(dct(1: N / 2));

[0318] X2 = dct(N / 2+1:end);

[0319] % combined with previous lifting step

[0320] X1 = X1 - round(((b. / d) .* x_overlap(1: N / 2)) - ((1. / d) .* X2));X2 = X2 + (round(-d.*X1));

[0321] X1_store = X1 + (1. / d).* X2; % store without rounding

[0322] % 1st lifting step

[0323] X1 = round(X1_store_prev + (c. / d).* X2);

[0324] % delay optimized playout

[0325] x_out_tmp = [X1 flip(X2) round(X1_store)];

[0326] x_out = x_out_tmp(la_zeroes+1:la_zeroes+N);

[0327] % New overlap

[0328] X1_store_prev = X1_store;

[0329] x_overlap(1: N / 2) = dct(N / 2+1:end);

[0330] end

[0331] function [a,b,c,d] = intMDCTdecompose2 (w)

[0332] % General W / TDA decomposition

[0333] % w: window coefficients

[0334] N=length(w) / 2;

[0335] b = (w(1: N / 2)); % 1 st parta = flip(w(N / 2+1: N)); % 2nd part

[0336] d = (w(N+1: 3*N / 2)); % 3rd part

[0337] c = -flip(w(3*N / 2+1:end)); % 4thpart

[0338] end

[0339] Subsequently, further embodiments of the invention are described:

[0340] The integer MDCT offers the possibility for lossless audio compression in frequency domain and therefore lossless coding can be combined with aspects of perceptual coding. MPEG-4 Scalable to Lossless (SLS) (ISO / IEC 14496-3:2005 / Amd 3:2006) combines for instance a lossless coder based on the integer MDCT with a perceptual MPEG-4 AAC-LC coder. The used integer MDCT framework is also described in (Geiger, 2004). The latter MDCT framework only utilizes symmetric MDCT windows with full overlap, e.g., sine window.

[0341] Low delay MDCT windows can be of asymmetric shape and employ a leading zero section of length Z in the window shape. Fig. 5 shows the LC3 / LC3plus window as an example (ETSI).

[0342] The section of leading zeros reduces the delay in the analysis / synthesis process by shifting the time buffer. This is possible as the zero section does not contribute to any overlap operation. To extend low delay audio codecs also towards lossless operation, it would be beneficial to make the intMDCT framework also applicable for low delay MDCT windows as shown in Fig. 5a.

[0343] In (Geiger, 2004), a general decomposition into three lifting steps of the windowing and time domain alias operation is described:

[0344] A lifting step decomposition for a 2 x 2 matrix

[0345]

[0346] with b 0 and determinant 1 is described in [BE92] by

[0347] a b\ / 1 0\ / I / 1 0

[0348] (3.39)

[0349]

[0350] c dl \ (d — l) / & 1 / \0 1 / \(a — l) / & 1Where a=W(N.. N / 2-1), b=W(0.. N / 2-1), c=-W(2N..3N / 2-1), d=(W(N..3*N / 2-1)) and W represents the window coefficients where the zero section is located in W(2N-Z..2N-1) and N the block length. Fig. 16a outlines the section for a, b, c and d and also illustrates the direction of the variables, specifically the reverse counting direction for a and c. This, however, is only a matter of notation. The regular notation without inversion is shown in Fig. 4d leading to the “R” notation. Due to the last line on the left-hand side in Fig. 3b, this reversal is already included in the definition of variable n’.

[0351] After each lifting operation, a rounding step is applied. Basically, the decomposition is pos-sible, however the resulting zero section is not maintained as rounding components are introduced. This means it is not possible to make use of the lossless capability and the reduced delay of the window shape at the same time.

[0352] As shown in (Geiger, 2004), the MDCT can be decomposed as follows:

[0353] MDCT =

[0354] / -1

[0355] DCTIV■

[0356] v1

[0357] I 1

[0358] w(N — 1)

[0359] (3.17)

[0360] w(N — 1)

[0361]

[0362] The windowing and time domain alias process can be combined toWTDA(n) = w(n) + w(N — 1 — n) for n = 0.. — — 1

[0363] / N\ rN \ ' N WTDA I n + — J = w I — + n 1 — w(2N — 1 — n) for n = 0.. — — 1

[0364]

[0365] And by replacing w(n) by the decomposition section of 3.39

[0366] N WTDA(n) = b(n) + a(n) forn = —

[0367] fN\ N

[0368] WTDA I n + — J = d(ji) + c(n) for n = 0.. — — 1

[0369]

[0370] According to the windowing and TDA processing, a interacts with b and c interacts with d. This means any rounding influencing d, should be avoided to maintain c where the zero section is located.

[0371] Instead of processing the right side of the WTDA as told by prior art, the decomposition of points related to the zero section is shifted by one frame over the center of the MDCT. Therefore, the interaction of a and d is further exploited:

[0372] The zero section can be maintained if a(n)=1 and d(n)=1 (for n=0.. Z). As can be seen from 3.39, only one lifting step remains in that case which means no rounding operation happens which affects the zero component.

[0373] Therefore, the windowing operation can be separated into an asymmetric component where ones are located around the middle of the window and a rectangular component where the coefficients around the middle are applied without any overlap operation. Fig. 10 outlines the two window components.

[0374] The rectangular window cannot directly be decomposed using 3.39, however as d=1 / a for the coefficients not equal to one, other decompositions can be applied:

[0375] O i b / ,1 0

[0376]

[0377] vo i \(Z- i i

[0378] Alternatively, 3.39 can be applied when an additional flipping is applied before or after.

[0379] a 0\

[0380] 1

[0381]

[0382] 0 ~

[0383] a / In (Geiger, 2004), a similar decomposition is already described:

[0384] d 0 -1 0\ / I - 0 1

[0385] (4-3)

[0386]

[0387] 0 d”1d-11 / \ 0 1 / \1 d-1

[0388] Even though (Geiger, 2004) mentions the term low delay filterbanks in the context of integer MDCT, the document never considers the presence of a zero section in the window. The document only considers filterbanks with delay comparable to symmetric MDCTs, but with longer overlap / windows.

[0389] As the rectangular window has no overlap portion, the leading zero section is not affected.

[0390] The two windowing operations can be combined with first asymmetric component followed by rectangular one:

[0391]

[0392] In any case a compensation is required, e.g., by modifying coefficients in b by

[0393] b’(1.. Z) = b(1.. Z) / a(N-1.. N-Z) or b’(1.. Z) = b(1.. Z) * a(N-1.. N-Z).

[0394] Note that this operation is required for all coefficients where the zero section is involved, i.e., W(1.. Z), W(N-1-Z.. N-1), W(N.. N+Z), W(2N-Z..2N). For the remaining coefficients, 3.39 can be used for decomposition as part of the asymmetric window component.

[0395] Preferred Embodiments refer to an apparatus or method with time frequency transformation or reverse transformation, comprising: integer MDCT or reverse transformation or decomposition of MDCT windowing and TDA into lifting steps, with a preferably asymmetric window with a leading zero section and / or a delay optimized implementation. In an embodiment, the windowing coefficients around the middle of the MDCT are not equal to 1, e.g., as shown in Fig. 16.

[0396] Fig. 17 illustrates an overview over the processing within an encoder and a decoder with the synchronized DCT-IV operation where the rectangular window is applied first and the asymmetric window is applied subsequently.Fig. 18 illustrates an overview over the encoder / decoder processing where the asymmetric window is applied first and the rectangular window is applied subsequently.

[0397] References:

[0398] [1] Ralf Geiger: " Audio Coding Based on Integer Transforms", Dissertation an der Fakultät für Elektrotechnik und Informationstechnik der TU Ilmenau, Nov 2, 2007, https: / / www.db-thueringen.de / servlets / MCRFileNodeServlet / dbt_derivate_00013817 / ilm1-2007000278.pdf

[0399] It is to be mentioned here that all alternatives or aspects as discussed before and all aspects as defined by independent claims in the following claims can be used individually, i.e., without any other alternative or object than the contemplated alternative, object or independent claim. However, in other embodiments, two or more of the alternatives or the aspects or the independent claims can be combined with each other and, in other embodiments, all aspects, or alternatives and all independent claims can be combined to each other.

[0400] An inventively encoded signal can be stored on a digital storage medium ora non-transitory storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.

[0401] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.

[0402] Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed.

[0403] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computersystem, such that one of the methods described herein is performed. Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine-readable carrier. Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine-readable carrier or a non-transitory storage medium. In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer. A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet. A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein. A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein. In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are preferably performed by any hardware apparatus.

[0404] The above-described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.

Claims

Claims1. Audio encoder for encoding an audio signal comprising a sequence of blocks of audio samples, the audio encoder comprising:an analysis windower (100) for generating, from a current block (101) of the sequence of blocks, second processed time domain input data (104) for a current time-frequency block operation (310) and for generating, from a preceding block (102) of the sequence of blocks of audio samples, first processed time domain input data (103) for the current time-frequency block operation (310) using an analysis window (10, 51); anda time-frequency converter (300) for performing the current time-frequency block operation (310) using the first processed time domain input data (103) and the second processed time domain input data (104),wherein the analysis windower (100) is configured to perform at least two lifting steps (110) using the current block (101) and the preceding block (102) to obtain the first processed time domain input data (103) and the second processed time domain input data (104).

2. Audio encoder of claim 1, wherein the analysis windower (100) is configured to perform, in each lifting step (111, 112, 113) of the at least two lifting steps (110), a multiplication operation (11), a linear combination operation (12) involving a result of the multiplication operation (11), and a rounding operation (13).

3. Audio encoder of claim 1 or 2, wherein the current block (101) has a first current portion (101a) and a second current portion (101b), and wherein the preceding block (102) has a first preceding portion (102a) and a second preceding portion (102b), andwherein the analysis windower (100) is configured to perform the at least two lifting steps (110) using the second preceding portion (102b) and the first current portion (101a), or using data, which are derived from the second preceding portion (102b) using data from the first preceding portion (102a) and the analysis window (10, 51), and the first current portion (101a).

4. Audio encoder of one of the preceding claims, wherein the analysis windower (100) is configured to use, as the analysis window (51), an asymmetric window (51) having a leading portion (c) of zeros or values below a minimum threshold,wherein the analysis windower (100) is configuredto perform a first procedure (120) for processing portions of the current block (101) not involving the leading portion (c), andto perform a second procedure for processing portions of the current block (101) and the preceding block (102) involving the leading portion (c), the second procedure for processing comprising the at least two lifting steps (110),wherein the first procedure (120) for processing is different from the second procedure for processing.

5. Audio encoder of claim 4, wherein the first procedure (120) for processing comprises at least two lifting steps (110) using the first current portion (101a) and the second current portion (101b).

6. Audio encoder of claim 5, wherein the analysis window (51) comprises a first window portion (b), a second window portion (a), a third window portion (d), and the leading portion (c), andwherein a first lifting step (121) of the first procedure (120) for processing comprises multiplying (21) a value of the second current portion (101b) by a first multiplier derived from the second window portion (a) and the first window portion (b),wherein a second lifting step (122) of the first procedure (120) for processing comprises multiplying (23) a value derived by a sum (22) of a result of the first lifting step (121) and a value of the first current portion (101a) by a second multiplier derived from the first window portion (b), andwherein a third lifting step (123) of the first procedure (120) for processing comprises multiplying (25) a value derived by a sum (24) of a result of the second lifting step (122) and avalue of the second current portion by a third multiplier derived from the third window portion (d) and the first window portion (b), andwherein a result of the third lifting step (123) corresponds to the second processed time domain input data (104) for the current time-frequency block operation (310).

7. Audio encoder of claim 5 or 6,wherein the analysis window (51) comprises a first window portion (b), a second window portion (a), a third window portion (d), and the leading portion (c),wherein a further first lifting step of the first procedure (120) for processing comprises multiplying a value of the second previous portion (102b) by a first multiplier derived from the second window portion (a) and the first window portion (b),wherein a further second lifting step of the first procedure (120) for processing comprises multiplying a value derived by a sum of a result of the further first lifting step and a value of the first preceding portion (102a) by a second multiplier derived from the first window portion (b), andwherein a result of the further second lifting step of the first procedure (120) corresponds to the first processed time domain input data (103) for the current time-frequency block operation (310).

8. Audio encoder of one of claims 4 to 7, wherein the analysis window (51) comprises a first window portion (b), a second window portion (a), a third window portion (d), and the leading portion (c),wherein the first procedure (120) for processing comprises using the at least two lifting steps (110) representing a diagonal matrix comprising the second window portion (a) and the third window portion (d).

9. Audio encoder of one of claims 4 to 8, wherein an output of a last lifting step of at least two lifting steps of the first procedure (120) is linearly combined (27) to a value of an input into the last lifting step multiplied (28) by a multiplier derived from the first window portion (b) and the third window portion (d), orwherein an input into a first lifting step of at least two lifting steps of the first procedure (120) is calculated by linearly combining (30) a value of the first current portion (101a) of the current block (101) of audio samples and a value of the second current portion (101b) of the current block (101) multiplied by a multiplier (29) derived from the first window portion (b) and the second window portion (a).

10. Audio encoder of claim 4, wherein the analysis windower (100) is configured to use, as the analysis window (51), a window having a first window portion (b), a second window portion (a), a third window portion (d) and a fourth window portion (c) having the leading portion of zeros or values below a minimum threshold,wherein the second procedure for processing comprises the at least two lifting steps (110) using the second preceding portion (102b) of the preceding block (102) and the first current portion (101a) of the current block (101).

11. Audio encoder of claim 10,wherein a first lifting step (111) of the at least two lifting steps (110) comprising multiplying (11) a value of the second preceding portion (102b) by a first multiplier derived from the third window portion (d) or the second window portion (a),wherein a second lifting step (112) of the at least two lifting steps (110) comprises multiplying (14) a result of the first lifting step (111) by a second multiplier derived from the third window portion (d) or the second window portion (a) and being different from the first multiplier, andwherein a third lifting step (113) of the at least two lifting steps (110) comprises multiplying (16) a result of the second lifting step (112) by a third multiplier derived from the third window portion (d) or the second window portion (a) and being different from the second multiplier.

12. Audio encoder of claim 11, wherein the analysis windower (100) is configured to derive (18) the second processed time domain input data (104) for the current time-frequency block operation (310) from the result of the second lifting step (112) and to derive (19) the first processed time domain input data (103) for the current time-frequency block operation (310) from a result of the third lifting step (113).

13. Audio encoder of claim 12, wherein the analysis windower (100) is configured to derive (18) the second processed time domain input data (104) from the result of the second lifting step by a sign inversion operation (18), orto derive the first processed time domain input data (103) by linearly combining (19) the result of the third lifting step (123) and a result of a second lifting step for a previous block of the sequence of blocks of audio samples multiplied (20) by a multiplier derived from the first window portion (b) and the third window portion (d).

14. Audio encoder of one of claims 10 to 13, wherein the analysis windower (100) is configured to linearly combine (12), in the first lifting step (111), a result of the multiplying (11) by the first multiplier and a value of the first current portion (101a).

15. Audio encoder of one of the claims 1 to 3, wherein the analysis windower (100) is configured to use, as the analysis window (51), a window having a first window portion (b), a second window portion (a), a third window portion (d) and a fourth window portion (c),wherein a first lifting step (111) of the at least two lifting steps (110) comprising multiplying (11) a value of a second preceding portion (102b) of the preceding block (102) by a first multiplier derived from the third window portion (d),wherein a second lifting step (112) of the at least two lifting steps (110) comprises multiplying (14) a result of the first lifting step (111) by a second multiplier derived from the third window portion (d) and being different from the first multiplier, andwherein a third lifting step (113) of the at least two lifting steps (110) comprises multiplying (16) a result of the second lifting step (123) by a third multiplier derived from the third window portion (d) and being different from the second multiplier.

16. Audio encoder of claim 15, wherein the analysis windower (100) is configured to derive (18) the second processed time domain input data (104) for the current time-frequency block operation (310) from the result of the second lifting step (122) and to derive (19) the first processed time domain input data (103) for the current time-frequency block operation (310) from a result of the third lifting step (123).

17. Audio encoder of claim 16, wherein the analysis windower (100) is configured to derive (19) the second processed time domain input data (104) from the result of the second lifting step (121) by a sign inversion operation (19), orto derive the first processed time domain input data (103) by linearly combining (19) the result of the third lifting step (123) to a result of a second lifting step for a previous block of the sequence of blocks of audio samples multiplied (20) by a multiplier derived from the first window portion (b) and the third window portion (d).

18. Audio encoder of one of claims 12 to 17, wherein the analysis windower (100) is configured to linearly combine (12, 12’), in the first lifting step (111), a result of the multiplying (11) by the first multiplier and a value derived from a first current portion (101a) of the current block (101).

19. Audio encoder of claim 18, wherein the analysis windower (100) is configured to linearly combine (22. 12’), in the first lifting step (121), the value of the first current portion (101a) of the current block (101, and a value of the second current portion (101b) of the current block (101) multiplied (21) by a multiplier derived from the fourth window portion (d) and the third window portion (d), when the multiplier is unequal to zero.

20. Audio encoder of one of the preceding claims, wherein the analysis window (51) has a leading portion of zeros or values below a minimum threshold in the fourth window portion (c).

21. Audio encoder of one of claims 15 to 20, wherein the analysis windower (100) is configured to perform a rounding operation (13) subsequent to the multiplying (11, 14, 16) using the multiplier derived from the fourth window portion (c) or the third window portion (d), or to perform a rounding operation subsequent to a linearly combining (19) the result of the third lifting step (113) and a result derived (20, 19) from the second lifting step for the previous block.

22. Audio encoder of one of the preceding claims, wherein the time frequency converter (300) is configured to perform an integer transform operation.

23. Audio encoder of claim 22, wherein the time frequency converter (300) is configured to perform an integer DCT-IV operation.

24. Audio encoder of one of the preceding claims, wherein the analysis windower (100) and the time frequency converter (300) are configured to implement an integer MDCT (modified discrete cosine transform).

25. Audio encoder of one of the preceding claims, wherein the analysis windower (100) is configured to generate first processed time domain input data (203) for a next time-frequency block operation (311) from the current block (101) of the sequence of blocks and to generate second processed time domain input data (204) for a previous time-frequency block operation (309) from the preceding block (102) of the sequence of blocks.

26. Audio encoder of one of the preceding claims, wherein the analysis windower (100) is configured to generate the first time domain input data (103) for the current time-frequency block operation (310) and the second processed time domain input data for the current time-frequency block operation (310) so that the first time domain input data (103) and the second processed time domain input data (104) comprise a time domain aliasing component.

27. Audio decoder for decoding an encoded audio signal comprising a sequence of encoded blocks of spectral values, the audio decoder comprising:a frequency-time converter (810) for converting the sequence of encoded blocks of spectral values into a sequence of decoded blocks of aliased audio samples comprising a previous decoded block (851) of aliased audio samples and a current decoded block (852) of aliased audio samples; anda synthesis windower (600) for calculating a previous block (612) of time domain audio samples and a current block (613) of time domain audio samples using a synthesis window and performing at least two lifting steps (610) using a current first portion (852a) of aliased audio samples of the current decoded block (852) and a current second portion (852b) of aliased audio samples of the current decoded block (852) to obtain time domain audio samples of the previous block (612) of time domain audio samples and time domain audio samples of the current block (613) of time domain audio samples.

28. Audio decoder of claim 27, wherein the time domain audio samples of the previous block (612) of time domain audio samples are a second previous portion (612b) of the previous block (612) of time domain audio samples, and wherein the synthesis windower (600) is configured for calculating a first previous portion (612a) of the previous block (612) of time domain audio samples using performing at least two lifting steps (610) using a previous first portion (851a) of aliased audio samples of the previous decoded block (851) and a previous second portion (851b) of aliased audio samples of the previous decoded block (851).

29. Audio decoder of claim 27 or 28, wherein the frequency-time converter (810) is configured for generating a next decoded block (853) of aliased audio samples, andwherein the time domain audio samples of the current block (613) of time domain audio samples are a first current portion (613a) of the current block (613) of time domain audio samples, and wherein the synthesis windower (600) is configured for calculating a second current portion (613b) of the current block (613) of time domain audio samples using performing at least two lifting steps (610) using a next first portion (853a) of aliased audio samples of the next decoded block (853) and a next second portion (853b) of aliased audio samples of the next decoded block.

30. Audio decoder of any one of the claims 27 to 29, wherein the synthesis windower (600) is configured to use, as the synthesis window, a window having a first window portion (b), a second window portion (a), a third window portion (d) and a fourth window portion (c),wherein a first lifting step (641) of the at least two lifting steps (610) comprises multiplying (632) a value derived from the first current portion (852a) or the second current portion (852b) of aliased audio samples by a first multiplier derived from the third window portion (d) or the second window portion (a),wherein a second lifting step (642) of the at least two lifting steps (610) comprises multiplying (634) a result of the first lifting step (641) by a second multiplier derived from the third window portion (d) or the second window portion (a) and being different from the first multiplier, andwherein a third lifting step (643) of the at least two lifting steps (610) comprises multiplying (636) a result of the second lifting step (642) by a third multiplier derived from the thirdwindow portion (d) or the second window portion (a) and being different from the second multiplier.

31. Audio decoder of claim 30, wherein the synthesis windower (600) is configured to derive the time domain audio samples (612b) of the previous block (612) of time domain audio samples from the result of the second lifting step (642) and to derive (626, 628, 638, 639) time domain audio samples (613a) of the current block (613) of time domain audio samples from a result of the third lifting step (643).

32. Audio decoder of claim 30 or 31, wherein the synthesis windower (600) is configured to derive an input into the first lifting step (641) by a sign inversion operation (631) applied to the second current portion (852b) of aliased audio samples of the current decoded block (852), orto derive data to be combined (633) in the first lifting step (641) by combining (640) data of the first current portion (852a) of aliased audio samples of the current decoded block (852) and a second previous portion (851b) of aliased audio samples of the previous decoded block (851) multiplied (622) by a multiplier derived from the first window portion (b) and the third window portion (d).

33. Audio decoder of one of claims 30 to 32, wherein the synthesis windower (600) is configured to combine (633), in the first lifting step (641), a result of the multiplying (632) by the first multiplier and a value derived (622, 640, 624) from the first current portion (852a) of aliased audio samples of the current decoded block (852) and the second previous portion (851b) of aliased audio samples of the previous decoded block (851).

34. Audio decoder of one of claims 30 to 33, wherein a result of the second lifting step (642) is a second previous portion (612b) of the previous block (612) of time domain audio samples, andwherein the first current portion (613a) of the current block (613) of time domain audio samplesis determined using a linear combination (637, 639) of a result of the multiplication (636) in the third lifting step (643) and the second current portion (613b) of the cur-rent block (613) of time domain audio samples multiplied (638) by a multiplier derived from the fourth window portion (c) and the third window portion (d), when a value of the fourth window portion (c) is not equal to zero or a value below a threshold, oris the result of the third lifting step (643) when a value of the fourth window portion (c) is equal to zero or a value below a threshold.

35. Audio decoder of one of claims 27 to 29, wherein the synthesis windower (600) is configured to use, as the synthesis window, an asymmetric window having a leading portion (c) of zeros or values below a minimum threshold,wherein the synthesis windower (600) is configuredto perform a first procedure for processing using the previous second portion (851b) of aliased audio samples of the previous decoded block (851) and the current first portion (852a) of aliased audio samples of the current decoded block (852) to obtain a first portion (612a) of the previous block (612) of time domain audio samples and the second portion (612b) of the current block (613) of time domain audio samples, wherein the first procedure for processing comprises at least two lifting steps and does not involve the leading portion (c), andto perform a second procedure for processing using the current first portion (852a) of aliased audio samples of the current decoded block (852) and the current second portion (852b) of aliased audio samples of the current decoded block (852) to obtain the second portion (612b) of the previous block (612) of time domain audio samples and the first portion (613a) of the current block (613) of time domain audio samples, wherein the second procedure for processing comprises the at least two lifting steps (610) and involves the leading portion (c),wherein the first procedure for processing is different from the second procedure for processing.

36. Audio decoder of claim 35,wherein a first lifting step (641) of the at least two lifting steps (610) comprising multiplying a value derived from the first current portion (852a) or the second current portion (852b) ofaliased audio samples by a first multiplier (632) derived from the third window portion (d) or the second window portion (a),wherein a second lifting step (642) of the at least two lifting steps (610) comprises multiplying (634) a result of the first lifting step (641) by a second multiplier derived from the third window portion (d) or the second window portion (a) and being different from the first multiplier, andwherein a third lifting step (643) of the at least two lifting steps (610) comprises multiplying (636) a result of the second lifting step (642) by a third multiplier derived from the third window portion (d) or the second window portion (a) and being different from the second multiplier.

37. Audio decoder of claim 36, wherein the synthesis windower (600) is configured to determine an input into the first lifting step (641) by a sign inversion operation (631) of the current second portion (852b) of aliased audio samples of the current decoded block (852), and to linearly combine (633, 624) a result of the multiplication (632) in the first lifting step (641) and a value of the current first portion (852a) of aliased audio samples of the current decoded block (852) and the previous second portion (851b) of aliased audio samples of the previous decoded block (851) multiplied by a multiplier derived from the first window portion (b) and the third window portion (d), andwherein an input into the third lifting step (643) is the second previous portion (612b) of the previous block (612) of time domain audio samples, and wherein an output of the third lifting step (643) is the first current portion (613a) of the current block (613) of time domain audio samples.

38. Audio decoder of claim 35, wherein the synthesis windower (600) is configured to determine an input into the first lifting step (641) by a sign inversion operation (631) of the current first portion (852a) of aliased audio samples of the current decoded block (852), and to linearly combine (633) a result of the multiplication (632) in the first lifting step (641) and a value of the current second portion (852b) of aliased audio samples of the current decoded block (852), andwherein an input into the third lifting step (643) is the first current portion (613a) of the current block (613) of time domain audio samples, and wherein the second previous portion(612b) of the previous block (612) of time domain audio samples is calculated by linearly combining (637, 628) a result of the multiplication (636) by the multiplier in the third lifting step (643), and the first previous portion (612a) of the previous block (612) of time domain audio samples multiplied (626) by a multiplier derived from the first window portion (b) and the second window portion (a).

39. Audio decoder of any one of claims 27 to 36, wherein the synthesis windower (600) is configured to perform, in each lifting step (641, 642, 643) of the at least two lifting steps (610), a multiplication operation (632, 634, 636), a linear combination operation (633, 635, 637) involving a result of the multiplication operation (632, 634, 636), and a rounding operation.

40. A method for encoding an audio signal comprising a sequence of blocks of audio samples, the method comprising:generating, from a current block (101) of the sequence of blocks, second processed time domain input data for a current time-frequency block operation (310) and generating, from a preceding block (102) of the sequence of blocks of audio samples, first processed time domain input data (103) for the current time-frequency block operation (310) using an analysis window; andperforming the current time-frequency block operation (310) using the first processed time domain input data (103) and the second processed time domain input data (104),wherein the generating comprises performing at least two lifting steps (110) using the current block (101) and the preceding block (102) to obtain the first processed time domain input data (103)and the second processed time domain input data (104).

41. A method for decoding an encoded audio signal comprising a sequence of encoded blocks of spectral values, the method comprising:converting the sequence of encoded blocks of spectral values into a sequence of decoded blocks of aliased audio samples comprising a previous decoded block (851 ) of aliased audio samples and a current decoded block (852) of aliased audio samples; andcalculating a previous block (612) of time domain audio samples and a current block (613) of time domain audio samples using a synthesis window and performing at least two lifting steps (610) using a current first portion (852a) of aliased audio samples of the current decoded block (852) and a current second portion (852b) of aliased audio samples of the current decoded block (852) to obtain time domain audio samples of the previous block (612) of time domain audio samples and time domain audio samples of the current block (613) of time domain audio samples.

42. Computer program for performing, when running on a computer or a processor, the method of claim 40 or claim 41.