Processors, methods and computer programs for processing an audio signal using truncation analysis or overlapping synthesis windows
By using truncation of overlapping portions and fading of asymmetric transform windows in audio encoding, the problem of encoding efficiency and frequency separation in low-latency applications is solved, achieving efficient encoding and flexible size switching, reducing memory requirements and encoding latency.
Patent Information
- Application Number
- CN202110621690.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2014-07-28
- Filing Date
- 2015-07-24
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2035-09-21
AI Technical Summary
Existing audio coding techniques have the problem of requiring an additional advance encoder for the transition window in low-latency applications, which leads to reduced coding efficiency. Furthermore, low overlap reduces frequency separation, affecting the coding efficiency of tone signals.
By using the truncated overlapping portion of the asymmetric transformation window, and combining it with gradual increase or decrease in intensity, flexible size switching is achieved, avoiding increased encoder latency and maintaining perfect reconstruction characteristics.
It achieves efficient encoding of static signals with low latency, while supporting flexible size switching, reducing memory requirements, and avoiding additional encoding latency and artifacts.
Smart Images

Figure CN113990333B_ABST
Abstract
Description
[0001] This application is a divisional application of patent application No. 201580052557.2, filed on July 24, 2015, entitled "Processor, method and computer program for processing audio signals using overlapping portions of truncated analysis or synthesis windows". Technical Field
[0002] This invention relates to audio processing, and more particularly to audio processing utilizing overlapping windows on the analysis or synthesis side of an audio signal processing chain. Background Technology
[0003] Most contemporary frequency-domain audio encoders based on overlap transforms such as MDCT use some kind of transform size switching to adapt the time and frequency resolution to the current signal characteristics. Different methods have been developed to handle the switching between available transform sizes and their corresponding window shapes. Some methods insert transition windows between frames encoded using different transform lengths, such as MPEG-4(HE-)AAC[1]. The disadvantage of transition windows is that they require additional advance encoders, making them unsuitable for low-latency applications. Other methods use a fixed low window overlap for all transform sizes to avoid the need for transition windows, such as CELT[2]. However, low overlap reduces frequency separation, which degrades the coding efficiency of tone signals. An improved instantaneous switching method for applying different transforms and overlap lengths for symmetrical overlap is given in [3]. [6] shows an example of instantaneous switching between different transform lengths using a low-overlap sinusoidal window.
[0004] On the other hand, low-latency audio encoders often use asymmetric MDCT windows because they offer a good trade-off between latency and frequency separation. On the encoder side, shortened overlap with subsequent frames is used to reduce lead time, while longer overlap with previous frames is used to improve frequency separation. On the decoder side, a mirrored version of the encoder window is used. Figures 8A to 8C The diagram illustrates asymmetric analysis and synthesis windowing. Summary of the Invention
[0005] The objective of this invention is to provide an improved concept for processing audio signals.
[0006] This objective is achieved by a processor for processing audio signals, a method for processing audio signals, or a computer program as described in this invention.
[0007] This invention is based on the discovery that asymmetric transform windows are used to achieve good coding efficiency for static signals with reduced latency. Furthermore, to provide a flexible transform size switching strategy, the analysis or synthesis window used for transitions from one block size to different block sizes allows the use of truncated overlapping portions of the asymmetric window as window edges or as the basis for window edges without disrupting perfect reconstruction characteristics.
[0008] Therefore, a truncated portion of an asymmetric window, such as a long overlapping portion, can be used within a transition window. However, to comply with the necessary length of the transition window, this overlapping portion, or the edge or flank of the asymmetric window, is truncated to a length permissible within the constraints of the transition window. This does not violate the perfect reconstruction property. Therefore, this truncation of the overlapping portion of an asymmetric window allows for short and instantaneous switching of the transition window without any harm from the perfect reconstruction side.
[0009] In another embodiment, it is preferable not to use the truncated overlapping portion directly, but to smooth or fade in or fade out the discontinuity caused by truncating the overlapping portion of the asymmetric window under consideration.
[0010] Other embodiments rely on highly memory-efficient implementations because only a minimal amount of window edges or window flankings are stored in memory, and even a single window edge is used for fading or fading. These efficient memory implementations also construct descending window edges from stored ascending window edges or vice versa via logical or arithmetic operations, such that only a single edge, such as an ascending or descending edge, needs to be stored, while another can be derived on-the-fly.
[0011] The embodiments include a processor or method for processing audio signals. The processor has an analyzer for deriving window control signals from the audio signals, the window control signals indicating a change from a first asymmetric window to a second window during the analysis and processing of the audio signals. Optionally or additionally, the window control signals indicate a change from a third window to a fourth asymmetric window in the case of (e.g.) synthesized signal processing. Specifically, for the analysis side, the second window is shorter than the first window, or for the synthesis side, the third window is shorter than the fourth window.
[0012] The processor also includes a window builder for constructing a second or third window using a first overlapping portion of a first asymmetric window or a second overlapping portion of a fourth asymmetric window. Specifically, the window builder is used to determine the first overlapping portion of the second window using a truncated first overlapping portion of the first asymmetric window. Optionally or additionally, the window builder is used to calculate the second overlapping portion of the third window using a truncated second overlapping portion of the fourth asymmetric window.
[0013] Finally, the processor has a windower for applying the first and second windows, particularly for analysis processing, or for applying the third and fourth windows in the case of synthesis processing, to obtain the windowed audio signal portion.
[0014] As is well known, analysis windowing occurs precisely at the beginning of the audio encoder, where the stream of audio signal samples, both discrete and continuous in time, is windowed through a sequence of windows, and, for example, a switch from a long window to a short window is performed when the analyzer actually detects a transient in the audio signal. Then, after windowing, a transformation from the time domain to the frequency domain is performed, and in a preferred embodiment, this transformation is performed using a modified Discrete Cosine Transform (MDCT). MDCT uses a folding operation and a subsequent DCT IV transform to generate a set of N frequency domain samples from a set of 2N time-domain samples, and these frequency domain values are subsequently processed further.
[0015] On the synthesis side, the analyzer does not perform actual signal analysis of the audio signal. Instead, it derives a window control signal from the side information of the encoded audio signal. This window control signal indicates a window sequence determined by the encoder-side analyzer and transmitted to the decoder-side processor for implementation. Synthesis windowing is performed precisely at the end of the decoder-side processing (i.e., after frequency-time conversion and expansion operations). This operation generates a set of 2N time-domain values from a set of N spectral values. These 2N time-domain values are then windowed, and after synthesis windowing using the invented truncated window edges, overlap addition is performed as needed. Preferably, 50% overlap is applied to the positioning of the analysis window and to the actual overlap addition after synthesis windowing using the synthesis window.
[0016] Therefore, the advantages of this invention are that it relies on an asymmetric transform window, which achieves good coding efficiency for static signals with reduced latency. On the other hand, this invention allows for flexible transform size switching strategies for efficient coding of transient signals without increasing the overall encoder latency. Therefore, this invention relies on a combination of a flexible transform / overlap length switching concept for the symmetrical overlap range of short windows and an asymmetric window for long transforms. The short window can be fully symmetrical, with the same symmetrical overlap on both sides; or it can be asymmetric, having a first symmetrical overlap with the previous window and a second symmetrical overlap different from the subsequent window.
[0017] A particular benefit of this invention is that, by using truncated overlapping portions from asymmetrical long windows, no encoder delay or prior encoder is added, which is attributed to the fact that any transition from windows with different block sizes does not require the insertion of any additional long transition windows. Attached Figure Description
[0018] Preferred embodiments of the invention will then be described with reference to the accompanying drawings, in which:
[0019] Figure 1A This illustrates aspects used for encoding in the context of truncated overlapping portions;
[0020] Figure 1B A device for decoding in an environment using truncated overlapping portions is shown;
[0021] Figure 1C A more detailed explanation of the synthesis side is shown;
[0022] Figure 1D An implementation of a mobile device having an encoder, a decoder, and a memory is shown;
[0023] Figure 2 Preferred embodiments of the invention are shown for use on the analysis side (case A) or the synthesis side (case B);
[0024] Figure 3 This illustrates a preferred implementation of the window builder;
[0025] Figure 4 Show Figure 3 A schematic illustration of the contents of the memory;
[0026] Figure 5 The preferred procedure for determining the first and second overlapping portions of the analysis transition window is shown;
[0027] Figure 6 The preferred procedure for determining the synthesis transition window is shown;
[0028] Figure 7This illustrates another process using a truncation shorter than the maximum length;
[0029] Figure 8A The asymmetric analysis window is displayed;
[0030] Figure 8B Showing the asymmetric synthesis window;
[0031] Figure 8C Shows an asymmetric analysis window with a folded-in portion;
[0032] Figure 9A The symmetry analysis / synthesis window is displayed;
[0033] Figure 9B Another analysis / synthesis window is shown, featuring symmetrical but distinct overlapping portions;
[0034] Figure 9C Another window is shown, containing symmetrical overlapping portions of different lengths;
[0035] Figure 10A The analysis transition window is shown, such as a second window with a truncated first overlapping portion;
[0036] Figure 10B A second window is shown with a truncated and progressively stronger first overlapping portion;
[0037] Figure 10C This shows the environment in which the corresponding overlapping portions of the previous and subsequent windows are displayed. Figure 10A The second window;
[0038] Figure 10D Show Figure 10C However, the case has a gradually increasing first overlapping portion;
[0039] Figure 11A The different progressively stronger transition windows are shown for the analysis side;
[0040] Figure 11B Another analysis transition window shows the truncation that is more than necessary and the corresponding other modifications;
[0041] Figure 12A , Figure 12B An analysis transition window is shown for transitioning from small block sizes to large block sizes;
[0042] Figure 13A , Figure 13B Shows a composition transition window from large block size to small block size;
[0043] Figure 13C A composite transition window with a truncated second overlapping portion is shown, as in the third window;
[0044] Figure 13D Show Figure 13C But the window did not gradually weaken;
[0045] Figure 14A Show a sequence of analysis windows;
[0046] Figure 14B The corresponding synthesis window sequence is shown;
[0047] Figure 15A Displays a sequence of analysis windows;
[0048] Figure 15B Showing with Figure 15A The matching corresponding synthesis window sequence; and
[0049] Figure 16 An example is shown that uses only symmetrical overlap to instantaneously switch between different transform lengths. Detailed Implementation
[0050] The embodiments involve the concept of instantaneously switching from a long MDCT transform using an asymmetric window to a shorter transform utilizing symmetrically overlapping windows without inserting intermediate frames.
[0051] When constructing the window shape for the first frame with a shorter transform length, two limitations become problematic:
[0052] • The overlapping portion on the left side of the window needs to match the shape of the previous asymmetrical window in some way to achieve a perfect or near-perfect reconstruction.
[0053] • The length of the overlapping portion is limited due to the shorter transformation length.
[0054] The overlapping portion on the left side of a long asymmetric window will satisfy the first condition, but it is too long for shorter transformations, which are typically half or less the size of the long transformation. Therefore, a shorter window shape needs to be chosen.
[0055] In this paper, it is assumed that the asymmetric analysis and synthesis windows are symmetric to each other, i.e., the synthesis window is a mirror image of the analysis window. In this case, window w must satisfy the following equation for perfect reconstruction:
[0056] w n w 2L-1-n +w L+n w L-1-n =1, n=0...L-1,
[0057] Where L represents the transform length and n represents the sample index.
[0058] To reduce latency, the right-side overlap of the asymmetric long analysis window has been shortened, meaning that all rightmost window samples have a value of zero. From the above equation, it can be seen that if the window sample w... n If the value is zero, then any value can be chosen for the symmetric sample w. 2L-1-n If the rightmost m samples of the window are zero, then the leftmost m samples can also be replaced with zero without losing perfect reconstruction. That is, the left overlapping part can be truncated to the length of the right overlapping part.
[0059] If the truncated overlap length is short enough, thus preserving sufficient overlap length for the right portion of the first short transform window, this provides a solution for the shape of the first short transform window that satisfies the above two conditions. The left end of the overlapping portion of the asymmetric window is truncated and combined with the symmetrical overlap used for subsequent short windows. Figure 10C The image shows an example of the resulting window shape.
[0060] Using a truncated version of the existing long window overlap avoids the need to design entirely new window shapes for the transition. Since no additional window table is required for the transition, it also reduces the ROM / RAM requirements of the hardware on which the algorithms are implemented.
[0061] For the synthesizing windowing on the decoder side, a symmetric approach is used. Asymmetric synthesizing windows have a long overlap on the right side. Therefore, before switching back to the long transform utilizing the asymmetric window, a truncated version of the right-side overlap is used for the right-side window portion of the final short transform, as shown below. Figure 13D shown in.
[0062] As shown above, if the spectral data is not modified between the analysis and synthesis transforms, the use of a truncated version of the long window allows for perfect reconstruction of the time-domain signal. However, in an audio encoder, quantization is applied to the spectral data. In the synthesis transform, the resulting quantization noise is shaped by the synthesis window. Because the truncation of the long window introduces a step size into the window shape, discontinuities can appear in the quantization noise of the output signal. These discontinuities can become audible, such as ticking artifacts.
[0063] To avoid this artifact, the diminuendo can be applied to the end of the truncated window to smooth the transition to zero. Diminuendo can be achieved in several different ways; for example, it can be linear, sinusoidal, or cosine shaped. The diminuendo length should be chosen large enough that no audible artifact appears. The maximum usable length for diminuendo without sacrificing perfect reconstruction is determined by the short transform length and the length of window overlap. In some cases, the usable length may be zero or too small to suppress artifacts. In such cases, it is advantageous to extend the diminuendo length and accept small reconstruction errors, as these errors are often less disruptive than discontinuities in quantization noise. Careful tuning of the diminuendo length allows for trading reconstruction errors for quantization error discontinuities to achieve the best audio quality.
[0064] Figure 10D This illustration shows an example of overlapping truncated sections where the truncated ends of the window are multiplied by a sine function, resulting in a gradual weakening of the truncated sections.
[0065] Subsequently, the discussion Figure 2 This is to describe a processor for processing audio signals according to an embodiment of the present invention. An audio signal is provided at input 200 to analyzer 202. The analyzer is used to derive a window control signal 204 from the audio signal at input 200, wherein the window control signal indicates a change from a first asymmetric window to a second window, as shown, for example, the first window is shown as... Figure 14A or Figure 15A The number is 1400 or 1500, while the second window is in this embodiment. Figure 14A Window 1402 or Figure 15A Window 1502 in the middle. Optionally, window control signal 204 again and regarding the operation of the composition side, exemplary indication from, such as... Figure 14B 1450 or Figure 15B The third window in 1550 to such Figure 14B 1452 or Figure 15B The fourth window in 1552 is changed. As shown, a second window such as 1402 is shorter than the first window 1400, or a third window such as 1450 or 1550 is shorter than a fourth window such as 1452 or 1552.
[0066] The processor also includes a window builder 206 for constructing a second window using the first overlapping portion of the first asymmetric window, wherein this window builder is for the analysis side (i.e. Figure 2 Case A) is used to determine the first overlapping portion of the second window using the truncated first overlapping portion of the first asymmetric window. The window builder is used to calculate the second overlapping portion of a third window, such as 1450 or 1550, using the truncated second overlapping portion of the fourth window (i.e., the asymmetric window).
[0067] Such windows, such as a second window on the analysis side or a third window on the synthesis side, and of course, previous and / or subsequent windows, are transferred from window builder 206 to windower 208. Windower 208 applies the first and second windows or the third and fourth windows to the audio signal to obtain a portion of the signal at output 210.
[0068] Case A involves the analysis side. Here, the input is an audio signal, and the actual analyzer 202 performs actual audio signal analysis such as transient analysis. The first and second windows are analysis windows, and the windowed signal undergoes encoder-side processing, as will be discussed later. Figure 1A This will be discussed.
[0069] Therefore, it is either ignored or does not actually exist in case A. Figure 2 The decoder processor 214 shown is illustrated.
[0070] In case B, when the processing of the present invention is applied on the synthesis side, the input is an encoded audio signal, such as a bitstream having audio signal information and side information, and the analyzer 202 performs bitstream analysis or bitstream or encoded signal parsing to retrieve a window control signal indicating the window sequence applied by the encoder from the encoded audio signal, from which the window sequence to be applied by the decoder can be derived.
[0071] Then, the third and fourth windows are composite windows, and the windowed signals undergo overlapping and addition processing for the purpose of audio signal synthesis, such as... Figure 1B or Figure 1C As shown in the image.
[0072] Figure 1AAn apparatus for encoding an audio signal 100 is shown. The apparatus includes a controllable windower 102 for windowing the audio signal 100 to provide a sequence of blocks of windowed samples at 103. The encoder also includes a converter 104 for converting the sequence 103 of windowed sample blocks into a spectral representation of a sequence of frames including spectral values indicated at 105. Furthermore, a transient position detector 106 is provided. This detector is used to identify the position of a transient within a transient advance region of a frame. Additionally, a controller 108 for controlling the controllable windower is used to apply a specific window with a specified overlap length to the audio signal 100 in response to the identified position of the transient, indicated at 107. Furthermore, in an embodiment, the controller 108 is used to provide window information 112 not only to the controllable windower 102 but also to an output interface 114, which provides the encoded audio signal 115 at its output. A spectral representation 105 of the sequence of frames, including spectral values, is input to an encoding processor 110, which can perform any kind of encoding operation, such as prediction, temporal noise shaping, quantization, preferably relating to a psychoacoustic model or at least psychoacoustic principles, or may include redundancy reduction encoding operations such as Huffman coding or arithmetic coding. The output of the encoding processor 110 is then forwarded to an output interface 114, which ultimately provides an encoded audio signal with some window information 112 associated with each encoded frame.
[0073] Controller 108 is used to select a specific window from a group of at least three windows. The group includes a first window with a first overlap length, a second window with a second overlap length, and a third window with a third overlap length or no overlap. The first overlap length is greater than the second overlap length, and the second overlap length is greater than zero overlap. A specific window is selected by controllable windowing 102 based on the transient position, such that one of two temporally adjacent overlapping windows has a first window coefficient at the transient position, and the other of the two temporally adjacent overlapping windows has a second window coefficient at the transient position, and the second window coefficient is at least 9 times larger than the first coefficient. This ensures that the transient is substantially suppressed by the first window with the first (small) coefficient, and the transient is completely unaffected by the second window with the second window coefficient. Preferably, the first window coefficient is equal to 1 within a tolerance of + / - 5%, such as between 0.95 and 1.05, and the second window coefficient is preferably equal to 0 or at least less than 0.05. The window coefficients can also be negative, and in this case, the relationship and number of window coefficients are related to their absolute values.
[0074] In addition, optionally or additionally, controller 108 includes, as in Figure 2The functionality of the window builder 206, as discussed in the context of [the specific application], will be described later. Furthermore, a transient position detector 106 can be implemented and, for case A (i.e., for the application of the window on the analysis side), can have [specific functionality]. Figure 2 The functionality of the analyzer 202.
[0075] Furthermore, blocks 104 and 110 show the parts to be disposed of by and Figure 1A The windowed audio signal 103 in the image corresponds to the windowed audio signal 210, which undergoes processing. Furthermore, although in Figure 2 The instructions are not specific, but Window Builder 206 will... Figure 1A The window information 112 is provided to the output interface 114, and then (i.e., for case B) the analyzer 202 operating on the decoder side can retrieve the window information 112 from the encoded signal.
[0076] As is known in MDCT processing techniques, generally, a folding-introduction transform is used. This folding-introduction transform can be separated into a folding step and a subsequent transform step using some non-folding-introduction transform. In the example, a segment is folded into another segment, and then the result of the folding operation is transformed into the spectral domain using a transform such as the DCT transform. In the case of MDCT, the DCTIV transform is applied.
[0077] The MDCT example is then used, but other aliasing-introduced transforms can be handled in a similar and analogous manner. As an aliasing transform, the MDCT differs slightly from other Fourier correlation transforms in that it has half the output of the input (rather than the same number). Specifically, it is a linear function F:R 2N →R N (Where R represents the set of real numbers). Transform 2N real numbers x0…x2N-1 into N real numbers X0…XN-1 using the following formula:
[0078]
[0079] (The standardization coefficients preceding this transformation (in units) are arbitrary and vary between treatments. The following only restricts the standardized product of MDCT and IMDCT.)
[0080] Inverse MDCT is called IMDCT. Because there are different numbers of inputs and outputs, MDCT should not seem reversible at first glance. However, perfect reversibility is achieved by adding the overlapping IMDCTs of temporally adjacent overlapping blocks, thus eliminating errors and recovering the original data; this technique is called Temporal Alias Cancellation (TDAC).
[0081] According to the following formula, IMDCT transforms N real numbers X0……XN-1 into 2N real numbers y0……y2N-1:
[0082]
[0083] (For DCT-IV, the orthogonal transform is similar, and the inverse has the same form as the forward transform.)
[0084] In the case of a windowed MDCT with common window normalization (see below), the normalization factor in front of the IMDCT should be multiplied by 2 (i.e., become 2 / N).
[0085] In typical signal compression applications, the transform characteristics are further improved by multiplying the window functions wn (n = 0…2N-1) of xn and yn in the MDCT and IMDCT formulas above. This avoids discontinuities at the boundaries of n = 0 and 2N by making the function smoothly return to zero at those points. (That is, the data is windowed before MDCT and after IMDCT.) In principle, x and y can have different window functions, and the window function can also change from one block to the next (especially when data blocks of different sizes are combined), but for simplicity, consider the common case of using the same window function for blocks of equal size.
[0086] For a symmetric window wn = w²N⁻¹⁻ⁿ, the transformation remains invertible (i.e., the TDAC works) as long as w satisfies the following Princen-Bradley condition:
[0087]
[0088] Various window functions are used. A window, known as a modulation-interleaved transform, is generated by the following formula and is used for MP3 and MPEG-2 AAC:
[0089]
[0090] And the following formula applies to Vorbis:
[0091]
[0092] AC-3 uses the Kaiser-Bessel Export (KBD) window, and MPEG-4 AAC can also use the KBD window.
[0093] It should be noted that the window applied to MDCT differs from the window used for some other types of signal analysis because it must satisfy the Princen-Bradley condition. One reason for this difference is that the MDCT window is applied twice, for both MDCT (analysis) and IMDCT (synthesis).
[0094] As can be seen from the definition, for an even number N, MDCT is essentially equivalent to DCT-IV, where the input is shifted by N / 2 and two N blocks of data are transformed simultaneously. By examining this equivalence more closely, important characteristics similar to TDAC can be easily derived.
[0095] To define the precise relationship with DCT-IV, it must be recognized that DCT-IV corresponds to alternating even / odd boundary conditions: even at its left boundary (approximately n = -1 / 2), odd at its right boundary (approximately n = N - 1 / 2), and so on (rather than periodic boundaries with respect to DFT). This derives from the following identity:
[0096] as well as
[0097]
[0098] Therefore, if the input is an array x of length N, one can imagine extending this array to (x, -xR, -x, xR, ...) etc., where xR represents x in reverse order.
[0099] Consider an MDCT with 2N inputs and N outputs, where the inputs are divided into four blocks (a, b, c, d) each of size N / 2. If these blocks are shifted to the right by N / 2 (from the +N / 2 term in the MDCT definition), then (b, c, d) extends beyond the ends of the N DCT-IV inputs, and therefore must be "folded" back according to the boundary conditions described above.
[0100] Therefore, the MDCT with 2N inputs (a, b, c, d) is exactly equivalent to the DCT-IV with N inputs (-cR-d, a-bR), where R denotes the inverse as described above.
[0101] (In this way, any algorithm used to compute DCT-IV can be intuitively applied to MDCT.)
[0102] Similarly, the IMDCT formula above is exactly half of the DCT-IV (which is its inverse), where the output is extended (via boundary conditions) to a length of 2N and shifted back N / 2 to the left. From the above, the inverse DCT-IV will simply recover the input (-cR-d, a-bR). When this is extended and shifted via boundary conditions, we obtain:
[0103] IMDCT(MDCT(a,b,c,d))=(a-bR,b-aR,c+dR,d+cR) / 2.
[0104] Since b-aR = -(a-bR)R, and the same applies to the last two terms, half of the IMDCT output is therefore redundant. This result can be written in a simpler way if the input is grouped into larger blocks A and B of size N, where A = (a, b) and B = (c, d):
[0105] IMDCT(MDCT(A,B))=(A-AR,B+BR) / 2
[0106] Now we can understand how TDAC works. Suppose we compute the MDCT of a 2N block (B, C) with 50% overlap in temporal proximity. Similar to the above, the IMDCT will then produce: (B - BR, C + CR) / 2. When this is added to the IMDCT result from the previous half-overlapping block, the inverse term is eliminated and we simply obtain B, thus restoring the original data.
[0107] The origin of the term "time-domain aliasing cancellation" is now clear. The use of input data extending beyond the boundaries of the logic DCT-IV causes the data to aliased in the same way as aliasing frequencies beyond the Nyquist frequency to lower frequencies, except that this aliasing occurs in the time domain rather than the frequency domain: the contributions of a and bR to the MDCT of (a, b, c, d) or equivalently to the result of IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR) / 2 cannot be distinguished. Combining c-dR, etc., precisely has the correct sign for combination to cancel when they are added.
[0108] For odd numbers N (which are rarely used in practice), N / 2 is not an integer, so MDCT is not simply a shifting transposition of DCT-IV. In this case, the samples are shifted by half an extra bit, meaning that MDCT / IMDCT becomes equivalent to DCT-III / II, and the analysis is similar to that above.
[0109] As seen above, the MDCT with 2N inputs (a, b, c, d) is equivalent to the DCT-IV with N inputs (-CR-d, a-bR). The DCT-IV is designed for cases where the function at the right boundary is odd, and therefore the values near the right boundary are close to 0. If the input signal is smooth, then the rightmost components of a and bR are continuous in the input sequence (a, b, c, d), and therefore their differences are small. Consider the middle of the interval: if the above expression is rewritten as (-cR-d, a-bR) = (-d, a) - (b, c)R, then the second term (b, c)R provides a smooth transition in the middle. However, in the first term (-d, a), there is a potential discontinuity at the junction of the right end of -d and the left end of a. This is why a window function is used that reduces the components of the input sequence (a, b, c, d) near the boundary toward 0.
[0110] The TDAC property has been demonstrated for ordinary MDCT above, showing how the original data can be restored by adding the IMDCTs of temporally neighboring blocks in its half-overlap. The derivation of this inverse property for windowed MDCT is only slightly more complex.
[0111] Consider two overlapping continuous sets (A, B) and (B, C) for 2N inputs to blocks A, B, and C of size N. Recalling the previous discussion, when (A, B) and (B, C) are processed by MDCT and IMDCT and then added in their half-overlap, we obtain (B+B) R ) / 2+(BB R ) / 2 = B(original data).
[0112] Now, assume that both the MDCT input and IMDCT output are multiplied by a window function of length 2N. As mentioned above, assume a symmetric window function, and the function therefore has (W, W... R The Princen-Bradley condition can then be written in the form of ), where W is a vector of length N and R represents the reverse as previously described. The process involves squaring and adding elements one by one.
[0113] Therefore, instead of performing MDCT on (A, B), we can now process (WA, W) as follows. R B) Perform MDCT processing, where all multiplications are performed element-wise. When it is processed by IMDCT and multiplied again by the (element-wise) window function, the last half of N becomes:
[0114]
[0115] (Note that since IMDCT standardization differs by a factor of 2 in the windowed case, it is no longer multiplied by 1 / 2.)
[0116] Similarly, windowed MDCT and IMDCT for (B, C) are generated in the first half N:
[0117] W·(WB-W R B R ) = W 2 B-WW R B R
[0118] When the two halves are added together, the original data is restored.
[0119] The above discussion of MDCT describes the same analysis / synthesis window. For asymmetric windows, the analysis / synthesis windows differ, but are preferably symmetric to each other; in this case, the Princen-Bradley condition changes to a more general equation:
[0120] w n w 2L-1-n +w L+n w L-1-n =1, n=0...L-1
[0121] Figure 1B The decoder implementation is shown, which has: an input 150 for the encoded signal, an input interface 152 providing an encoded audio signal 154 and side information to an analyzer 202. The analyzer 202 extracts window information 160 from the encoded signal 150 and provides this window information to a window builder 206. Furthermore, the encoded audio signal 154 is input to a corresponding... Figure 2 The decoder processor 214 in the decoder or decoder processor 156, and the window builder 206 provides a window to the controllable converter 158, which is used to perform IMDCT or IMDST or any other transformation that is the inverse of the positive transform introduced by aliasing.
[0122] Figure 1C A preferred implementation of the decoder side of the controllable converter 158 is shown. Specifically, the controllable converter 158 includes a frequency-to-time converter 170, a subsequently connected synthesis windower 172, and a final overlap adder 174. In particular, the frequency-to-time converter performs transformations such as DCT-IV transforms and subsequent folding operations, such that while the input to the frequency-to-time converter is, for example, N spectral values, the output of the frequency-to-time converter 170 has 2N samples for a first or long window. On the other hand, when the input to the frequency-to-time converter is N / 8 spectral values, the output for the MDCT operation is, for example, N / 4 time-domain values.
[0123] The output of the frequency-to-time converter 170 is then input to a synthesis windower that applies a synthesis window that is preferably symmetrical with respect to the encoder-side window. Thus, each sample is windowed by two windows before performing the overlap addition, such that the resulting “total windowing” is the product of the analysis window coefficients and the synthesis window coefficients, thereby satisfying the Princen-Bradley condition as discussed earlier.
[0124] Finally, the overlap adder 174 performs the corresponding correct overlap addition so that the decoded audio signal is finally obtained at the output 175.
[0125] Figure 1DAnother embodiment of the invention implemented using a mobile device is shown, wherein the mobile device includes an encoder 195 on one side and a decoder 196 on the other. Furthermore, according to a preferred embodiment of the invention, since the windows used in the encoder 195 and the windows used in the decoder 196 are symmetrical to each other, the encoder 105 and the decoder 106 retrieve the same window information from a single memory 197. Therefore, the decoder has a read-only memory 197 or a random access memory, or any general memory 197 containing only window sequences or a single set of windows for use in both the encoder and decoder. This is advantageous because different window coefficients for different windows do not necessarily need to be stored twice, one set for the encoder and one set for the decoder. Instead, due to the fact that the same windows and window sequences are used in both the encoder and decoder according to the invention, only a single set of window coefficients needs to be stored. Therefore, Figure 1D The memory of the mobile device of the invention shown in the figure is reduced substantially with respect to the following different concepts: the encoder and decoder have different windows, or perform a post-processing that has a different processing than windowed operation.
[0126] Subsequently, referring to Figure 8A The preferred window is described. It has a first overlapping portion 800, a second overlapping portion 802, another portion 804 with high values, and another portion 806 with low values. The high value of portion 804 is 1.0 or at least greater than 0.95, and the low value in the low portion 806 is equal to 0.0 and preferably less than 0.1. In an embodiment, the length of the asymmetric analysis window is 40 ms, resulting in a block size of 20 ms due to the fact that 50% overlap is preferably used for addition. However, other overlap ratios, etc., may also be used.
[0127] In this particular implementation, the first overlapping portion 800 is larger than the second overlapping portion 802, which allows for low-latency implementation, and furthermore, given that the lower portion 806 precedes the second overlapping portion, Figure 8A The asymmetric analysis window shown allows for low-latency filtering due to the zero portion and the short second overlap portion 802, and additionally provides fairly good separation due to the long first overlap portion 800. However, this long overlap does not cause any additional latency due to the fact that the long overlap portion is located in the first half of the asymmetric analysis window. In a particular embodiment, the first overlap portion 800 is equal to 14.375 ms, the second non-overlapping portion or high portion is equal to 11.25 ms, the third portion or second overlap portion 802 is equal to 8.75 ms, and the final fourth portion or low portion is equal to 5.625 ms.
[0128] Figure 8BThe corresponding asymmetric synthesis window is shown, which at this time has a zero or low portion as a first portion 810, and then has a first overlapping portion 812, a second overlapping portion 814, and a constant or high portion 816 indicated between the first overlapping portion 812 and the second overlapping portion 814.
[0129] The exemplary lengths of the corresponding portions are indicated, but it is generally preferred that the first overlapping portion 812 is shorter than the second overlapping portion 814, and it is also preferred that the length of the constant or high portion 816 is between the lengths of the first overlapping portion and the second overlapping portion, and it is also preferred that the length of the first portion 810 or the zero portion is less than the length of the first overlapping portion 812.
[0130] like Figure 8A As shown, preferably, the length of the first overlapping portion 800 is greater than the length of the second overlapping portion 802, and the length of the high portion 804 is between the length of the second overlapping portion 802 and the length of the first overlapping portion 800, and the length of the fourth portion 806 is less than the length of the second overlapping portion 802.
[0131] Figure 8A and Figure 8B Furthermore, it is shown that when only long blocks are used and Figure 2 When the window control signal 204 does not indicate any switching, this situation overlaps with the previous asymmetric analysis window 807 and the subsequent analysis window 808.
[0132] Similarly, Figure 8B The corresponding synthesis sequence with the previous synthesis window 819 and the subsequent synthesis window 820 is shown.
[0133] also, Figure 8C Show Figure 8A The same analysis window, but now with folded portions 821, 822 that fold in during the fold-in operation on the encoder side or "unfold" during the fold-out operation on the decoder side. These folds 821, 822 can be considered to occur along fold lines 823 and 824, and in Figure 8A , Figure 8B These lines are shown in the image, and it appears that the folded lines are not directly connected to... Figure 8A and Figure 8B The intersection points of the windows in the diagram match. This is because... Figure 8A Analysis window or Figure 8B The asymmetric features of the synthesis window in the model.
[0134] Figure 9A The diagram illustrates a symmetric analysis / synthesis window for a 10ms block length with a 3.75ms overlap. The symmetric analysis window includes a first low or zero portion 900, a first overlap portion 902, a second overlap portion 904, a high or constant portion 906, and another low or zero portion 908. Furthermore, Figure 9A Folding lines 910 and 911 are shown, where the folding operation required for the aliasing-introduced transform, such as MDCT or MDST, is performed. Specifically, a fold-in operation is performed with respect to encoder-side processing, and a fold-out operation is performed with respect to decoder-side audio processing. Therefore, lines 912 and 913 show folded portions having a reduction portion and subsequent zero portions corresponding to portion 900 on the left and 908 on the right. Thus, label 915 shows the boundary between the left fold-in portion 912 and the right fold-in portion 913.
[0135] In this context, it can be summarized as follows: Figure 9A The analysis or synthesis window is shown to be truly symmetrical because the left and right overlapping portions are symmetrical to each other, i.e., they have the same overlap length, which is 3.75 ms in this embodiment. Generally, it is preferred that the zero portions 900, 908 are smaller than the overlapping portions 902, 904, and therefore the high portion 906 has a length twice that of a single zero portion when the two zero portions 900, 908 have the same length.
[0136] Figure 9B The diagram shows windows that overlap symmetrically; however, they differ on the left and right sides. Specifically, with... Figure 9A Similarly, this window has a zero portion 920, a first overlapping portion 922, a constant or high portion 924, a second overlapping portion 926, and a second zero or low portion 928. Again, fold lines 910 and 911 are indicated, and again, marker 915 indicates the boundary between the left fold-in portion 929 and the right fold-in portion 930. As shown, the left overlapping portion 922 is used for short overlaps such as 1.25 ms, and the right overlapping portion 926 is used for longer overlaps such as 3.75 ms. Therefore, this window is a transitional window from a short overlapping window to a higher overlapping window, but both windows are windows with symmetrical overlap.
[0137] Figure 9C Another window is shown, corresponding to a duration of 10ms as indicated, but with a block size of 5ms. This window is similar to... Figure 9B However, they have substantially different durations, and Figure 9C The window in the sequence therefore has a short duration but again has a zero portion, a left overlapping portion with a short overlap, a high portion, a subsequent second overlapping portion, and a final zero portion. Furthermore, in Figure 9C The text again indicates the fold lines and the folded-in parts, etc.
[0138] generally, Figures 8A to 15B Most window diagrams have indicated, for example, Figure 9A The fold lines of the 910 and 911, and additional features such as Figure 9AThe folded outer window portion of 912 and 913.
[0139] Furthermore, it can be summarized that the corresponding transformation length corresponds to the distance between the folding points. For example, when considering... Figure 9A At this point, it becomes clear that the transform length corresponds to 10ms, with a difference between 15ms and 5ms. Therefore, the transform length corresponds to Figure 9A And the notation for "blocks" in other diagrams. However, on the other hand, the actual windowed portion of the time is... Figure 9A Examples of implementations include transformations such as 20ms or twice the block length.
[0140] Accordingly, Figure 9C The window in the text has a transformation length of 5ms, which corresponds to... Figure 9C The length of the 10ms window time portion shown is illustrated.
[0141] exist Figure 8A In the asymmetric case shown, the transformation length or block size is again the distance between fold lines such as 823 and 824, which is 20ms, and the length of the window time portion is 40ms.
[0142] When the long overlapping portion of an asymmetric window or the window edge, such as 800 or 814 (for the composite side), is truncated, perfect reconstruction requires maintaining the fold lines or fold points.
[0143] In addition, such as regarding Figure 4 In summary, this invention uses six different sampling rates and selects the length of the window edge or window wing in such a way that the length corresponds to an integer of the sample value used for each sampling rate.
[0144] Furthermore, it can be summarized that for a 10ms transform, a 3.75ms overlap or a 1.25ms overlap is used. Therefore, compared to... Figures 8A to 15B The window diagram shows even more possible and useful combinations, which can be signaled via window control signals to ensure that the optimal window sequence is selected for a particular audio signal that has transient portions at specific points.
[0145] Figure 10A This transition window or second window is shown after the longer first window. Figure 10A In the middle, the left side has been truncated from its original length (14.375ms) of the long edge of the asymmetric analysis window 800 to a length of 8.75ms. Therefore, Figure 10A The first overlapping portion 1000 is shown as obtained by truncating the first overlapping portion 800 from the first asymmetric window. Furthermore, Figure 10AThe analysis transition window also includes a 1.25ms right-side overlap, namely, the short overlap 1002. The window is used for a block size of 5ms, corresponding to a window length of 10ms. Fold lines are indicated at 4.375ms (i.e., 1004) and 9.375ms (shown at 1006). Furthermore, the fold-in portion 1008 of the left fold line 1004 and the fold-in portion 1010 of the right fold line 1006 are shown.
[0146] Figure 10B An implementation using a preferred embodiment with gradual intensification is shown. Therefore, the first overlapping portion has a different first portion 1012 and an unmodified second portion 1014, both corresponding to... Figure 10A The first overlapping portion is 1000. Window about Figure 10A They are not different. Preferably, for the purpose of calculation Figure 10B The first part of the first overlapping portion indicated at 1012 uses a sinusoidal overlapping portion of 1.25 ms, i.e. (for example) Figure 9B The portion indicated at 922. Therefore, an extremely good gradient feature is obtained, where the first overlapping portion 922 used for the short window is, in a sense, "recycled." Thus, as in Figure 9B In this case, this window portion is not only used for windowing, but also additionally for analyzing the actual calculations of the transition window to reduce artifacts caused by truncation. Although only when using... Figure 10A Perfect reconstruction properties were achieved when the first overlapping portion was truncated by 1000, but it has been found that it can still be achieved by using... Figure 10B The audio quality is improved by using a transition window with a gradually increasing intensity. Although this violates the perfect reconstruction characteristic, it improves audio quality by eliminating... Figure 10A The discontinuity at the left-hand side of the overlapping portion on the left side of the middle section (1000), this crescendo section compared to Figure 10A The implementation still results in better audio quality. Nevertheless, other crescendo or (with respect to the synthesis side) crescendo features, different from the sine function, can be used if available and useful.
[0147] Figure 10C This shows the overlapping situation at this time. Figure 10A The window representation indicates the right overlapping portion 1020 of the previous window and the left overlapping portion of the subsequent window at 1022. Typically, the right overlapping portion 1020 is... Figure 8A The right portion 802 of the asymmetric analysis window, and the next or subsequent window 1022 is the first overlapping portion of the window or the left overlapping portion of another transition window, depending on the specific situation.
[0148] Figure 10D Showing something similar to Figure 10BThe situation is similar, but it again has the second overlapping portion 1020 of the indicated previous window and the first overlapping portion 1022 of the subsequent window.
[0149] Figure 11A Another analysis transition window is shown, but unlike the one that indicates the transition from a 20ms block to a 5ms block... Figure 10A This contrast is used for the transition from a 20ms block to a 10ms block. Typically, a 20ms block can be considered a long block, a 5ms block a short block, and a 10ms block an intermediate block. The first overlap 1100 has been truncated, but only by a short amount, and is indicated by 1150. However, to further improve audio quality, a crescendo, obtained by multiplying by a 1.25ms sine wave edge, has been applied, and is indicated by a solid line. Furthermore, the window has a high portion 1101 and a second overlap 1102, which in this case has a long overlap of 3.75ms. Therefore, Figure 11A The figure shows the transformation length from 20ms to 10ms. Figure 2 The optimal analysis transition window corresponding to the "second window" is obtained by truncating the left overlap 1100 as little as possible by the long edge 800 of the asymmetric window. Furthermore, a gradual increase is performed by multiplying the truncated edge 1050 by a 1.25ms sinusoidal edge. As outlined, the right overlap is 3.75ms.
[0150] Figure 11B An optional analysis transition window is shown for the transition from a 20ms transform length to a 10ms transform length (i.e., typically from a long transform length to a short transform length). However, by truncating the left edge of the asymmetric window and additionally performing gradation using a 1.25ms sinusoidal edge multiplication, the left overlap is only 8.75ms. Therefore, as in Figure 10A In this case, the overlapping or left overlapping portion 1130 has a duration of 8.75ms. To apply this window, other modifications are performed. These modifications are the first low or zero portion 1131, the second high or constant portion 1132, and the third or low portion 1133, while the second overlapping portion 1134... Figure 11A The corresponding portion 1102 is similar, but shifted to the left due to the fourth zero or lower portion 1133. Furthermore, fold lines 1104 and 1106, and a mark 1135 at the folded portion, indicate the boundary between the left folded portion 1136 and the right folded portion 1137. This is achieved by performing a process greater than... Figure 11AThe lengths of portions 1131, 1132, and 1133 are determined by the fact that the minimum possible value in the truncated form is used. For example, portion 1131 can be set to zero, and the lengths of 1132 and 1133 can be increased accordingly. On the other hand, the length of 1133 can be set to zero, and therefore the length of 1131 can be increased accordingly, or all portions 1131, 1132, and 1133 may not be equal to zero, but their corresponding lengths may differ from zero. Figure 11B Examples of such implementations. In all these different window implementations, it should be ensured that folding via fold lines 1104, 1106 is correspondingly possible, and 11B regarding... Figure 11A It has the following advantages: the calculation of the first overlapping part 1130 is similar to Figure 10B The calculations of the left-hand portions 1014 and 1012 simplify practical implementation. However, when such problems are not prominent, the longer overlap of the first overlapping portion allows for better reconstruction features and even closer approximation of perfect reconstruction characteristics, thus enabling the use of... Figure 11A The window.
[0151] Figure 12A and Figure 12B This shows other analysis transition windows ranging from shorter to longer window lengths. For a transition from 5ms to 20ms, Figure 12A The diagram shows an analysis transition window like this. The left overlap portion 1200 is used for short overlaps of, for example, 1.25ms, and the right overlap portion is used for long overlaps such as 8.75ms, which is shown at 1202. Figure 12B The following analysis transition windows are shown, from the 10ms block to the 20ms block. The left overlap is indicated at 1210, and the right overlap at 1212. The left overlap is used for a medium overlap of 3.75ms, and the right overlap is used for a long or high overlap of 8.75ms. Again, the fold lines and fold-in sections are shown. Figure 12B This indicates that the analysis transition window from 10 to 20 ms, in addition to the overlapping portions 1210 and 1212, also has a low or zero portion 1214 on the left, a medium-high or constant portion 1216, and a low or zero portion 1218 on the right.
[0152] Figure 12A The right overlapping part 1202 and Figure 12B The right overlapping part 1212 in the middle corresponds to Figure 8A The short edge of the asymmetric analysis window is indicated at position 802.
[0153] Figure 13A , Figure 13B , Figure 13C and Figure 13D This illustrates the situation on the synthetic side, that is, it shows the situation regarding... Figure 2 Or the construction of a third window in case B. Furthermore, Figure 13AThe situation in Figure 12A The situation is similar. Figure 13B The situation in China and Figure 12B The situation is similar. Figure 13C The situation in Figure 10B Similarly, and Figure 13D The situation in Figure 10C similar.
[0154] In particular, Figure 13A A composite transition window from long block to short block is shown, which has a long overlapping portion 1300 on the left and an overlapping portion 1302 on the right, as well as corresponding fold lines and fold portions, as indicated.
[0155] Figure 13B The composition transition window from the 20ms block to the 10ms block is shown, where the left overlap is again the long overlap indicated at 1310, and the right overlap is 1312, with a first low portion 1314, a second high portion 1316, and a third low portion 1318 provided as needed.
[0156] Figure 13C As shown in Figure 2 The third composite window shown in scenario (B) indicates the second overlapping portion 1330. It has been truncated to a length of 8.75, i.e., truncated to... Figure 8B The length of the right or second overlapping portion of the asymmetric compositing window, i.e., the right overlapping portion 814 has been truncated to obtain the right overlapping portion 1330 of the compositing transition window, and in Figure 13C In this situation, it is basically consistent with what has already been said. Figure 10B Similar to the analysis discussed on the other side, another gradual weakening has been implemented. This shows regarding... Figure 2 The second overlapping portion 1330 of the third window in case B is similar, but it is only truncated and not weakened in any way. Therefore, Figure 13C The first part, 1331, is similar to Figure 13D The corresponding first part, but due to the 1.25ms decreasing sine edge and Figure 13D The multiplication of the shortened window is gradually weakened, and the second part 1332 is different.
[0157] also, Figure 13D Showing the corresponding Figure 2 The first overlapping portion 1340 of the next composite window of the "fourth window" in the environment, and in addition, Figure 13D The second overlapping portion 1342 of the previous window (i.e., the window before the third window, which consists of the second overlapping portion 1330 and the first overlapping portion 1331 corresponding to a short overlap of 1.25ms) is shown.
[0158] Although not shown, it corresponds to Figure 11A , Figure 11B The synthesis window for the situation (i.e., with or without similar to) Figure 11A The gradually increasing synthesis window has a minimum truncation, or has the same as... Figure 13D Synthesis windows of the same kind (but with the first and second zero or low portions and the middle constant portion) are useful.
[0159] Figure 14A The diagram shows an analysis window sequence with block sizes of long, long, short, short, medium, and long. Figure 14B The corresponding synthesis window sequence is shown in the diagram. At position 1402, an indication is given regarding... Figure 2 The second window, and this window corresponds to Figure 10B The window shown in the image. Correspondingly, with the "About" section... Figure 2 of Figure 14B The matching synthesis window corresponding to the third window function 1450 is not shown in a specific figure but corresponds to Figure 11B The composition function of the analytic function.
[0160] also, Figure 15A In the middle, 1502 Figure 11B It is specifically shown in the middle, and Figure 15B The third window function 1550 corresponds to Figure 13C The synthetic window function.
[0161] therefore, Figure 14A The transition from the first long asymmetric window of 20 ms indicated at 1406 to the first asymmetric window function 1400 is shown, wherein, in particular, the transition is also shown. Figure 8A The zero part is 806. In Figure 14A In the middle, following the long asymmetric window 1400, and subsequently shown, a second window function 1402 with a truncated first overlapping portion is shown. Then window 1408 and... Figure 9B The window in the middle is similar, and then window 1410 corresponds to Figure 9C Finally, window 1412 is again... Figure 8A The asymmetric analysis window.
[0162] Figure 14B Showing the corresponding Figure 8B The long synthesis window 1454, and again corresponding to Figure 8B Another asymmetric synthesis window 1456, and then showing the corresponding Figure 13A The short transition window is 1458. Window 1460 subsequently corresponds to... Figure 9C A short window with a block size of 5ms.
[0163] Figure 15A and Figure 15BA similar window sequence is shown, with a transition from a long window to an intermediate window of 10ms length and a corresponding reverse transition. Windows 1504 and 1500 correspond to... Figure 8A The truncated and progressively larger window 1502 of the present invention follows the windows 1506, 1508, and 1510 in the order shown. Window 1506 corresponds to... Figure 9B The window in the middle, but it has a long overlap to the left and a short overlap to the right. Window 1508 corresponds to Figure 12A The window in the middle, and window 1510 is again a long asymmetrical window.
[0164] about Figure 15B The synthesized window sequence contains windows 1554, 1556, 1558, and 1560. 1554 corresponds to... Figure 8B The composite window, and the same applies to window 1556. Window 1558 is a transition from 20 to 10, and corresponds to... Figure 13B Window 1560 is a transition from 10 to 5, and corresponds to... Figure 9B However, it again has a long overlap to the left and an overlap to the right. The truncated and gradually weakening window 1550 of the present invention follows a window that is again followed by a long asymmetric composite window.
[0165] Subsequently, Figure 3 The preferred implementation of window builder 206 is discussed in the context of [the discussion]. Specifically, the window builder preferably includes a memory 300, a window partial truncation 302, and a fader 304. The window partial truncation 302 is initiated based on window control information shown at item 310 indicating, for example, a transition from a first window to a second window or from a third window to a fourth window. The truncation accesses the memory to retrieve a portion 800 of the asymmetrical window, or to retrieve the second overlapping portion 814 of the fourth window. The portion is retrieved from the memory 300 to the window partial truncation via retrieval line 308. The window partial truncation 302 performs truncation to a certain length, such as the discussed maximum truncation length or a length shorter than the maximum length. The truncated overlapping portion or window edge 316 is then passed to the fader 304. The fader then performs a fade-in or fade-out operation, i.e., from the truncated window shown without fade-out... Figure 10C Window in Figure 10B The operation of the window in the diagram. For this purpose, the fading / diminishing unit accesses memory via access line 314 from the memory of the short overlapping portion via retrieval line 312. The fading / diminishing unit 304 then (for example) performs a fading or diminishing operation on the truncated window portion from line 316 by multiplying the truncated portion by the overlapping portion. The output is the truncated and fading portion at output line 318.
[0166] Figure 4 A preferred embodiment of memory 300 is shown, optimizing window construction and different window shapes and possibilities performed by the window builder to have minimal memory usage. Preferred embodiments of the invention allow the use of six sampling rates: 48kHz, 32kHz, 25.6kHz, 16kHz, 12.8kHz, or 8kHz. For each sampling rate, a set of window coefficients or window portions is stored. This includes a first portion 403 of a 20ms asymmetric window, a second portion 404 of a 20ms asymmetric window, a single portion 402 of a 10ms symmetric window (e.g., a 3.75ms overlap), and a single portion 401 of a 5ms symmetric window (e.g., a 1.25ms overlap). Typically, a single portion of a 10ms symmetric window can be the ascending edge of the window, and the descending portion can then be calculated via simple arithmetic or logical operations such as mirroring. Alternatively, when the descending portion is stored as a single portion in memory 300, the ascending portion can then be calculated via mirroring or typically via arithmetic or logical operations. The same applies to a single portion of a 5ms symmetric window. Of course, all windows can have a medium overlap of such as 3.75ms on each side or a short overlap of, for example, 1.25ms.
[0167] Furthermore, the window builder is used to independently determine the length and position of the low (zero) portion and the high (one) portion of a specific window according to corresponding predefined rules, such as in Figures 8A to 15B As shown in the curve.
[0168] Therefore, for the purpose of implementing the encoder and decoder, only a minimal amount of memory is necessary. Thus, without mentioning the fact that the encoder and decoder rely on the same memory 300, it is possible to implement different windows and transition windows, even with a waste amount, simply by storing four sets of window coefficients for each sampling rate.
[0169] The transform window switching outlined above is implemented in the audio coding system using an asymmetric window for long transforms and a low-overlap sine window for short transforms. The block length for long blocks is 20ms, and the block length for short blocks is either 10ms or 5ms. The left overlap of the asymmetric analysis window is 14.375ms, and the right overlap is 8.75ms. Short windows use overlaps of 3.75ms and 1.25ms. For the encoder-side transition from 20ms to 10ms or 5ms transform lengths, the left overlap portion of the asymmetric analysis window is truncated to 8.75ms, and this is used for the left window portion of the first short transform. A 1.25ms sine gradient is applied by multiplying the left end of the truncated window by the 1.25ms incremental short window overlap. Reusing the 1.25ms overlap window shape for the gradient avoids the need for additional ROM / RAM tables and the computational complexity of running the gradient shape. Figure 14A The following is an example of a window sequence with varying lengths of 20ms, 5ms, 5ms, 10ms, and 20ms.
[0170] On the decoder side, for transitions from 10ms or 5ms to 20ms transform lengths, the right-hand overlap of the asymmetric synthesis window is truncated to 8.75ms, and this is used for the right-hand window portion of the previous short transform. A 1.25ms sinusoidal decay, similar to the fading on the encoder side, is applied to the truncated end of the window. Figure 14B The diagram shows the sequence of decoder windows used in the example above.
[0171] Figure 5 This shows the method used to determine the second window (i.e., for...). Figure 2 The flowchart shows another embodiment of the analysis transition window in case A. In step 500, the first and second portions of the asymmetric window are retrieved. In step 502, the asymmetric first analysis window is created. Therefore, the following is generated: Figure 14B Analysis window 1400 or Figure 15A Window 1500. In step 504, by (for example) in Figure 3 The search line shown at point 308 retrieves the first portion of the asymmetric window. In step 506, the truncation length is determined, and such as by... Figure 3 The window truncation operator 302 performs truncation. In step 508, a single portion of the 5ms symmetrical window is retrieved, such as item 401 stored in memory 300. In step 510, (for example) by... Figure 3The operation of the gradation / decrease mechanism 304 is used to calculate the gradation of the truncated portion. At this point, the first overlapping portion is completed. In step 512, a single portion of the 5ms symmetrical window is retrieved (e.g.) for the transition from the long window to the short window, or a single portion of the 10ms symmetrical window is retrieved for the transition from the long window to the middle window. Finally, the second portion is determined from the data retrieved in step 512 by logical or arithmetic operations, as indicated by step 514. However, note that when the data retrieved in step 512 is... Figure 4 When a single portion of the corresponding symmetrical window retrieved from memory 300 can be used as a second portion (i.e., as a descending window edge), step 514 is not required.
[0172] although Figure 5 It is not explicitly shown in the text, but for other transitional purposes, such as in Figure 15A The transition shown in the diagram requires additional steps. Here, the first zero portion, the second zero portion, and the middle high portion must be additionally inserted by the window builder, and this insertion can be performed before or after determining the first and second overlapping portions of the second window.
[0173] Figure 6 A preferred implementation of the process for constructing a corresponding synthetic transition window, such as a third window, is shown. For this purpose, the following can be executed: Figure 6 The process of the steps in step 600 is as follows: In step 600, the first overlapping portion of the third window is retrieved from memory, or if not specifically available in this form, it is calculated from data in memory by arithmetic or logical operations, and this operation is based on the previous window since the first overlapping portion of the composite window has been fixed by the overlap of the previous window. The second portion of the asymmetric window (i.e., the long portion of the asymmetric composite window) is retrieved and the truncation length is determined in step 604. In step 606, this first portion is mirrored if necessary, and then truncation is performed using the determined truncation length. In step 608, a single portion of the 5ms overlapping portion of the symmetric window is retrieved, and after step 608, the truncation of the truncated portion is weakened, as shown in step 610. The second overlapping portion of the third window is completed, and then the second and fourth portions of the asymmetric fourth window function are retrieved and applied to finally obtain the fourth window, as indicated in step 612.
[0174] Figure 7 The preferred process for determining the truncation length is shown. As previously discussed... Figure 10B and Figure 11B As outlined, different truncation lengths can be performed. Truncation up to the maximum truncation length is possible, i.e., Figure 11A In the case of a truncated length; or a truncated length less than the maximum truncated length, such as... Figure 11B This is illustrated in the text for the same situation. Therefore... Figure 7The process begins with an indication of the length of the transition window shown at step 700. Thus, step 700 provides information on whether the transition window is for a 10ms block size (i.e., a window with a 20ms length) or a shorter block size (i.e., for a window with a 10ms length and a 5ms block size).
[0175] Then, in step 702, the length of the symmetrical overlapping portion of the window is determined. For the analysis side, this means determining the length of the second overlapping portion, and for the synthesis side, it means determining the length of the first overlapping portion. Step 702 ensures that the "fixed" state of the transition window is confirmed, i.e., the transition window has a symmetrical overlap. At this point, in step 704, the second edge of the window or other overlapping portions of the window are determined. Basically, the maximum truncation length is the difference between the length of the transition window and the length of the symmetrical overlapping portion. When this length is greater than the length of the long edge of the asymmetrical window, there is no need to truncate at all. However, when this difference is less than the long edge of the asymmetrical window, truncation is performed. The maximum truncation length (i.e., the length to obtain the minimum truncation) is equal to this difference. If necessary, truncation up to this maximum length (i.e., minimum truncation) can be performed, and a gradual increase or decrease can be applied, such as... Figure 11A or Figure 10B As shown in the image. Figure 11A As shown, due to the fact that these fold lines should not be changed in some embodiments, a certain number are required to ensure that folding along fold lines 1104, 1106 is possible. Therefore, as Figure 11A The certain number of 20-10ms analysis transition windows indicated at position 1101 are necessary, but these 20-10ms intervals... Figure 10B The 20 to 5ms transition window is unnecessary.
[0176] However, step 704 can be ignored, as shown in 708. Then, in step 710, a truncation to a length less than the maximum length is performed, resulting in... Figure 11B In this case, the remaining window portion must be filled with zeros and ones, and specifically, in step 712, this must be achieved by inserting zeros at the beginning and end of the window as indicated at portions 1131 and 1133. Furthermore, a corresponding number of ones must be inserted to obtain the high portion 1132, as indicated at 714, to ensure that the folding around fold points 1104 and 1106 is properly performed, as... Figure 11B As shown in the figure.
[0177] Therefore, the number of zeros in part 1131 is equal to the number of zeros immediately adjacent to the first overlapping part 1130. Figure 11B The number of zeros in part 1133 corresponds to the number of zeros immediately adjacent to the number of zeros in the part 1133. Figure 11BThe number of zeros in the second overlapping portion 1134. Then, the folds around fold lines 1104 and 1106, marked with 1135, function properly.
[0178] Although preferred embodiments have been described with a 40ms window length and a 20ms transform length as the long window, a 10ms block size for the middle window, and a 5ms block size for the short window, it should be emphasized that different block or window sizes can be applied. Furthermore, it should be emphasized that the invention is also useful for only two different block sizes, but three different block sizes are preferred to provide a very good replacement for the short window function with respect to transients, such as (for example) in the additional discussion of multi-overlapping portions (i.e., in...). Figure 15A and Figure 15B or Figure 14A and Figure 14B The overlap between more than two windows occurring in the sequence is discussed in detail in PCT / EP2014 / 053287.
[0179] In a further embodiment, a processor for processing audio signals may include an analyzer, a window builder, and a windowing unit. The analyzer is used to derive window control signals from the audio signal indicating a change from a first asymmetric window to a second window, or indicating a change from a third window to a fourth asymmetric window, wherein the second window is shorter than the first window, or wherein the third window is shorter than the fourth window. The window builder is used to construct a second window using a first overlapping portion of the first asymmetric window, wherein the window builder is used to determine a first overlapping portion of the second window using a truncated first overlapping portion of the first asymmetric window, or wherein the window builder is used to calculate a second overlapping portion of the third window using a truncated second overlapping portion of the fourth asymmetric window. The windowing unit is used to apply the first and second windows or the third and fourth windows to obtain a windowed portion of the audio signal.
[0180] In a further embodiment, the first and second windows may be analysis windows, or the third and fourth windows may be synthesis windows. The processor may further include an audio encoder for further processing the samples windowed by the first and second windows. Alternatively, the processor may further include an overlap adder for overlapping and adding the samples windowed by the third and fourth windows.
[0181] In a further embodiment, the window builder can be used to derive the first overlapping portion of the second window by truncating the first overlapping portion of the first window and by gradually increasing the intensity of the truncated portion. Alternatively, the window builder can be used to derive the second overlapping portion of the third window by truncating the second overlapping portion of the fourth window and by gradually decreasing the intensity of the truncated portion.
[0182] In a further embodiment, the window builder can be used to perform gradation or fading using a sinusoidal gradation function or a sinusoidal gradation function.
[0183] In a further embodiment, the window builder can be used to calculate fading or weakening using the overlapping portion of any other window used by the processor.
[0184] In a further embodiment, the window builder can be used to calculate fading or weakening using the shortest overlap among all overlapping portions used.
[0185] In a further embodiment, the processor may further include a memory. The memory has, for a determined sampling rate, a first overlapping portion of a first asymmetric window, a second overlapping portion of the first asymmetric window, and a third overlapping portion for another window shorter than the first window. The window builder is configured to retrieve the first overlapping portion of the first asymmetric window from the memory, truncate the first overlapping portion to a length shorter than the length of the first overlapping portion, retrieve the third overlapping portion, and multiply the truncated first portion by the third overlapping portion to generate the first overlapping portion of the second window. Alternatively, the window builder is configured to retrieve the second overlapping portion of a fourth asymmetric window from the memory, truncate the retrieved second overlapping portion to a length shorter than the length of the second overlapping portion, retrieve the third overlapping portion, and multiply the truncated second overlapping portion by the third overlapping portion to generate the second overlapping portion of the third window.
[0186] In a further embodiment, the memory may also store a fourth overlapping portion of another window, the other window having a length between the length of the first window and the length of the other window.
[0187] In a further embodiment, the window builder can be used to construct, according to the window control signal, a sequence including a first window, a second window, an additional window constructed using a third overlapping portion and a fourth overlapping portion or only using the third overlapping portion, and another additional window constructed using the third overlapping portion and a second overlapping portion of the first window.
[0188] In a further embodiment, the window builder may be used to determine a first overlapping portion using a truncated first overlapping portion truncated to the length of a second overlapping portion of a first asymmetric window, or it may be used to determine a second overlapping portion of a third window using a second overlapping portion of a fourth window truncated to the length of a first overlapping portion of a fourth asymmetric window.
[0189] In a further embodiment, the window builder may be used to determine a second window using a second overlapping portion corresponding to a first overlapping portion of another window following the second window, and a first overlapping portion, or the window builder may be used to construct a third window using a first overlapping portion corresponding to a second overlapping portion of another window preceding the third window.
[0190] In a further embodiment, the window builder can be used to truncate the first overlapping portion of a first asymmetric window or the second overlapping portion of a fourth asymmetric window to a truncation length, the truncation length being shorter than or equal to the window length of a second or third window, the window length being less than the length of the first overlapping portion of another window after the second window or the length of the second overlapping portion of another window before the third window.
[0191] In a further embodiment, the window builder may be used to insert zeros before or after the first and second overlapping portions of the second or third window when the truncated length is less than the length of the first overlapping portion or the second overlapping portion of another window, and the window builder may also be used to insert multiple "1" values between the first and second overlapping portions of the second or third window.
[0192] In a further embodiment, the first asymmetric window may have a first overlapping portion, a second overlapping portion, a first high-value portion between the first overlapping portion and the second overlapping portion, and a second low-value portion after the second overlapping portion, wherein the value in the high-value portion is greater than 0.9 and the value in the low-value portion is less than 0.1, and the length of the second overlapping portion is less than the length of the first overlapping portion.
[0193] In a further embodiment, the processor can be used to operate at multiple different sampling rates, and the processor can be used to store, for each sampling rate, a first overlapping portion and a second overlapping portion of a first or fourth window, a symmetrical overlapping portion of another window, and another symmetrical overlapping portion of a window shorter than the other window. Furthermore, the symmetrical overlapping portions and the other symmetrical overlapping portions are stored only as ascending or descending portions, and the window builder can be used to derive descending or ascending portions from the stored ascending or descending portions through arithmetic or logical operations.
[0194] In a further embodiment, the first window can be used for a transform length of 20ms, wherein the window builder can be used to use other windows for transform lengths of 10ms or 5ms. The second window can be a transition window from a transform length of 20ms to a transform length of 10ms or 5ms. Alternatively, a fourth window can be used for a transform length of 20ms, and the third window can be a transition window from a transform length of 5ms to a transform length of 20ms or from a transform length of 10ms to a transform length of 20ms.
[0195] In a further embodiment, a method of processing an audio signal may include deriving from the audio signal a window control signal indicating a change from a first asymmetric window to a second window or an indication of a change from a third window to a fourth asymmetric window, wherein the second window is shorter than the first window, or wherein the third window is shorter than the fourth window; constructing a second window using a first overlapping portion of the first asymmetric window, wherein a window builder is configured to determine a first overlapping portion of the second window using a truncated first overlapping portion of the first asymmetric window, or wherein the window builder is configured to calculate a second overlapping portion of the third window using a truncated second overlapping portion of the fourth asymmetric window; and a windowing unit is configured to apply the first and second windows or the third and fourth windows to obtain a windowed portion of the audio signal.
[0196] In a further embodiment, a computer program may be used to perform the method described above when it is running on a computer or processor.
[0197] Although the invention has been described in the context of block diagrams representing actual or logical hardware components, it can also be implemented by computer-implemented methods. In the following context, blocks represent corresponding method steps, where these steps represent functions performed by the corresponding logical or physical hardware blocks.
[0198] Although some aspects are described in the context of an apparatus, these aspects obviously also represent a description of the corresponding method, where a block or apparatus corresponds to a method step or a feature of a method step. Similarly, aspects described in the context of method steps also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps can be executed by (or using) hardware devices such as a microprocessor, a programmable computer, or electronic circuitry. In some embodiments, some or more of the most important method steps can be executed by such an apparatus.
[0199] The transmitted or encoded signals invented may be stored on digital storage media or transmitted on wireless or wired transmission media such as the Internet.
[0200] Depending on certain implementation requirements, embodiments of the invention may be implemented in hardware or software. Implementation may be performed using a digital storage medium (such as a floppy disk, DVD, Blu-ray disc, CD, ROM, PROM, EPROM, EEPROM, or flash memory) on which electronically readable control signals are stored, the electronically readable control signals cooperating with (or capable of cooperating with) a programmable computer system to perform the various methods. Therefore, the digital storage medium may be computer-readable.
[0201] Some embodiments of the invention include a data carrier having electronically readable control signals that are capable of cooperating with a programmable computer system to perform one of the methods described herein.
[0202] Typically, embodiments of the present invention can be implemented as a computer program product having program code, which, when run on a computer, is used to perform one of the methods. The program code may, for example, be stored on a computer-readable medium.
[0203] Other embodiments include a computer program stored on a machine-readable medium for performing one of the methods described herein.
[0204] In other words, an embodiment of the method of the present invention is (therefore) a computer program having program code that, when run on a computer, performs one of the methods described herein.
[0205] Therefore, another embodiment of the method of the present invention is a data carrier (or a non-volatile storage medium such as a digital storage medium or a computer-readable medium) comprising a computer program recorded thereon for performing one of the methods described herein. Data carriers, digital storage media, or recording media are typically tangible and / or non-volatile.
[0206] Therefore, another embodiment of the method of the present invention is a data stream or signal sequence representing a computer program for performing one of the methods described herein. The data stream or signal sequence can be transmitted, for example, via a data communication connection (e.g., via the Internet).
[0207] Another embodiment includes a processing component, such as a computer or programmable logic device, for or adapted to perform one of the methods described herein.
[0208] Another embodiment includes a computer having a computer program installed thereon for performing one of the methods described herein.
[0209] Another embodiment of the invention includes an apparatus or system for transmitting (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, mobile device, storage device, or the like. This apparatus or system may, for example, include a file server for transmitting the computer program to the receiver.
[0210] In some embodiments, a programmable logic device (e.g., a field-programmable gate array) is used to perform some or all of the functions of the methods described herein. In some embodiments, the field-programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. Generally, this method can preferably be performed by any hardware device.
[0211] The embodiments described above merely illustrate the principles of the invention. It should be understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. Therefore, it is intended that the invention be limited only by the scope of the claims and not by the specific details presented in the description of the embodiments and the specification herein.
[0212] References
[0213] [1]International Organization for Standardization, ISO / IEC 14496-3, "Information Technology-Coding of audio-visual objects-Part 3:Audio," Geneva, Switzerland, Aug. 2009.
[0214] [2]Internet Engineering Task Force(IETF),RFC 6716,"Definition of theOpus Audio Codec,"Sep.2012.
[0215] [3]C.R.Helmrich,G.Markovic and B.Edler,"Improved Low-Delay MDCT-BasedCoding of Both Stationary and Transient Audio Signals,"in Proceedings of theIEEE 2014Int.Conference on Acoustics,Speech and Signal Processing(ICASSP),2014or PCT / EP2014 / 053287.
Claims
1. A processor for processing audio signals (200), comprising: An analyzer (202) is used to derive a window control signal (204) from the audio signal (200), the window control signal (204) The indication is a change from a first asymmetric window (1400) to a second window (1402), wherein the first asymmetric window (1400) includes a first overlapping portion (800) and a second overlapping portion (802), the first overlapping portion (800) overlapping a previous window (1406) that is prior to the first asymmetric window (1400) in time, and the second overlapping portion (802) overlapping a first overlapping portion (1000) of the second window (1402), wherein the second window (1402) is shorter than the first asymmetric window (1400), or The indication is a change from a third window (1450) to a fourth asymmetric window (1452), wherein the fourth asymmetric window (1452) includes a first overlapping portion (812) and a second overlapping portion (814), the first overlapping portion (812) overlapping the second overlapping portion (1330) of the third window (1450), and the second overlapping portion (814) overlapping a subsequent window that is in time after the fourth asymmetric window (1452), wherein the third window (1450) is shorter than the fourth asymmetric window (1452); Window Builder (206), Configured to construct a second window (1402) using the first overlapping portion (800) of the first asymmetric window (1400), wherein the window builder (206) is configured to determine the first overlapping portion (1000) of the second window (1402) using the truncated first overlapping portion of the first asymmetric window (1400), or Configured to construct the third window (1450) using the second overlapping portion (814) of the fourth asymmetric window (1452), wherein the window builder (206) is configured to calculate the second overlapping portion (1330) of the third window (1450) using the truncated second overlapping portion of the fourth asymmetric window (1452); and Windowing (208), Used to apply the first asymmetric window (1400) and the second window (1402), or Used to apply the third window (1450) and the fourth asymmetric window (1452) to obtain the windowed audio signal portion (210).
2. The processor according to claim 1, The first asymmetric window (1400) and the second window (1402) are analysis windows, or the third window (1450) and the fourth asymmetric window (1452) are synthesis windows. The processor further includes an audio encoder (110) for further processing samples windowed by the first asymmetric window (1400) and the second window (1402), or the processor further includes an overlap adder (174) for overlapping and adding samples windowed by the third window (1450) and the fourth asymmetric window (1452).
3. The processor according to claim 1 or 2, The window builder (206) is configured to derive the first overlapping portion (1000) of the second window (1402) by truncating the first overlapping portion (800) of the first asymmetric window (1400) and by gradually increasing the intensity of the truncated portion, or The window builder (206) is configured to derive the second overlapping portion (1330) of the third window (1450) by truncating the second overlapping portion (814) of the fourth asymmetric window (1452) and by weakening the truncated portion.
4. The processor according to claim 3, The window builder (206) is configured to perform the gradation or the gradation using a sinusoidal gradation function or a sinusoidal gradation function.
5. The processor according to claim 3, The window builder (206) is configured to calculate the fading or weakening using the overlapping portion of any other window used by the processor.
6. The processor according to claim 5, The window builder (206) is configured to calculate (304) the gradation or the gradation using the shortest overlap of all overlaps used.
7. The processor of claim 1, further comprising a memory (300) having, for a specific sampling rate, a first overlapping portion (800) of the first asymmetric window (1400), a second overlapping portion (802) of the first asymmetric window (1400), and a third overlapping portion for another window shorter than the first asymmetric window (1400). The window builder (206) is configured to be used for Retrieve (308) the first overlapping portion (800) of the first asymmetric window (1400) from the memory (300). The first overlapping portion (800) of the first asymmetric window (1400) is shortened (302) to a length shorter than the length of the first overlapping portion (800) of the first asymmetric window (1400). Retrieve (312) the third overlapping portion, and Multiply the truncated first overlapping portion by the third overlapping portion to generate the first overlapping portion (1000) of the second window (1402); or The window builder (206) is configured to: The second overlapping portion (814) of the fourth asymmetric window (1452) is retrieved from the memory (300), and the retrieved second overlapping portion (814) of the fourth asymmetric window (1452) is truncated (302) to a length shorter than the length of the second overlapping portion (814) of the fourth asymmetric window (1452). Retrieve (312) the third overlapping portion; and The truncated second overlapping portion is multiplied by the third overlapping portion to generate the second overlapping portion (1330) of the third window (1450).
8. The processor according to claim 7, The memory (300) also stores a fourth overlapping portion of another window, the other window having a length between the length of the first asymmetric window (1400) and the length of the other window.
9. The processor according to claim 8, The window builder (206) is configured to construct, according to the window control signal (204), a sequence including the first asymmetric window (1400), the second window (1402), an additional window constructed using the third overlapping portion and the fourth overlapping portion or only the third overlapping portion, and another additional window (1410) constructed using the third overlapping portion and the second overlapping portion (802) of the first asymmetric window (1400).
10. The processor according to claim 1, The window builder (206) is configured to determine the first overlapping portion (1000) of the second window (1402) using the truncated first overlapping portion of the first asymmetric window (1400) truncated to the length of the second overlapping portion (802) of the first asymmetric window (1400), or The second overlapping portion (1330) of the third window (1450) is determined using the second overlapping portion (814) of the fourth asymmetric window (1452) which is truncated to the length of the first overlapping portion (812) of the fourth asymmetric window (1452).
11. The processor according to claim 1, The window builder (206) is configured to determine the second window (1402) using the first overlapping portion (1000) of the second window (1402) and the second overlapping portion (1002) of the second window (1402) corresponding to the first overlapping portion (1022) of another window following the second window (1402), or The window builder (206) is configured to construct the third window (1450) by using the first overlapping portion (1331) of the third window (1450) which corresponds to the second overlapping portion (1342) of another window preceding the third window (1450).
12. The processor according to claim 1, The window builder (206) is configured to truncate the first overlapping portion (800) of the first asymmetric window (1400) or the second overlapping portion (814) of the fourth asymmetric window (1452) to a truncation length shorter than or equal to the window length of the second window or the third window (1450), wherein the window length of the second window or the third window (1450) is less than the length of the first overlapping portion of another window after the second window (1402) or the length of the second overlapping portion of another window before the third window (706, 710).
13. The processor according to claim 12, Wherein, when the truncated length is less than the length of a window that is less than the length of the first overlapping portion of another window after the second window or the second overlapping portion of another window before the third window, the window builder (206) is configured to insert (712) zeros (1131, 1133) before or after the first and second overlapping portions of the second window or the third window, and wherein the window builder (206) is also configured to insert a plurality of "1" values (714; 1132) between the first and second overlapping portions of the second window (1402) or the third window (1450).
14. The processor according to claim 1, The first asymmetric window (1400) has a first overlapping portion (800), a second overlapping portion (802), a first high-value portion between the first overlapping portion (800) and the second overlapping portion (802) of the first asymmetric window (1400), and a second low-value portion after the second overlapping portion (802) of the first asymmetric window (1400), wherein the value in the high-value portion is greater than 0.9, and the value in the low-value portion is less than 0.1, and The length of the second overlapping portion (802) of the first asymmetric window (1400) is shorter than the length of the first overlapping portion (800) of the first asymmetric window (1400).
15. The processor of claim 1, wherein the processor is configured to operate at a plurality of different sampling rates, and The processor is configured to store, for each sampling rate, a first overlapping portion (800 or 812) and a second overlapping portion (802 or 814) of the first asymmetric window (1400) or the fourth asymmetric window (1452), a symmetrical overlapping portion of another window, and another symmetrical overlapping portion (401) of yet another window shorter than the other window; and The symmetrical overlapping portion and the other symmetrical overlapping portion are stored only as ascending or descending portions, and the window builder (206) is configured to derive descending or ascending portions from the stored ascending or descending portions by arithmetic or logical operations.
16. The processor according to claim 1, The first asymmetric window (1400) is configured for a transform length of 20 ms, wherein the window builder (206) is configured to further use other windows for transform lengths of 10 ms or 5 ms, and The second window (1402) is a transition window from a transform length of 20ms to a transform length of 10ms or 5ms, or The fourth asymmetric window (1452) is configured for a transform length of 20 ms, and the third window (1450) is a transition window from a transform length of 5 ms to a transform length of 20 ms or from a transform length of 10 ms to a transform length of 20 ms.
17. A method for processing an audio signal (200), comprising: A window control signal (204) is derived from the audio signal (200). The indication is a change from a first asymmetric window (1400) to a second window (1402), wherein the first asymmetric window (1400) includes a first overlapping portion (800) and a second overlapping portion (802), the first overlapping portion (800) overlapping a previous window (1406) that is prior to the first asymmetric window (1400) in time, and the second overlapping portion (802) overlapping a first overlapping portion (1000) of the second window (1402), wherein the second window (1402) is shorter than the first asymmetric window (1400), or The indication is a change from a third window (1450) to a fourth asymmetric window (1452), wherein the fourth asymmetric window (1452) includes a first overlapping portion (812) and a second overlapping portion (814), the first overlapping portion (812) overlapping the second overlapping portion (1330) of the third window (1450), and the second overlapping portion (814) overlapping a subsequent window that is in time after the fourth asymmetric window (1452), wherein the third window (1450) is shorter than the fourth asymmetric window (1452); The second window (1402) is constructed using the first overlapping portion (800) of the first asymmetric window (1400), wherein the construction includes determining the first overlapping portion (1000) of the second window (1402) using the truncated first overlapping portion of the first asymmetric window (1400), or The third window (1450) is constructed using the second overlapping portion (814) of the fourth asymmetric window (1452), wherein the construction includes calculating the second overlapping portion (1330) of the third window (1450) using the truncated second overlapping portion of the fourth asymmetric window (1452); and The first asymmetric window (1400) and the second window (1402), or the third window (1450) and the fourth asymmetric window (1452), are applied to obtain the windowed audio signal portion (210).
18. A storage medium for storing a computer program, said computer program being used to perform the method of claim 17 when run on a computer or processor.
Citation Information
Patent Citations
Adaptations of analysis or synthesis weighting windows for transform coding or decoding
CN103814406A