MXPA06003309A - Device and method for processing at least two input values - Google Patents

Device and method for processing at least two input values

Info

Publication number
MXPA06003309A
MXPA06003309A MXPA/A/2006/003309A MXPA06003309A MXPA06003309A MX PA06003309 A MXPA06003309 A MX PA06003309A MX PA06003309 A MXPA06003309 A MX PA06003309A MX PA06003309 A MXPA06003309 A MX PA06003309A
Authority
MX
Mexico
Prior art keywords
values
value
block
rounding
integer
Prior art date
Application number
MXPA/A/2006/003309A
Other languages
Spanish (es)
Inventor
Geiger Ralf
Schuller Gerald
Sporer Thomas
Original Assignee
Fraunhofergesellschaft Zur Foerderung Der Angewandten Forschung EV
Geiger Ralf
Schuller Gerald
Sporer Thomas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofergesellschaft Zur Foerderung Der Angewandten Forschung EV, Geiger Ralf, Schuller Gerald, Sporer Thomas filed Critical Fraunhofergesellschaft Zur Foerderung Der Angewandten Forschung EV
Publication of MXPA06003309A publication Critical patent/MXPA06003309A/en

Links

Abstract

In order to reduce a rounding error, a first and second non integral input value is provided (260,262) and in a non integral state is combined (268) by addition,for example, so that a non integral result value can be obtained, rounded and added to a third input value (269). The rounding error can thus be reduced at an interface between two rotations broken down into lifting steps or between a first rotation broken down into lifting steps and a first lifting step of a subsequent multidimensional lifting sequence.

Description

DEVICE AND METHOD FOR PROCESSING AT LEAST TWO INPUT VALUES Field of the Invention The present invention relates to signal processing and particularly to the processing of sequential value signals, such as audio samples or video samples, which are particularly suitable for applications of coding without losses. DETAILED DESCRIPTION OF THE INVENTION The present invention is further suitable for compression algorithms for discrete values comprising audio and / or image information and particularly for the coding of algorithms that include a transformation in the frequency domain or in the time domain or in the location domain, followed by an encoding, such as an entropy coding in the form of a Huffman or arithmetic coding. Modern audio coding methods, such as MPEG layer 3 (MP3) or MPEG AAC, use transformations, such as the so-called Modified Discrete Cosine Transformation (MDCT), to obtain a block-like frequency representation of a signal from Audio. Such an audio encoder commonly obtains a stream of discrete-time audio samples. The stream of audio samples is provided in a window for obtain a window block of for example 1,024 or 2,048 audio samples in window. For the provision of windows various window functions are used, such as sine window, etc. The discrete-time audio samples provided in the window are then converted into a spectral representation by means of a filter bank. In principle, for this a Fourier transformation or for special reasons, a variety of the Fourier transformation, such as an FFT or as treated, can be used for an MDCT. The block of audio spectral values at the output of the filter bank can then be further processed, if necessary. In the above audio encoders, a quantization of the audio spectral values follows, wherein the quantization steps are typically selected so that the quantization noise introduced by the quantization is below the psychoacoustic masking threshold, ie, "masks". Quantification is a dissipative coding. In order to obtain a further reduction in the amount of data, the quantized spectral values are encoded by entropy, for example by means of Huffman coding. By adding secondary information, such as graduation factors, etc., a bitstream that can be stored or transmitted is formed from the spectral values Quantities encoded by entropy by means of a bitstream multiplexer. In the audio decoder, the bit stream is divided into encoded quantized spectral values and secondary information by means of a bit stream demultiplexer. The quantized spectral values encoded by entropy are decoded by entropy first to obtain the quantized spectral values. The quantized spectral values are then quantized inversely to obtain decoded spectral values comprising quantization noise, which, however, is below the psychoacoustic masking threshold and will therefore be inaudible. These spectral values are then converted into a temporal representation by means of a synthesis filter bank to obtain decoded audio samples discrete in time. In the synthesis filter bank, a transformation algorithm inverse to the transformation algorithm must be used. In addition, the provision of windows has to be reversed after the transformation in backward of the frequency time. In order to achieve good frequency selectivity, modern audio encoders typically use block superposition. Such a case is illustrated in Figure ßa. First, for example, they take 2,048 discrete-time audio samples and windows are provided by means 402. Media 402 incorporating the window has a window length of 2N samples and provides a block of 2N provided window samples on the output side. In order to achieve an overlap of windows, a second block of 2N samples provided in window is formed by the means 404, which are illustrated separated from the means 402 in Figure 6a only for reasons of clarity. However, the 2,048 samples fed to the means 404 are not the discrete-time audio samples immediately subsequent to the first window, but contain the second half of the samples provided in window by means 402 and additionally contain only 1,024" new "samples. The overlap is symbolically illustrated by means 406 in Figure 6a, causing a degree of overlap of 50%. Both the 2N samples provided in window outputs by means 402 and the 2N samples provided in window outputs by means 404 are then subjected to the MDCT algorithm by means 408 and 410, respectively. Means 408 provide spectral values N for the first window according to the known MDCT algorithm, while means 410 also provides spectral values N, but for the second window, where there is an overlap of 50% between the first window and the second window. second window . In the decoder, the spectral values N of the first window, as shown in Figure ßb, are fed to the means 412 carrying out an inverse transformation of modified discrete cosine. The same applies to the spectral values N of the second window. These are fed to the means 414 which also carry out an inverse transformation of modified discrete cosine. Both the means 412 and the means 414 each provide 2N samples for the first window and 2N samples for the second window, respectively. In means 416, designated TDAC (cancellation of alternative names of the time domain) in Figure 6b, the fact that the two windows are superimposed is taken into account. In particular, a window yi of the second half of the first window, ie, with an index N + k, is added to a sample y2 of the first half of the second window, ie, with an index k, so that the N decoded temporal samples result in the output side, ie, in the decoder. It should be noted that, by means of function means 416, which is also referred to as an additional function, the provision of windows carried out in the encoder schematically illustrated by Figure 6a is taken into account in some way automatically, so that it does not have to no explicit "window reverse provision" is presented in the decoder illustrated by Figure 6b. If the window function implemented by means 402 or 402 is designated w (k), where the index k represents the time index, the condition that the square weight of the window w (k) added to the square weight must be met of the window (N + k) in sets is 1, where k runs from 0 to Nl. If a sine window is used whose window weights follow the first average wave of the sine function, this condition is always fulfilled, given that the square of the sine and the square of the cosine together result in the value of 1 for each angle. In the window method with the subsequent MCDT function described in Figure 6a, it is disadvantageous that the provision of windows by multiplying a discrete time sample, when thinking of a sine window, is achieved with a floating point number, since the sine at an angle between 0 and 180 degrees does not produce an integer, in addition to the 90 degree angle. Even when windows are provided for discrete samples in integer time, the floating point numbers result after the provision of windows. Consequently, even if a psychoacoustic coder is not used, i.e., if lossless coding is to be achieved, quantification will be necessary at the output of means 408 and 410, respectively, to be able to perform reasonably manageable entropy coding. Generally, the transformations currently known for coding without loss of audio and / or video are obtained by means of a decomposition of the transformations used in it in Givens rotations and applying the survey scheme to each Givens rotation. Therefore, a rounding error is introduced in each stage. For subsequent stages of Givens rotations, the rounding error continues to accumulate. The resulting approach error becomes problematic particularly for lossless audio coding methods, particularly when long transformations are used providing, for example, 1.024 spectral values, as is the case in the known MDCT with superposition and aggregation (MDCT = transformation of discrete modified cosine). Particularly in the higher frequency range, when the audio signal typically has a very low degree of energy in any way, the approach error can quickly become larger than the actual signal, so that these procedures are problematic with respect to the lossless coding and particularly with respect to the coding efficiency that can be achieved by them.
With respect to audio coding, transformations of integer, ie, transformation algorithms that generate output integer values, are based particularly on the known DCT-IV, which does not take into account a DC component, whereas transformations of entire for imaging applications are based on the DCT-II, which contains especially the provisions for the DC component. Such integer transformations, for example, are known in Y. Zeng, G. Bi, and Z. Lin, "Integer sinusoidal transforms based on lifting factorization", in Proc. ICASSP'01, May 2001, pp. 1,181 -1,184, K. Komatsu and K. Sezaki, "Reversible Discrete Cosins Transforms", in Proc. ICASSP, 1998, vol. 3, pp. 1,769 - 1,772, P. Hao and Q. Shi, "Matrix fractorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, vol. 49, pp. 2,314 - 2,324, and j. Wang, J. Sun and S. Yu, "l-d and 2-d transforms from integers to integers", in Proc. ICASSP'03, Hong Kong, April 2003. As mentioned above, the whole transformation described is based on the decomposition of the transformation into Givens rotations and the application of the well-known scheme for the Givens rotations, which results in the problem of the accumulation of rounding errors. This is particularly due to the fact that, within a transformation, the roundings must be carried out many times, i.e., after each stage of survey, so that, particularly in long transformations that cause a corresponding large number of survey steps, there must be a particularly large number of roundings. As described, this results in an accumulated error and particularly also a relatively complex process, because the rounding is carried out after each lifting step to carry out the next lifting step. Subsequently, the decomposition of the provision of MDCT windows will be illustrated again with respect to Figures 9 to 11, as described in DE 10129240 A1, where this decomposition of the provision of MDCT windows in Givens rotations with survey and the corresponding roundings is advantageously combined with the concept described in Figure 1 for the conversion and in Figure 2 for the inverse conversion, to obtain a complete integer MDCT approximation, ie, an integer MDCT (InMDCT) according to the present invention, wherein a concept of both forward and backward transformation is provided for the example of an MDCT. Figure 3 shows a diagram in overview for the preferred device of the invention to process discrete time samples representing an audio signal to obtain values of integer based on which it is The Int-MDCT integer transformation algorithm is operative. Time discrete samples are provided with windows by the device shown in Figure 3 and optionally converted into a spectral representation. The discrete time samples supplied to the device at an input 10 are provided with windows with a window w with a length corresponding to 2N discrete time samples to achieve, at an output 12, integer samples with suitable windows to become a spectral representation by means of a transformation and particularly by the means 14 to carry out an integer DCT. The integer DCT is designed to generate output values N from input values N which contrasts with the MDCT function 408 of Figure 6a which only generates spectral values N from 2N samples with window due to the MDCT equation . To provide windows to the discrete samples in time, first two discrete time samples are selected in the means 16 which together represent a vector of discrete time samples. A discrete sample at time selected by means 16 is found in the first quarter of the window. The other discrete time sample is in the second quarter of the window, as discussed in greater detail with respect to Figure 5. The vector generated by the means 16 is now provided with a rotation matrix of a dimension of 2 x 2, where this operation is not carried out directly, but by means of several so-called survey matrices. A survey matrix has the property of understanding only one element that depends on the window w and that is unequal to "1 'l0". The factorization of wave step transformation in lifting stages is presented in the specialized publication "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies and Wim Sweldens, Prepress, Bell Laboratories, Lucent Technologies, 1996. Generally, a survey scheme is a simple relationship between pairs of perfectly reconstructed filters that have the same low-pass or high-pass filters. Each pair of complementary filters can be factored into stages of survey. This applies particularly to Givens rotations. Consider the case in which the polyphase matrix is a Givens rotation. Then the following applies: Each of these three survey matrices on the right-hand side of the equals sign has the value "12 as the main diagonal element. matrix there is a second diagonal element equal to 9 and a secondary diagonal element depending on the angle of rotation. The vector is now multiplied by the third survey matrix, i.e., the survey matrix at the far right in the previous equation, to obtain a first resulting vector. This is illustrated in Figure 3 by means 18. Now the first resulting vector is rounded off with any rounding function by mapping the set of real numbers in the integer set, as illustrated in Figure 3 by means 20. At the output of the means 20, a first rounded resultant vector is obtained. The first rounded resultant vector is now supplied to the means 22 to be multiplied by the central survey matrix, i.e., second, to obtain a second resultant vector that is again rounded in the middle 24 to obtain a second rounded resultant vector. The second rounded resultant vector is now supplied to the means 26 to be multiplied by the survey matrix shown to the left in the above equation, ie, the first, to obtain a third resulting vector that is finally rounded by means 28 for finally obtain samples in integer window at output 12 that, if a spectral representation of it is desired, now has to be processed by the means 14 for obtaining spectral values of integer at the spectral output 30. Preferably, the means 14 is implemented as integer DCT-. The discrete cosine transformation according to type 4 (DCT-IV) with a length N is given by the following equation: V- i p? T (m > =? H? Ák) cos - (2k +? { 2m + l) (2) < N k-0 X The coefficients of the DCT-IV form an orthogonal matrix N x N. Each orthogonal matrix N x N can be decomposed into Givens rotations N (Nl) / 2, as discussed in the specialized publication PP Vaidyanathan, "Multirate Systems and Filter Banks" , Prentice Hall, Englewood Cliffs, 1993. It should be noted that other decompositions also exist. With respect to the classifications of the various DCT algorithms, see H. S. Malvar, "Signal Processing with Lapped Transforms," Artech House, 1992. Generally, DCT algorithms differ in the type of their basic functions. Although the DCT-IV preferred herein includes non-symmetric basic functions, ie, a cosine wave of a quarter, a cosine wave of H, a cosine wave of 5/4, a cosine wave of 7/4, etc., the discrete cosine transformation, for example, type II (DCT-II) has basic asymmetrical and symmetric point functions. The basic function 0 has a DC component, the first basic function is half of a cosine wave, the second basic anointing is a complete cosine wave, etc. due to the fact that the DCT-II places special emphasis on the DC component, it is used in the video coding, but in the audio coding, because the DC component is not relevant in the audio coding in contrast to the video encoding. In the following, we will discuss how the rotation angle of a Givens rotation depends on the window function. An MDCT with a window length of 2N can be reduced to a discrete cosine transformation of type IV with a length N. This is accomplished by explicitly carrying out the TDAC operation in the time domain and then applying the DCT-IV. In the case of an overlap of 50%, the left half of the window for a block t overlaps with the right half of the preceding block, i.e., the block t-1. The superimposed part of two consecutive blocks t-1 and t is preprocessed in the time domain, i.e., prior to transformation, as follows, i.e., processed between input 10 and output 12 of Figure 3: The values marked with the tilde are values in the output 12 of Figure 3, while the x values not marked with a tilde in the previous equation, are the values in the input 10 and / or following the means 16 for selection. The operating index k runs from 0 to N (2-l, while w represents the window function.) From the TDAC condition for the window function w, the following applies: For certain angles ak, k = 9, ..., N / 2-1, this processing in the time domain can be written as a Givens rotation, as discussed. The angle a of the Givens rotation depends on the window function w, as follows: I heard arctan [w (N / 2-l-k) / w (N / 2 + k)] (5) It will be noted that any of the window functions w can be employed as long as it complies with this TDAC condition.
In the following, a cascade encoder and decoder is described with respect to Figure 4. The discrete samples in time x (0) ax (2N-1), which are "provided in window" together by means of a window are selected first by means 16 of Figure 3 so that the sample x (0) and the sample x (Nl), ie, a sample of the first quarter of the window and a sample of the second quarter of the window, are selected to form the vector at the output of the means 16. The crossed arrows represent schematically the survey multiplications and the subsequent roundings of the means 18, 20 and 22, 24 and 26, 28, respectively, to obtain the samples in window of integer in the entrance of the DCT-IV blocks. When the first vector has been processed as described above, a second vector is also selected from the samples x (N / 2-l) and x (N / 2), ie, again, a sample from the first quarter of the window and a sample of the second quarter of the window, and again processed by the algorithm described in Figure 3. In an analogous manner, all other pairs of samples of the first and second quarters of the window are processed. The same processing is carried out for the third and fourth rooms of the first window. Now, there are 2N integer samples in window at output 12 that are now supplied to a DCT-IV transformation as illustrated in Figure 4. In particular, the window integer samples of the second and third quarters are supplied to a DCT. The samples of whole in window of the first quarter of the window are processed in a preceding DCT-IV together with the samples of whole in window of the fourth quarter of the preceding window. Analogously, in Figure 4, the fourth quarter of the window integer samples is supplied to a DCT-IV transformation in conjunction with the first quarter of the next window. The DCT-IV transformation of central integer 32 shown in Figure 4 now provides N spectral values of integer y (0) a and (N-l). These integer spectral values, for example, can now simply be encoded by entropy without requiring interpolated quantization, because the provision of windows and the transformation produce integer output values. In the right half of Figure 4, a decoder is illustrated. The decoder consists of a backward transformation and "reverse window provision" operates inversely to the encoder. It is known that an inverse DCT-IV can be used for the retrace transformation of a DCT-IV, as illustrated in Figure 4. The output values of the DCT-IV decoder 34 are now processed inversely with the corresponding values of the preceding transformation and / or the following transformation, as illustrated in Figure 4, in order to generate again the time-discrete audio samples x (0) ax (2-Nl) from the whole samples in window at the exit of means 34 and / or from the preceding and following transformation. The operation on the output side takes place by means of a reverse Givens rotation, i.e., so that the blocks 26, 28 and 22, 24 and 18, 20, respectively, are traversed in the opposite direction. This will be illustrated in greater detail with respect to the second survey matrix of equation 1. When (in the encoder) the second resulting vector is formed by multiplying the first resulting vector rounded by the second survey matrix (means 22), the following expression results: (x, y) - > (? ry + x sena) (6) The values x, y on the right-hand side of equation 6 are integers. This, however, does not apply to the value x sine a. Here, the rounding function r must be entered, as illustrated in the following equation: (X-y) V- (x, y + r (x sena)) - (7) This operation is carried out by the means 24. The reverse map layout (in the decoder) is defined as follows: (x ', y)? - (x', y '-r (x' sena)) (8) Because the minus sign is in front of the rounding operation, it becomes apparent that the integer approximation of the survey stage can be reversed without introducing an error. The application of this approach to each of the three stages of surveying leads to an integer approximation of the Givens rotation. The rounding rotation (in the encoder) can be inverted (in the decoder) without introducing an error by traversing the reverse rounding steps in inverted order, ie, if the decoding of the algorithm in Figure 3 is carried out from end to end. beginning. If the rounding function r is symmetric in point, the inverse rounding rotation is identical to the rounding rotation with the angle -a and is expressed as follows: thing sena (9) -sena thing) The lifting matrices for the decoder, i.e., for the Givens inverse rotation, in this case, result directly from equation (1) merely by replacing the expression "sine to" with the expression "-sun to". In the following, the decomposition of a common MDCT with overlapping windows 40 to 46 is illustrated, again with respect to Figure 5. Windows 40 to 46 each have an overlap of 50%. First, Givens rotations per window are carried out within the first and second quarters of a window and / or within the third and fourth quarters of a window, as schematically illustrated by arrows 48. Then the rotated values, ie, the whole samples provided with windows, are supplied to a DCN NaN so that always the second and third quarters of a window and the fourth and first quarters of a subsequent window, respectively, are converted into a spectral representation together by means of a DCT-IV algorithm. The common Givens rotations are then decomposed into rising matrices that are executed sequentially, where, after each multiplication of the survey matrix, a rounding stage is inserted so that the floating point numbers are rounded immediately after being generated. , so that prior to each multiplication of a resulting vector with a matrix of survey, the resulting vector only has an integer. The output values, therefore, always remain integer, where the use of integer input values is also preferred. This is not a limitation, because any of the exemplary PCM samples, since they are stored on a CD, are integer numerical values whose value range varies depending on the bit width, ie, depending on whether the input values discrete time digitals are 16-bit values or 24-bit values. However, the entire process can be reversed, as discussed above, by carrying out inverse rotations in reverse order. Therefore there is an integer approximation of the MDCT with a perfect reconstruction, i.e., a transformation without loss. The transformation shown provides integer output values instead of floating point values. It provides a perfect reconstruction so that no error is introduced when a forward and then a backward transformation is carried out. According to a preferred embodiment of the present invention, the transformation is a substitution for the modified discrete cosine transformation. However, other methods of transformation with integers can be carried out as long as possible a decomposition in rotations and a decomposition of the rotations in stages of survey.
Whole MDCT has most of the favorable properties of MDCT. It has an overlapping structure, whereby a better frequency selectivity is obtained than with non-superimposed block transformations. Due to the TDAC function that has already been taken into account in the provision of windows prior to transformation, a critical sampling is maintained so that the total number of spectral values representing an audio signal is equal to the total number of samples of entry. Compared to an MDCT that provides floating-point samples, the described preferred integer transformation shows that the noise compared to normal MDCT increases only in the spectral range in which there is a low signal level, although this noise is not increased. becomes noticeable at significant signal levels. But the entire process itself suggests an efficient implementation of hardware, because only multiplication stages are used that can be easily decomposed into displacement / addition steps that can be implemented by hardware in a simple and fast manner. Of course, software implementation is also possible. The integer transformation provides a good spectral representation of the audio signal and still remains in the integer area. When applied to the tonal parts of an audio signal, this results in a good concentration of energy. With this, an efficient lossless scheme can be constructed by simply cascading the provision of windows / transformation illustrated in Figure 3 with an entropy coder. In particular, the stacked coding is advantageous using escape values, as used in MPEG AAC. It is preferred to set all the values by a certain energy of two until it is adjusted to a desired code table, and then the least significant omitted bits are coded further. In comparison with the alternative of using larger code tables, the described alternative is more favorable with respect to the consumption of storage to store the code tables. An almost lossless encoder could also be obtained by simply omitting certain less significant bits. In particular for tonal signals, the entropy coding of the integer spectral values allows a high coding gain. For transient parts of the signal, the coding gain is low, due to the flat spectrum of the transient signals, ie, due to the small number of spectral values equal to or almost 0. As described in J. Herré, JD Johnston: " Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS) ", 101st AES Convention, Los Angeles, 1996, 4384 prepress, this flat condition can be used, however, using a linear prediction in the frequency domain. An alternative is an open circuit prediction. Another alternative is closed circuit prediction. The first alternative, i.e., the open circuit prediction, is called TBS. The quantization after the prediction leads to an adaptation of the noise resulting from the quantization to the temporal structure of the audio signal and therefore avoids pre-echoes in psychoacoustic audio encoders. For lossless audio coding, the second alternative, i.e., with a closed circuit prediction is more suitable, since the closed circuit prediction allows the exact reconstruction of the input signal. When this technique is applied to a generated spectrum, a rounding step has to be carried out after each stage of the prediction filter so that it remains in the area of the integers. By using the reverse filter and the same rounding function, the original spectrum can be reproduced exactly. In order to make use of the redundancy between two channels for data reduction, a central-side encoding can also be used in a lossless manner, if a rounding rotation with an angle of p / 4 is used. In comparison with the alternative of calculating the sum and difference of the left and right channels of a signal stereo, the rounding rotation has the advantage of energy conservation. The use of so-called joined stereo coding techniques can be connected or disconnected for each band, as is done in the MPEG AAC standard. Additional rotation angles can also be considered to be able to reduce redundancy between two channels more flexibly. Particularly, the transformation concept illustrated with respect to Figure 3 provides an integer implementation of the MDCT, i.e., an IntMDCT, which operates without loss with respect to the forward transformation and the subsequent backward transformation. Through the rounding steps 20, 24, 28 and the corresponding rounding steps in the integer DCT (block 14 in Figure 3), an integer processing is also always possible, ie, a processing with values more approximately quantized than which have been generated, for example, by multiplying the floating point with a survey matrix (blocks 18, 22, 26 of Figure 3). The result is that the complete IntMDCT can be carried out efficiently with respect to the calculation. The lack of loss of this IntMDCT or, generally speaking, the lack of loss of all coding algorithms referred to as lossless, refers to the fact that the signal, when encoded to achieve a coded signal and when subsequently decoded again to achieve a coded / decoded signal, is "seen" exactly as the original signal. In other words, the original signal is identical to the original encoded / decoded signal. This is an obvious contrast to so-called dissipative coding, in which, as in the case of audio encoders operating on a psychoacoustic basis, the data is irretrievably lost by the coding process and particularly by the quantization process by a psychoacoustic model. Of course, rounding errors are still introduced. Therefore, as shown with respect to Figure 3 in blocks 20, 24, 28, rounding steps are carried out which, of course, introduce a rounding error that is only "eliminated" in the decoder when they are carried out reverse operations. In this way, the concept of lossless coding / decoding differs essentially from the concepts of dissipative encoding / decoding in that, in the lossless coding / decoding concepts, the rounding error is introduced so that it can be removed again, while which is not the case in the concepts of dissipative encoding / decoding. However, if the encoded signal is considered, i.e., in the example of transformation coders, the spectrum of a block of temporary samples, the rounding in the forward transformation and / or generally the quantization of such signal result in the introduction of an error in the signal. Therefore, a rounding error is superimposed on the ideal free spectrum of error of the signal, the error being typically, for example, in the case of Figure 3, white noise including all the frequency components of the considered spectral range. This white noise superimposed on the ideal spectrum therefore represents the rounding error that occurs, for example, by rounding in blocks 20, 24, 28 during the provision of windows, ie, the pre-processing of the previous signal to the actual DCT in block 14. It should be noted in particular that, for the lossless requirement, the complete rounding error must necessarily be encoded, ie, transmitted to the decoder, because the decoder requires the introduction of full rounding error in the encoder to achieve a reconstruction without correct loss. The rounding error may not be problematic when nothing is "done" with the spectral representation, i.e., when the spectral representation is only stored, transmitted and decoded again by a correctly adapted reverse decoder. In that case, the criterion without loss will always be met, no matter how much rounding error has been entered into the spectrum. However, if something is done with the spectral representation, ie, with the ideal spectral representation of an original signal containing a rounding error, for example, if layers of graduability are generated, etc., everything works better, the smaller is the rounding error. Therefore, in lossless coding / decoding there is also the requirement that, on the one hand, a signal must be reconstructed without loss through special decoders, which, however, a signal must also have a minimum rounding error in its spectral representation for preserve the flexibility, that also the decoders without non-ideal losses can be fed with the spectral representation or that the graduation layers, etc., can be generated. As dssed above, the rounding error is expressed as white noise across the entire considered spectrum. On the other hand, particularly in high-quality applications, which are especially interesting for the case without losses, ie, in audio applications with very high sampling frequencies, such as 96 kHz, the audio signal only has a signal content reasonable in a certain spectral range, which typically only reaches up to, at most, 20 kHz. Typically, the range in which you focus most of the signal energy of the audio signal will be the range between 0 and 10 kHz, while the energy signal will decrease considerably in the range above 10 kHz. However, this does not matter to the white noise introduced by rounding. It overlaps itself through the entire considered spectral range of the energy signal. The result is that, in spectral ranges, i.e., typically in high spectral ranges where there is no or very little audio signal energy, only the rounding error will be found. At the same time, particularly due to its non-determining nature, the rounding error is also difficult to code, i.e., it is only codifiable with relatively high bit requirements. The bit requirements do not play a decisive role, particularly in some applications without losses. However, for lossless coding applications to spread more and more, it is very important to operate the bits very efficiently to combine the advantage of the missing quality reduction inherent in lossless applications also with the corresponding bit efficiency, as he knows about the concepts of dissipative coding. Although rounding error is not problematic in a lossless context since it can be eliminated in decoding, it is still significantly significant for allow decoding to be carried out without loss and / or reconstruction in the first place. On the other hand, as already discussed, the rounding error is responsible for the spectral representation becoming defective, i.e., being distorted in comparison with an ideal spectral representation of the non-rounded signal. For special cases of application, in which the spectral representation, ie, the coded signal, is really important, ie, when, for example, several graduation layers of the coded signal are generated, it is still desirable to obtain a coded representation with a Rounding error as small as possible from which, however, the rounding error that is required for a reconstruction has not been eliminated. The object of the present invention is to provide a concept with reduction of artifacts to process input values. This objective is achieved by means of a device for processing at least two input values according to claim 1 or of a method for processing at least two input values according to claim 11 or of a computer program according to 12. The present invention is based on the discovery that a reduction in rounding error can be achieved by reducing the rounding error, when two values actually they have to be rounded off and the two rounded values are then combined into a third additional value, for example, by addition, by first adding the two values in the unrounded state, ie, as a floating-point representation, and then adding only the output value added to the third value. In comparison with the common procedure, in which each value is processed individually, the concept of the invention also results in the saving of an addition process and a rounding process, so that the concept of the invention, in addition to the fact of reducing the rounding error, also contributes to a more efficient execution of the algorithm. In a preferred embodiment of the present invention, the concept of the invention is used to reduce the rounding error when two rotations divided into stages of uplift "spliced" together, ie, when there is a situation in which first, must " turn "a first value together with a third value, and when the result of this first rotation is rotated again then with a second value. An additional case of applying the concept of the invention to reduce the rounding error occurs when a stage of lifting a multidimensional survey concept is preceded by butterflies, such as occurs when a DCT of point N is divided into two DCTs that have half the length, i.e., with points N / 2. In this case, a butterfly stage will be presented before the actual multidimensional survey and a rotation stage will be presented after the multidimensional survey. In particular, the roundings required by the butterfly stage can be combined with the rounding of the first stage of the lifting of the multidimensional survey concept to reduce the rounding error. Since the number of rounding stages in the integer MDCT with provision of integer / pre-processing windows and multidimensional survey processing for the transformation has either significantly reduced compared to the prior art without applying the invention, particularly in this situation, the concept of the invention contributes to a significant reduction of the remaining rounding error, although already small. This results, for example, in a spectrum that now has only a small deviation from an ideal spectrum, due to the rounding error still present, but now very small. Particularly in the lossless coding / decoding context, the present invention can be combined with the spectral configuration of the rounding error, wherein the remaining rounding error is spectrally configured so as to be "accommodate" in the frequency range of the signal to be encoded in which the signal has a high signal energy, and that, as a consequence, the rounding error does not occur in ranges in which the signal does not have any Energy. Whereas in the prior art, the rounding error was distributed in white across the entire spectrum of the signal in lossless coding and particularly in the lossless coding based on integer algorithms, the rounding error is superimposed on the spectrum ideal in the form of a pink noise, ie, so that the noise energy, due to rounded, is present when the signal has its highest signal energy in any way, and therefore, the noise due to the error of Rounding also has low energy or even absent when the signal to be encoded has no power of its own. Therefore, the worst case is avoided, in which the rounding error, which is a random signal and therefore difficult to encode, is the only signal to be coded in a frequency range and therefore unnecessarily increases the proportion of bits . When considering an audio signal in which the energy is in the low frequency range, the rounding means is designed to achieve a low-pass spectral configuration of the rounding error generated so that, at high frequencies of the coded signal , do not There is neither signal energy nor noise energy, while the rounding error map is plotted in the range in which the signal has a lot of energy in any way. Particularly, for lossless applications, it contrasts with the prior art when a rounding error is spectrally filtered by high pass to get the rounding error from the audible range. This also corresponds to the case when the spectral range in which the rounding error occurs is filtered either electronically or by the ear itself to eliminate the rounding error. For lossless coding / decoding, however, the rounding error is absolutely required in the decoder, because otherwise the algorithm used in the decoder, which is the reverse of the lossless coding algorithm, generates distortions. The concept of the spectral configuration of the rounding error is preferably used in lossless applications with a high sampling rate, because, particularly in cases where the spectrum theoretically extends to more than 40 kHz (due to oversampling) ), the same situation is achieved in the high frequency range, in which there is no signal energy in any way, ie, in which the coding can be effected very efficiently, as in the case of a non-integer coding, in which the signal energy is also zero in the high frequency range. Since a large number of zeros is encoded very efficiently and the rounding error, which is problematic for coding, shifts to the range that is typically encoded very finely, the overall data rate of the signal is therefore reduced by comparison with the case in which the rounding error is distributed as white noise through the entire frequency range. In addition, the coding performance, and thus also the decoding performance, is increased, because no computing time has to be spent for coding and decoding the high frequency range. The concept therefore also has the result that faster signal processing can be achieved in the part of the encoder and / or in the part of the decoder. In one embodiment, the concept of configuration / reduction of the approach error is applied to invertible integer transformations, particularly in the IntMDCT. There are two areas of application, that is, on the one hand, the multidimensional survey, with which the MDCT is considerably simplified with respect to the required rounding stages, and, on the other hand, the rounding operations required in the provision of windows of entire, as it happens in pre-processing prior to actual DCT.
An error feedback concept is used for the spectral configuration of the rounding error, in which the rounding error is shifted to the frequency range in which the signal being processed has the highest signal energy. For audio signals, and particularly also for video signals, this will be the low frequency range, so that the error feedback system has a low pass property. This results in fewer rounding errors in the higher frequency range, in which there are usually fewer signal components. In the prior art, rounding errors prevail in the highest range, which must then be coded and thus the number of bits required for coding is increased. Preferably, this rounding error is reduced at the higher frequencies, which directly reduces the number of bits required for coding. Preferred embodiments of the present invention are explained in more detail below with respect to the accompanying drawings, in which: Figure 1 shows a block circuit diagram of the concept for processing a signal having a sequence of discrete values with the spectral configuration of the rounding error; Figure 2a shows a known concept for the high-pass spectral configuration of a quantization error; Figure 2b shows a concept for the low-pass configuration of the rounding error; Figure 2c shows a block circuit diagram according to an embodiment for the spectral configuration / rounding block; Figure 3 shows a block circuit diagram of a preferred means for processing time-discrete audio samples to obtain integer values from which integer spectral values can be determined; Figure 4 is a schematic illustration of the decomposition of an MDCT and an inverse MDCT in Givens rotations and two DCT-IV operations; Figure 5 is an illustration to illustrate the decomposition of the MDCT with 50 percent overlap in rotations and DCT-IV operations; Figure 6a shows a block circuit diagram of a known MDCT coder and 50 percent overlap; Figure 6b shows a block circuit diagram of a known decoder for decoding the values generated by Figure 10a; Figure 7 is an illustration of the lift in the provision of windows according to Figure 3; Figure 8 is a "concurrent" illustration of the lifting of Figure 7 for the provision of windows prior to the use of the actual transformation; Figure 9 shows an application of the spectral configuration for the provision of windows according to Figures 3, 7 and 8; Figure 10 shows block circuit diagrams of a device for conversion according to a preferred embodiment of the present invention; Figure 11 shows a device for reverse conversion according to a preferred embodiment of the present invention; Figure 12 is an illustration of the transformation of two subsequent blocks of values, as used for the present invention; Figure 13 is a detailed illustration of a multidimensional survey stage with a forward transformation matrix; - Figure 14 is an illustration of a multidimensional inverse survey stage with a backtracking transformation matrix; Figure 15 is an illustration of the present invention for the decomposition of a DCT-IV of length N into two DCT-Ivs of length N / 2; Figure 16 shows an application of the concept of the invention within the transformation with the multidimensional survey of Figure 10; Figure 17 is an illustration of two successive stages of survey for reducing the rounding error of the invention; Figure 18 is an illustration of the concept of the invention for reducing rounding error in two successive lifting stages of Figure 17; and Figure 19 shows a preferred combination of the concept of Figure 18 with the concept of Figure 16. Figure 1 shows a device for processing a signal having a sequence of discrete values that is input to the means 202 to be manipulated through of a signal input 200. The signal is typically formed to have a first frequency range, in which the signal has a high energy and to have a second frequency range in which the signal has a comparatively low energy.
If the first signal is an audio signal, it will have high energy in the first frequency range, i.e., in the low frequency range, and it will have low energy in the high frequency range. However, if the signal is a video signal, it will also have high energy in the low range, and will have low energy in the high range. In contrast to the audio signal, the frequency range in the video signal is a spatial frequency range, unless they are considered successive video frames in which there is also a temporal frequency, for example in relation to a selected image area, in successive frames. Means 202 for manipulation is generally formed to manipulate the sequence of discrete values so that a sequence of manipulated values is obtained in which at least one of the manipulated values is not integer. This sequence of discrete non-integer values is fed to the means 204 to round the sequence of manipulated values to obtain a sequence of rounded manipulated values. The rounding means 204 is formed to effect a spectral configuration of a rounding error generated by rounding so that, in the first frequency range, ie, in the frequency range where the original signal has a high energy, the The spectrally configured rounding error has a high energy, and that, in the second frequency range, ie, the frequency range where the original signal has a low energy, the spectrally configured rounding error also has low or no power. Generally, the energy of the rounding error spectrally configured in the first frequency range is therefore higher than the energy of the rounding error set spectrally in the second frequency range. However, the spectral configuration preferably does not change anything in the total energy of rounding error. Preferably, the device for generating the sequence containing error of rounded manipulated values is coupled to means 206 for converting it into a spectral representation either directly or through additional manipulation or rounding combinations. In this way, the sequence containing error of rounded manipulated values can feed directly into means 206 to convert it into a spectral representation to achieve a direct spectrum of the sequence containing error of rounded manipulated values. However, in one embodiment, the means for manipulation is a lifting step and / or a lifting matrix, and the rounding means is formed to round the non-integer results of a lifting step. In this case, the means 204 is followed by an additional means for handling which carries out the lifting step, which, in turn, is followed by a means for rounding, which in turn, is followed by a third means for manipulation that implements the third stage of lifting, where there is another manipulation so that the three stages of lifting are achieved. In this way, the sequence containing error of rounded manipulated values derived from the original sequence containing rounded manipulated error error in the output of means 204 is generated, which finally it is then converted into a spectral representation, preferably also by an integer transformation, as illustrated by block 206. The output signal of the spectral representation at the output of block 206 now has a spectrum that, in contrast to the technique above, it no longer has a distributed white rounding error, but a spectrally configured error, ie, so that there is also a high rounding error energy when the actual "useful spectrum" has a signal energy, while even in the better case there is no rounding error energy in the frequency ranges in which there is no signal energy. This spectrum is then supplied to the means 208 for entropy coding of the spectral representation. The means for entropy coding can comprise any coding method, such as Huffman coding, arithmetic coding, etc. Especially for coding a large number of spectral lines that are zero and limit each other, a process length coding is also suitable, which, of course, can not be applied in the prior art, because a truly decisive signal must be encoded here. in frequency ranges such that, however, it has a white spectrum and is therefore especially unfavorable for any type of coding tools, due to that the individual spectral values are completely uncorrelated with each other. Subsequently, a preferred embodiment of the means 204 for rounding with spectral configuration is treated with respect to Figures 2a, 2b, 2c. Figure 2a shows a known error feedback system for the spectral configuration of a quantization error, as described in the specialized book "Digitale Audiosignalverarbeitung", U. Zoelzer, Teubner-Verlag, Stutgart, 1997. An input value x (i) is supplied to an input adder 210. The output signal of the adder 210 is supplied to a quantizer 212 providing a quantized output value and (i) at the output of the spectral configuration device. In the second adder 214, the difference between the value after the quantizer 212 and the value before the quantizer 212, i.e., the rounding error e (i) is determined. The output signal from the second adder 214 is fed to delay means 216. The error e (i) delayed by a unit of time is then subtracted from the input value by means of the adder 210. This results in a high pass evaluation. of the original error signal e (n). If z_1 (-2 + z_1) is used in place of the delay means z_1 designated 216 in Figure 2a, the result is a second order high pass evaluation. In certain In such embodiments, such spectral configurations of the quantization error are used to "mask" the quantizing error of the perceptible range, ie, for example, of the low pass range of the signal x (n), so that the error of the error is not perceived. quantification. As shown in Figure 2b, a low-pass evaluation is carried out instead of achieving a spectral configuration of the error not outside the range of perception, but exactly in the range of perception. For this, the output signal of the adder 210, as shown in Figure 2b, is fed to a rounding block 218 implementing some rounding function which may be, for example, upper rounding, lower rounding, rounding by truncation, upper rounding / rounding lower than the next whole to the next except one, next except two, integers. In the error feedback path, ie, between the adder 214 and the adder 210, there is now an additional feedback block 220 with an impulse response h (n) and / or a transfer function H (z) in addition of the delay member 216. The transformation z of the output sequence, ie, Y (z), refers to the input sequence X (z) through the equation illustrated in Figure 2b. e (n) = x '(n) - y (n) In the above equation, x (n) is the input signal for the adder 210, y, and (n) is the output signal from the rounding block 218. In addition, the following equation applies: y (n) = rounding (x '(n)) In the above equation, "rounding" represents the rounding function implemented by block 218. In addition, the following equation is applied, in which "*" represents the convolution operation: x' (n) = x (n) - h (n) * e (nl) In the Z range, the following result exists: Y (z) = X '(z) + E (z) X' (z) = X (z) - E (z) z_; LH (z) Y (z) = X (z) + (1 - z_1H (z)) E (z) Since E (z) is the rounding error, it is found spectrally configured by the filter (1-z "1H (z)) In accordance with the invention, a similar low-pass transfer function is now used.The simplest transfer function similar to low pass can be obtained when it is established, for example, H (z) = -1 In this simple example, the rounding error of the previous rounding operation will be Therefore, simply go to the value to be rounded before applying the next rounding operation. Therefore, a simple low pass filtering of rounding error is achieved, which is very efficient for the present invention and therefore it is preferred. An implementation is illustrated in Figure 2c. In particular, means 202 is illustrated for manipulating an original sequence of discrete integer values that provides the sequence of discrete values not of integer Yo yi, y2, ..., on the output side. Now, in contrast to the prior art, each value is no longer rounded by itself, as illustrated, for example, with respect to blocks 20, 24, 28 in Figure 3 or with respect to blocks 104, 110, 142 in Figure 10 or 126, 132, 150 in Figure 11. Instead, the discrete non-integer values of the sequence y0, yi are filtered. Y2, y3, ..., depending on each other with a low pass characteristic in the feedback branch via the "network" shown in Figure 2c, so that the result is the described spectral configuration. Similar elements are illustrated in Figure 2c and in Figure 2b with the same reference numbers. In addition, Figure 2c shows a parallel implementation, i.e., an implementation in which the values to be rounded are provided in parallel. Of course, this illustration is only schematic. The values yo, yi. Y2, ..., can be provided sequentially to then obtain sequential output values, where in this case, a single implementation of the structure of the elements 210, 214, 216, 218, 220. The repeated structures of the elements 214, 218, 210, 220 are illustrated only for clarity. The means 204 for rounding shown in Figure 2c therefore operates to first calculate the rounded value [I]. Then, rounding error i0 is calculated. Then, the rounding error i0 is weighted (filtered) by the block 220 with the transfer function H (z) which is preferably -1, and is fed into the adder 210.-This filtering rounding error is added to the next value of the sequence y ±, whereby the result of the adder 210 is rounded off in block 218 to obtain the next rounded value [y ^]. Subsequently, the rounding error is determined again by the adder 214, ie, using the rounded value [yi] and the original value yi, where this rounding error obtained ± ?, is filtered again in block 220 to carry performed the same procedure for the next value y2 of the sequence. At this point, it should be noted that the address is irrelevant. This means that it is also possible to proceed from y with higher indices up to and ± with smaller indices, ie, in the opposite direction with respect to that symbolized particularly by the arrows in Figure 2c extending from block 220 to adder 210. The order, therefore, ie, if the procedure proceeds from Low to high sequence indices or from high to low sequence indices is not important. Particularly, 'in the case of the application of the Integer MDCT (IntMDCT), the spectral configuration of the rounding error is preferably used with special efficiency in places that meet the following conditions: A rounding error is added in several independent values adjacent to each other. - Adjacent values are (in the broadest sense) time signals that are subsequently converted into a spectral representation by a transformation, i.e., that are transferred to the frequency domain. In the following, there is a more detailed explanation in which parts of the MDCT spectral configuration of the rounding error integer are used. The first preferred embodiment consists of the provision of windows prior to the actual transformation, ie, for the rounding specified in Figure 3 by blocks 20, 24, 28. The survey operation experienced by each individual original sample i, ... , xn and underlined on the basis of Figure 3 can also be illustrated by the diagram shown in Figure 7. Here, the applications' of the three survey matrices, ie, the respective multiplication by a factor for a sample, they are illustrated in a simple way, so that the result is the sequence "from top to bottom", "from bottom to top" and "from top to bottom". With respect to the note in Figure 7, it should be noted that when an arrow reaches the horizontal line, an addition is made there. Such an addition is shown, for example, in 27 in Figure 7. When comparing Figure 4 with Figure 7, the only difference is that x (0) in Figure 4 corresponds to xl in Figure 7. To this respect, xN in Figure 7 corresponds to ax (Nl) in Figure 4. However, x (N / 2-l) of Figure 4 corresponds to xN / 2 of Figure 7. In addition x (N / 2) in Figure 4 corresponds to XN 2 + I of Figure 7, so that the result is the butterflies shown in Figure 2 by which a value of the first quarter of a window was always weighed with a value of the second quarter of the window according to the stages of survey, while analogously, also a value of the third quarter of the window is processed with a value of the fourth quarter of the window by means of the "bottom-up-down" system, as illustrated in Figure 7. There is a corresponding procedure for the pair of values xN / 2 and XN / 2 + I- Again there is a sequence of bottom-up-down, where a a descending step 29a is followed by an ascending step 29b, which in turn is followed by a downward step 29c. Therefore, Figure 7 shows the provision of integer windows by survey. This calculation can also be used without changing the result as illustrated in Figure 8. Therefore, of course, all the descending steps (all steps 29a) can be carried out first. Then all the ascending steps (29b) can be carried out to finally carry out all the descending steps 29c, so that the result is a descending block 31a, an ascending block 31b, and again a descending block 31c. It should be noted that Figure 8 corresponds to Figure 7, but in another illustration more suitable for understanding the present invention. Figure 9 now shows the concept in which rounding is carried out with spectral configuration. The concept of the calculation of the survey shown in Figure 9 corresponds to Figure 1 in which the input values i, xN / 2 represent the original sequence of integer discrete values at input 200. The evaluation blocks csi, cs2, - .., csk in the descending block 31a together form the means 202 for manipulation. The designated block [. ] / Noise configuration represents means 204 for rounding in Figure 1. The sequence containing error of the rounded manipulated values now results in the output of this block 204.
In the embodiment shown in Figure 9, the sequence of rounded manipulated values containing error is added to an additional sequence xN / 2 + -? to X to obtain a new sequence of integer discrete values, which in turn, is manipulated (by the blocks sx, sk in the rising block 31b) to again achieve a rounding in the rising block 31b by the element 204b. Then, an additive 205b is also provided as a value, as in the descending block 31a, ie, as in the case of the adder 205a, to obtain the new sequence which, in turn, is fed to a manipulator 202c, wherein the The output signal of the manipulator 202c is not integer and is rounded in additional rounding means 204c to be added in turn by an additional adder 205c, ie, to the sequence fed to the manipulator 202b. In the embodiment shown in Figure 9, the result on the output side is a block of samples not provided with windows which, according to the systematic scheme as illustrated with respect to Figure 4, are fed to the DCT- blocks. IV correspondingly displaced. These displaced DCT blocks provide a transformation to convert a sequence containing error of rounded manipulated values into a spectral representation. The DCT-IV blocks in Figure 4 thus represent an implementation of means 206 of Figure 1. Analogously, the blocks for carrying out the inverse DCT-IV represent analogous means for converting it into a temporal representation. Subsequently, the application of the multidimensional survey is treated with respect to Figures 10 to 15 to present an integer implementation of the means for converting the spectral representation 206 of Figure 10a and / or an analogous integer implementation of the inverse conversion (for a decoder). The concept of the multidimensional survey is presented in the German patent application that has the official reference number 10331803.8. Figure 10a shows a device for converting discrete values into a transformed representation with integer values. The discrete values are fed to the device through a first input 100a and through a second input 100b. A first block of discrete values is supplied through the input 100a, while a second block of discrete values is supplied through the input 100b. The discrete values represent audio data or image data and / or video data. As discussed above, the first block of discrete values and the second block of discrete values can actually include two temporarily successive blocks of audio samples. The first and second blocks of discrete values they may also include two images represented by discrete values and / or residual values after a prediction or difference values in a difference coding, etc. Alternatively, however, the two blocks of discrete values may have been subjected to pre-processing, such as in the MDCT integer implementation, where the first block and the second block of discrete values have been generated by Givens rotations to from samples really provided with windows. The first and second blocks of discrete values can therefore be derived from original audio data or image data by some processing, such as rotations, permutations, plus / minus butterflies, graduations, etc. Still, the first and second blocks of discrete values obtain audio information and / or image information, although they are not sampled directly in audio or in discrete image values. The first block of discrete values is fed to the means 102 for processing the first block of discrete values using a first transformation rule through the input 100a to obtain a first block of values transformed into an output of the means 102, as shown in Figure 10a. This first block of transformed values will typically not be integer, but will include floating-point values, since they are typically obtained by some transformation rule, such as a Fourier transformation, a Laplace transformation, an FFT, a DCT, an MDCT, an MDST or some other transformation, such as a wave-pitch transformation with any basic function. The first block of transformed values is fed to the means 104 to round off the first block of transformed values to obtain a first block of transformed values rounded on the output side. The rounding means 104 is formed to perform some rounding function, such as to carry out rounding by truncating or rounding up and / or rounding down depending on the floating point value, etc. The rounding rule implemented by means 104 is therefore responsible for the first block of rounded transformed values which again comprises only integer values whose accuracy is determined by the rounding rule used by means 104. The first block of transformed values rounded, such as the second block of discrete values applied to the second input 100b, is supplied to the means 106 to sum to obtain a second block of summed values. When considering the example of an audio signal, it is apparent that the spectral values of the first block of rounded transformed values are added to time values of the second block of discrete values by means 106. If the discrete values of the second block are, for example, example, values of In the case of voltage, it is recommended that the first block of rounded transformed values also exist as voltage amplitudes, i.e., as values with the unit V. In this case, unit problems in addition are not expected. However, it is apparent to those skilled in the art that any normalization can be carried out with the first block of rounded transformed values and / or with the second block of discrete values, in which both the first block of rounded and the second transformed values block of discrete values, for example, do not have units. The second block of summed values is supplied to the means 108 for processing the second block of summed values using a second transformation rule to obtain a second block of transformed values. If the transformation rule used in the means 102 is, for example, a time-frequency transformation rule, then the second transformation rule used in the block 108 is, for example, a frequency-time transformation rule. However, these relationships can also be reversed, so that the first and second blocks of discrete values are, for example, spectral values, so that the time values are obtained by the means 102 for processing under the transformation rule, while that the spectral values are obtained again by the means for processing by means of of the inverse transformation rule, ie, the means 108. The first and second transformation rules may therefore be a forward or reverse transformation rule, wherein the inverse transformation rule is the backward transformation rule or the reverse transformation rule. advance transformation rule, respectively. The second block of transformed values is fed to the means 110 for rounding, as shown in Figure 10a, to obtain a second block of rounded transformed values which is finally fed to the means 112 for subtraction to subtract the second block of transformed values. rounds of the first block of discrete values supplied through the first input 108a to obtain a block of integer output values of the transformed representation that may be output at the output 114. When processing the block of output values of integer representation transformed using any of the three transformation rules which has also been used in the means 102, or which differs from it and by any subsequent rounding of the block of output values transformed to obtain a block of rounded transformed output values, and by the subsequent sum of the block of output values transformed rounded s and the second block of summed values, an additional block of integer output values can be obtained of the transformed representation of the first and second blocks of discrete values with the block of the integer output values applied to the output 114. However, even without the last three stages of processing, rounding and summing, in which the block of integer output values of the transformed representation at output 114, part of the entire transformed representation can be obtained, ie, for example the first half which, upon undergoing reverse processing, allows an earlier calculation of the first and second blocks of discrete values. It should be noted at this point, that depending on the transformation rule, the first, second, and third transformation rules, if they exist, can be identical. This is the case, for example, with the DCT-IV. If an FFT was used as the first transformation rule, the IFFT, which is not identical to the FFT, could be used as the second (inverse) transformation rule. For reasons of calculation it is preferred to provide the transformation rule in the form of a matrix, which, if the number of discrete values of the first block is equal to the number of discrete values of the second block, is a quadratic NxN matrix, if the number of discrete values of the first block and the number of discrete values of the second block, respectively, is N.
In one embodiment, the means 104 and 110 for rounding are formed to round according to a rounding function that provides rounding results whose accuracy is less than the precision of a machine inherent in a computer that performs the functionalities shown in the Figure 10a. With respect to the rounding function, it should be noted that it maps a non-integer number to the next largest or smallest integer only in the preferred mode. The rounding function can also draw a map on other integers, e.g., the number 17.7 to the number 10 or to the number 20, while the rounding function effects a reduction in the precision of the number to be rounded. In the example above, the unrounded number is a number with a digit behind the comma, while the rounded number is a number that no longer has a digit behind the comma. Although in Figure 10a, means 102 for processing using the first transformation rule and means 108 for processing using the second transformation rule are shown as separate means, it should be noted that, in a particular implementation, there may be only one unit of processing. transformation function, which controlled by a special flow controller, first transforms the first block of discrete values and then transforms the second block of summed values in the opposite way.• corresponding time of the algorithm. In this case, the first and second transformation rules would be identical. The same applies to the two means 104, 110 for rounding. They also do not have to be provided as separate means, but can be implemented by a rounding function unit which, again controlled by the flow controller, first rounds the first block of transformed values and then rounds the second block of transformed values, depending on the requirement of the algorithm. In one embodiment, the first block of discrete values and the second block of discrete values are the samples provided with windows of integer, as obtained at the output of block 28 in Figure 3. The DCT of integer in block 14 of the Figure 3 is then implemented by the integer algorithm shown in Figure 1 so that the representation transformed in the example of the audio signal to which Figure 3 refers, represents the integer spectral values at the output 30 of the device shown in Figure 3. Subsequently, the means for conversely converting correspondingly to Figure 10a with respect to Figure 10b are illustrated in which, in addition to the block of output values of integer at the output of block 112 of Figure 10a , the second block of summed values is also used in the output of the means 106 of Figure 10a. With with respect to Figure 11, which will be explained in more detail below, this corresponds to the case where only the blocks 150 and 130 exist, but not the transformation block 124. Figure 10b shows a device for inverse conversion of a block of integer output values of the transformed representation, as obtained at output 114 of Figure 10a, and the second block of summed values. The second block of summed values is fed to an input 120 of the device to convert in reverse manner shown in Figure 10b. the output value block of the transformed representation is fed to an additional input 122 of the device for reverse conversion. The second summed value block is fed to the means 130 to process this block using the second transformation rule, if the transformation rule used last was the second transformation rule. The means 130 provides a first block of transformed values on the output side, which is supplied to the means 132 for rounding, which in turn, generates a first block of rounded transformed values on the output side. The first block of rounded transformed values is then subtracted from the block of output values of the transformed representation by means of means 134 to obtain the first block of discrete values in a first output 149 of the device of the Figure 10b. The first block of discrete values is supplied to the means 150 for processing this block using the first transformation rule to obtain a second block of transformed values at the output of the means 150. This second block of subtracted values transformed in turn, is round on the means 152 to obtain a second block of rounded transformed values. This second block of rounded transformed values is subtracted from the second block of summed values provided on the input side, which was input through input 120, to obtain a second block of discrete values at an output 136 on the output side. With respect to the relation of the first, the second and the third transformation rule and with respect to the special implementation of the individual function blocks in Figure 10b by common function units and a corresponding flow controller / latch, see treated with respect to Figure 10a. Subsequently, a preferred embodiment of the device for converting into a transformed representation illustrated generally in Figure 10a is described, with respect to Figure 10c. The embodiment in Figure 10a includes an additional transformation / rounding compared to Figure 10a to generate the block additional integer output values of the second block of summed values. The first input 100a includes input lines N0, ..., XN-I to enter the N values of the first block of discrete values. The "second input 100b also includes lines N for entering the values N xN, ..., x2N-" of the second block of discrete values, The means 102 of Figure 10a is illustrated as a DCT-IV transformer in Figure 10c. The DCT transformer 102 is formed to generate output N values from input N values, each of which is then rounded by the rounding rule designated "[.]" As shown by means 104 in Figure 10c The means 106 for the sum is illustrated so that a sum exists as a value This means that the output value of the means 102 with the index 0 is added to the first value of the second block of discrete values that have the index N. In general, the value of the first block of rounded transformed values at the output of the rounding means 104 with an ordinal number i, is therefore individually added to the discrete value of the second block of the output values with a number ordinal N + i, where i is an operating index that extends from 0 to N-l. The means 108 for processing using the second transformation rule is also illustrated as DCT-IV transformer. In the preferred embodiment shown in Figure 10c, the means 112 for subtracting are also formed to perform a subtraction as a value, ie, so that the output values of the rounding means 110, ie, the values of the second block of rounded transformed values, are individually subtracted from the first block of discrete values. In a modality shown in Figure 10c, it is preferable to carry out a corresponding subtraction so that a value of the second block with an ordinal number of N + i is subtracted from a value of the first block with the ordinal number i, where 1 run again from 0 to Nl. Alternatively, however, further additions / subtractions can also be carried out, so that, for example, a value of a block with an ordinal number of Nl is subtracted from the value of the other block with the ordinal number N, while this is take into account correspondingly in the inverse conversion. The means 112 for subtracting provides a block of integer output values of the transformed representation on the output side, i.e., the output values of integer y0 to yN_? of the transformed representation. In order to also obtain the remaining integer output values of the transformed representation, i.e., the additional block yN a y2H- ?, if optionally desired, the block of integer output values of the transformed representation applied to the output 114 is subjected to a transformation using the third transformation rule by means of the forward transformer 140, where the output values thereof are rounded again, as illustrated by the rounding means 142, for now carrying out an addition of these values with the second block of summed values in the output of the adder 106, as illustrated by the reference number 144 in Figure 10c. the output values of the adder 144 then represent an additional block 146 of the integer output values of the transformed representation that are designated yN to y2M -? - Subsequently, a device is treated to reverse the transformed representation according to one embodiment with respect to Figure 11. It should be noted that the operations carried out by the device illustrated in Figure 10c are inverted without loss by the device illustrated in Figure 11. Figure 11 corresponds to Figure 10b with the exception of an additional step of transformation / rounding to generate the second block of summed values, which is fed to the input 120 in the mode shown in Figure 10b, from the additional block of transformed output values. It should be noted that the addition function is reversed by the subtraction function, respectively. It should also be noted that a pair can also be provided of additor / subtracter (144 of Figure 10c and 128 in Figure 11) with input quantities inverted with respect to the sign, so that, if a group of input quantities is given with a negative sign compared to the case shown, the add-on 144 then actually performs a subtraction operation, as long as this is taken into account in the counterpart (128 in Figure 11), which would then actually carry out an addition operation. The subtractor 128 in Figure 11, the add-on 134 and the additional subtractor 154 are formed again to carry out an individual addition / subtraction as a value, where the same ordinal number processing is again used as described with with respect to Figure 10c. If another ordinal number is used than that shown in Figure 10c, this would be taken into account correspondingly in Figure 11. At the output of the subtracter 134, there is the first "discrete value block 136 designated Xo to XN-I- In order to obtain also the rest of the retro-transformed representation, the first block of discrete values is supplied to the transformer 150 which operates with the first transformation rule, whose values on the output side are rounded by the rounding means 152 and subtracted of the second block of values subtracted in the output of the subtracter 128 to finally obtain also the second block of discrete values 156 designated xN, ..., X2N-1 • Subsequently, the mathematical support for the devices, as described with respect to Figures 10a, 10b, 10c and 11, is treated with respect to Figures 12 to 15. By the illustrated device for converting and / or for Inverse conversion, integer transformation methods are provided for lossless audio coding in which the approach error is reduced. Additionally, the calculation effort is also taken into account in which the base is no longer the known procedure for applying the lifting scheme for each Givens rotation, where trivial butterflies of sum difference are always present here. They greatly increase the computing effort compared to the original non-integer version of the transformation to be copied. Normally, the survey scheme is used to obtain an invertible integer approximation of a Givens rotation.
This integer approximation is achieved by using a rounding function after each addition, i.e., after each survey step.
The survey scheme can also be used for an invertible integer approximation of certain graduation operations. In the specialized publication R. Geiger and G. Schuller, "Integer low delay and MDCT filter banks" Proc. of the Asilomar Conf. On Signáis, Systems and Computers, 2002, the following decomposition of the lifting of a 2x2 graduation matrix with a determinant equal to 1 is treated and described: This survey decomposition, which is one-dimensional, i.e., which only refers to a 2x2 graduation matrix, extends to the multidimensional case. Specifically, all the values of the above equation are replaced by matrices nxn, where n, ie, the number of discrete values of a block, is greater than or equal to 2. Thus, the result is that, for any matrix nxn T, which should preferably be invertible, the following decomposition is possible in matrices of block 2n x 2n, where En describes the nxn unit matrix: In addition to simple operations, such as permutations or multiplications by -1, all res blocks of this decomposition have the following general structure: For this block matrix of 2n x 2 n, a generalized survey scheme that also refers subsequently as a multidimensional survey can be used. For a vector of the values x = (xo, ..., x2n-?) The application of this block matrix provides the following equation: (X0, ..., X2n_?) = ((X0, • • •, Xn-l) / (Xn, • • •, X2n-1) + A • (X0, ..., Xn-1)) ^ E It should be noted that, on the right-hand side of the above equation, there exists a vector whose dimension, i.e., whose number of lines is equal to 2n. The first components n, ie, the components from 0 to nl, correspond to x0 to Xn-i- The second components n, ie, the second half of the resulting vector on the right-hand side of the previous equation, are equal to one sum of the second block of discrete values, ie, xn, ..., x2n-? but now added with the multiplication of the matrix A corresponding to the transformation matrix of Figures 10a, 10b, 10c and 11, and to the first block of discrete values x0, -., xn -? - The transformation matrix represents the first, the second and the third transformation rule, respectively. Similar to the common survey scheme with 2 x 2 matrices of the form these 2n x 2n matrices can be used for inverted integer approximations of the T transformation as follows. For integer input values (x0, ..., X2n-?) the floating point output values (y0, - - • / yn-i) = A (xo, ..., xn-?) Are rounded, ie to integer values, before being added to the integer values (x0, ..., x2n-?) • The inverse of the block matrix results as follows: Therefore, this process can be inverted without error simply by using the same matrix A and the same rounding function, and now subtracting the resulting values instead of the addition in the advance processing. The forward processing is illustrated in Figure 13, while the backward process is illustrated in Figure 14. It should be noted that the transformation matrix in Figure 13 is identical to the transformation matrix in the Figure 14, which is preferred for simplicity of implementation. Because the values (x0, - • -, xn-?) Are not modified in the advance stage shown in Figure 13, they are still present for the inverse stage, ie, for the step of recoil in Figure 14 It should be noted that there are no specific restrictions for matrix A. Consequently, it does not have to be necessarily invertible. In order to obtain an invertible integer approximation of the known MDCT, the MDCT is decomposed into Givens rotations in a first stage, where this stage is the stage of provision of windows, and in a subsequent stage of DCT-IV. This decomposition is discussed in Figure 3, which will be explained in the following and described in detail in DE 10129240 A1. In contrast to the prior art, in which the DCT-IV decomposes in various stages of Givens rotations, the transformation itself remains unchanged and is subsequently rounded. It is known that therefore the integer approach of the DCT-IV is carried out by means of several stages of Givens rotations based on the survey. The number of Givens rotations is determined by the fast underlined algorithm used. Therefore, the number of Givens rotations is given by 0 (N log N) for a transformation of the length N. The stage of provision of windows of each MDCT decomposition consists of only N / 2 Givens rotations or 3N / 2 rounding stages. Thus, particularly for high transformation lengths, such as those used in audio coding applications (eg 1.024), the integer approach of the DCT-IV provides the main contribution to the approach error. The procedure uses the multidimensional survey scheme, described. Therefore, the number of rounding stages in the DCT-IV is reduced to 3N / 2, ie, it is equal to the number of rounding stages in the window provision stage, ie, compared to approximately 2N log2 N stages of rounding in the conventional procedure based on the survey. The DCT-IV is applied to two blocks of signals at the same time. One possibility for this is illustrated in Figure 12, where, for example, two temporarily successive blocks of samples are simply submitted to a DCT-IV. The two blocks that undergo the two transformations, however, can also be samples of two channels of a multichannel signal. The decomposition of the multidimensional survey equation described above is applied to the transformation rule that can also be considered as a matrix of N x N. As the inverse, particularly for the DCT-IV, it is again the DCT-IV, the result is the following decomposition for the concept shown in Figure 12: DCT I, V 0 JN E N DCTjy 0 JN DCT i, v J DCTIV IN J E N VEN DCT i, v J The permutations of the multiplications by -1 can be extracted in different block matrices, so that the result is the following: (DCT I, V ~ EN 0 E N E JNM - E N 0 DCT r, v ° ENJ DCTjy EN 0 0 Therefore, the application of a transformation to two blocks of signals, i.e., to two blocks of discrete values, can be obtained preferably with three stages of multidimensional surveying: JN 0? (E JN "- DCT lwn? Í E N 0 DCTW IN J 0 JN J DCTjy ENJ The above equation is illustrated graphically in Figure 10c based on one modality. The inverse conversion is illustrated correspondingly in Figure 11 as discussed. With the procedure, two DCT-IV transformations of length N can be implemented in an invertible manner, where only 3 N rounding steps, i.e., 3 N / 2 rounding stages per transformation, are required.
The DCT-IV in the multidimensional survey stages can have any implementation, i.e., for example, an implementation based on a floating point or based on a fixed point. It does not even have to be invertible. It only has to be carried out in exactly the same way in the process of advancement and withdrawal. As a result, this concept is suitable for high transformation lengths, such as 1.024, as used in current audio coding applications. The complexity of the total computation is equal to 1.5 times the computation complexity of the non-integral implementation of the two DCT-IV transformations. This computation complexity is still significantly lower than for conventional integral implementations based on the survey that are approximately twice as complex as the conventional DCT-IV, because these implementations have to use trivial plus / minus butterflies based on survey scheme used to achieve energy conservation, as described in R. Geiger, T. Sporer, J. Koller and K. Brandenburg, "Audio Coding Based on Integer Transforms" in IIIa AES Convention, New York, 2001. The illustrated procedure will calculate at least two DCT-IV transformations at the same time, that is, ie, within a conversion. This can be achieved, for example, by calculating the DCT-IV transformation for two successive blocks of the audio signal or two successive images of an image signal. In the case of a two-channel stereo signal, this can also be achieved by calculating the DCT-IV of the left and right channel in a conversion action and / or a reverse conversion action. The first version introduces an additional delay of one block in the system. The second version is possible for stereo channels and / or generally speaking, for multichannel signals. Alternatively, if both options are not desired, but a normal length of block processing of N values must be maintained, the DCT-IV of length N may also be decomposed into two DCT-IV transformations of length N / 2. In this context, see, Y. Zeng, G. Bi and Z. Lin, "Integer sinusoidal transforms based on lifting factorization", in Proc. ICASSP'01, May 2001, pp. 1,181 -1,184, where this decomposition is treated. In addition to the two DCT transformations of length N / 2, several additional stages of Givens rotations are required. In this algorithm, a block matrix is also applied. i.e., N / 2 plus / minus butterflies, a diagonal block matrix with N / 2 Givens rotations and also some matrixes of permutation. Using these additional steps of N / 2 Givens rotations, the multidimensional survey procedure can also be used for the calculation of just one DCT-IV of length N. The basic structure of this algorithm is illustrated in Figure 15, where, in addition, of the actual conversion stage, in which two DCT-IV transformations are used with the length of N / 2, there is a first butterfly stage to calculate the first and second blocks of discrete values, which, however, now only have a length of N / 2 . A step of rotation on the output side is also provided to obtain the output values y0, ..., yu-i of the block of output values of the transformed representation and the additional block of output values of the transformed representation, that, however, now have only N / 2 values each, where the previous ones are equal to the output values of a DCT-IV operation of Figure 12, as is apparent in a comparison of the indices on the input and on the output side of Figure 15 and Figure 12. So far, only the application of the multidimensional survey for block matrices was treated in the following way.
T 0 or r_1 However, it is also possible to decompose other block matrices in stages of multidimensional surveying. For example, the following decomposition can be used to implement the combination of a stage with more / less normalized butterflies and two blocks of the DCT-IV transformations by three stages of the multidimensional survey: -N N DCT I, V JN or? X E ^ NN - Í2DCT ITVV E 'NJ 0 E E JNN - 2DCT TWV E ^ N J N From the previous equation, it becomes apparent that the first transformation rule that is used in the brackets on the left of the previous equation, and the second transformation rule, which is used in the central brackets of the previous equation, and the The third transformation rule that is used in the final brackets of the previous equation does not have to be identical.
Furthermore, it becomes apparent from the above equation that not only can block matrices be decomposed in which only the main diagonal elements are occupied, but fully occupied arrays can also be processed. It should also be noted that there is no restriction that the transformation rules used to convert a representation must be identical or even related to each other, so that, for example, the second transformation rule is the backward transformation rule for the first transformation rule. Basically, three mutually different transformation rules can also be used, while this is taken into account in the inverse representation. In this context, we refer again to Figures 10c and 11. In the conversion of the discrete values for a transformed representation, the means 102 can be formed to implement any transformation rule 1. Furthermore, means 108 can also be formed to use any other or the same transformation rule referred to as transformation rule 2. Means 140 can be further formed to generally use any transformation rule 3 that does not necessarily have to be the same as the first or the second transformation rule. However, in the inverse conversion of the transformed representation an adaptation to the transformation rules 1 to 3 treated in Figure 10c must be found, so that the first means 124 to convert does not execute any transformation rule, but the rule of transformation 3 executed in block 140 of Figure 10c. Correspondingly, the means 130 in Figure 11 has to execute the transformation rule 2 which it was also executed by block 108 in Figure 10c. Finally, the means 150 of Figure 11 has to execute the transformation rule 1 that was also executed by the means 103 of Figure 10c, so that an inverse conversion without losses is obtained. Figure 16 shows a modification of the concept described in Figure 10c. In particular, the roundings in the elements 104, 110, 142 for the forward transformation or in the elements 126, 132, 152 in the backward transformation are no longer executed as a sample, but in such a way that there is a spectral configuration of the rounding error. When comparing Figure 10c with Figure 16, it is apparent that it is preferred to replace only the block 104 with the block 204a and use only the block 204b instead of the rounding block 110. This is the case because the concept is especially advantageous when there is a subsequent transformation in the frequency range where the white noise of the rounding error is problematic when a spectral configuration is not carried out. Since there is no frequency transformation after rounding 142, the spectral configuration in block 142 would no longer imply the advantage. However, this is the case for block 204a, because there is again a frequency conversion by the transformation in block 108. The The spectral configuration in block 204b is therefore still advantageous, because a transformation again exists by the last block 140. However, as is apparent with respect to Figure 16, the rounding error configured by noise already enters the block output 114, so that, in block 204b, a common rounding could already have already been carried out as illustrated by blocks 110 in Figure 10c, instead of the spectral configuration of rounding error. It depends on the individual case of application, whether it will be a rounding of spectral configuration or a common rounding, ie, with a rounding error having a white spectral distribution, at the end of the second transformation, ie, the transformation 108. The independent rounding of a certain number of, for example, k-values is therefore replaced by a rounding with a spectral configuration which can also be referred to as "dependent rounding". It is apparent from what has been discussed above with respect to Figure 16, that the spectral configuration of the rounding error can also be used in the integer DCT required for the IntMDCT. However, it has to be considered here, as discussed, that the spectral configuration for error feedback is only particularly advantageous when the values that are going to Rounding off are time signals that are transferred to the frequency domain by an additional transformation step. Accordingly, as illustrated with respect to the multidimensional survey of Figure 16, the spectral configuration is advantageous in the first two stages, but is no longer necessarily advantageous in the third stage. It should be noted that Figure 16 shows the case in an encoder corresponding to Figure 10c. The case in the decoder corresponding to Figure 16 results directly from a comparison of Figure 16 and Figure 11. The decoder directly corresponding to Figure 16 results from Figure 11 because all the blocks operate in an identical manner, with the exception of the two rounding blocks 132, 152. In Figure 11 these two rounding blocks operate as independent rounding blocks and will be replaced in the decoder, by dependent rounding blocks 204a, 204b having all the structure shown with respect to the Figure 2c, for example. In particular, it should be noted that exactly the same spectral configuration rounding algorithm will be used in the decoder as in the encoder. The concept illustrated in Figures 2b and 2c, particularly for H (z) = "-1", is also especially suitable for achieving a reduction of the invention of the error of rounding and particularly the reduction of rounding error in integer transformations. According to the invention, such rounding error reduction is possible when two floating point values are rounded off and aggregated at the same value instead of different values. Such an exemplary situation is illustrated in Figure 17. Here, there is a first stage of survey with a bottom-up-down sequence between the participants of the survey xx and x3. There is also a second survey sequence with the known bottom-up-down sequence, but now with the survey participants x2 and x3. In particular, the value x3 obtained in the first survey operation is used to serve as an addition partner in the second stage of the survey, as is apparent from Figure 17. Again, it should be noted that, when an arrow reaches the horizontal line, this represents an addition. In other words, a value that has just been rounded is therefore added to the value corresponding to the horizontal line. Specifically, in the example shown in Figure 17, the value Xi e weighs first (block 250) and is then individually rounded (block 252). The output signal of block 252 is added to x3 (block 254). Then, the result of addition 254 is weighed again (block 256) and rounded again (block 258). The result of this rounding 258 is now added to xi (260). The result of the addition 260 is weighed again (block 262) and rounded (block 264) to be added to the current value of x3 (to block 266). Correspondingly, the value x2 is weighed by a block 270 and then rounded by a block 272. The result of the block 272 is added (274) now to the current value of x3. Then it is weighed again (276) and rounded (278) to add (280) the result of block 278 new ded to the current value of x2. The result of this addition 280 is weighed again (block 282), and the heavy result is rounded (block 284) to then add the result of rounding block 284 again now to the current value of x3 (block 286) to obtain a resultant values for x3. It is apparent from Figure 17 that the first value, ie, the result of block 262, is rounded and then added to x3. In addition, a second value, ie, the result of block 270, is also rounded (block 272) and then added to the value x3 (addr 274). Therefore, there is a situation where two floating-point values are rounded one after the other and added to the same value instead of different values. In the example shown in Figure 17, the result of the third and fourth stages is added to the same value, i.e., x3, so that the sum is made with the rounding function [. ]: [XÍ-CSI] + [x2-cs2] in the error of the third stage of lifting in rounding it is fed in the fourth stage of lifting, the error of the third stage can be used in this case and only one rounding error is generated instead of two rounding errors. With respect to the calculation, this results in the following: [Xl-CSi] + [X2'CS2 + (Xi'CSi - [Xl "CS?])] = [Xl'CSi] + [X2'CS2 + Xl- CSi] - [Xl-CSi] = [X2-CS2 + [Xi'CSi] With respect to the calculation, the feeding of the rounding error in the next rounding step is therefore, in this case, identical to the addition of the values of a subsequent rounding This situation is illustrated in Figure 18, where Figure 18 corresponds to Figure 17, while, however, the two separate rounding blocks 264, 272 and the two separate adders 266, 274 are As a result, the results of the two blocks 262 and 270 are first aggregated in unrounded form and then rounded in. In favorable cases, the rounding error therefore lies at At the output of block 268, there is now only a single value that is added to x3 by an addend 269. It can also to enter a combination of rounding error reduction and configuration, for example, when a set of Givens rotations and a multidimensional survey stage follow each other, as illustrated in Figure 19. Here, by way of example only, the last stage of the down-up-down sequence for various values is brought to with the values xx to x4, ie, for example, the descending step 31c of Figure 9. These values are now added to the corresponding values to which the rounded values in Figure 16 are also added, ie, the values in the output of block 204a. in this case, it is preferred to add the non-rounded values first, that is, by the adders 203 shown in Figure 19, to then round the aggregated values in block 204 in Figure 19 and simultaneously subject them to noise settings so that then only a single rounding error is obtained and the output values after addition by the add-ons 106 contain less error. The situation in Figure 19 therefore results when Figure 9 is placed to the left of Figure 16, and particularly when an N / 2 value of the DCT-IV is used instead of an N-value of DCT-IV. According to the invention, it is therefore preferred to combine the reduction of the rounding error with the rounding error configuration. In the case of rounding error reduction, various input values are processed and rounded together, where Rounding values are added to a value, while, in the case of the spectral configuration of the rounding error, rounding values are rounded independently from each other and aggregated to different respectively different values. Furthermore it should be noted that the situation in Figure 19 can also be presented, when, as illustrated in Figure 15, N / 2 DCTs are used. Here, prior to the conversion stage, ie, prior to the two DCT blocks, there is the step referred to as the butterfly stage in Figure 15, in which the input values x0 to XN / 2-I are weighed and rounded correspondingly to then be added to the same values to which the values of the DCT-IV stage are also added. It should also be noted that the conversion step in Figure 15 is illustrated only schematically. The two DCT-IV blocks illustrated schematically in Figure 15 are replaced by the components shown in Figure 16 in a practical implementation, if, in Figure 16, we write xN / 2-? instead of xN- ?, and if it is written instead of n / 2, and if xN_ is written? Instead of Xu / 2 -? - Therefore Figure 19 shows a particularly preferred implementation for monoapplications, i.e., for the case in which a DCT-IV N / 2 is used. Depending on the circumstances, the method of the invention for rounding can be implemented in hardware or in software. The implementation can be done in digital storage media, particularly a floating disk or a CD with control signals that can be read electronically, which can cooperate with a programmable computer system so that the method is carried out. Generally, the invention also consists of a computer program product with a program code for carrying out the method of the invention stored in a machine readable vehicle, when the computer program is run on a computer. In other words, the invention is also therefore a computer program with a program code to carry out the method, when the computer program runs on a computer.

Claims (13)

  1. CLAIMS 1. A device for processing at least two input values, comprising: means for providing a first non-integer input value and a second non-integer input value; and means for combining the first input value and the second input value to obtain a non-integer resultant value and to round the resulting value to obtain a rounded resultant value. The device of claim 1, wherein the means for combining is designed to form a sum or a difference. The device of claim 1 or 2, wherein the first and second input values are discrete values that include audio and / or video information. The device of one of the preceding claims, further comprising: means for coupling the resulting value to a third input value to obtain an output value. The device of claim 4, wherein the coupling means is designed as an additive or subtracter. The device of claim 4 or 5, wherein the third input value is an integer input value so that the output value is also a value whole. The device of one of the preceding claims, wherein the means for providing are designed to generate the first input value from a first original value and a third value (x3) by means of a first and a second step of lifting and the subsequent weighting and to generate the second input value by weighting from a second original input value (x2). The device of claim 7, which is further designed to add the entire resulting value to a third input value modified by a lifting operation and to carry out a second and a third lifting step of a rotation with the third input value modified by a survey operation and the second entry value. The device of one of the preceding claims, wherein the means for providing are designed to weight a first original value to obtain the first input value and to calculate the second input value by a transformation from a sequence of values of original entries to which the first original value belongs (xi). 10. The device of claim 9, further including a means for adding the entire input value to an additional input value that is part of a sequence that has been processed by a first transformation rule to obtain a value of an additional sequence that it will be processed by a second transformation rule, where the first transformation rule and the second transformation rule are transformation rules that define a first and a second stage of multidimensional surveying. Method for processing at least two input values, comprising: providing a first non-integer input value and a second non-integer input value; and combining the first input value and the second input value to obtain a non-integer resultant value and to round the resulting value to obtain a rounded resultant value. The method of claim 11, wherein after the combining step the following step is carried out: coupling the resulting value to a third integer input value to obtain an integer output value. 13. A computer program that has a program code to carry out the claim method , when the program runs on a computer,
MXPA/A/2006/003309A 2003-10-02 2006-03-24 Device and method for processing at least two input values MXPA06003309A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10345996.0 2003-10-02

Publications (1)

Publication Number Publication Date
MXPA06003309A true MXPA06003309A (en) 2006-12-13

Family

ID=

Similar Documents

Publication Publication Date Title
US7917564B2 (en) Device and method for processing a signal having a sequence of discrete values
US7873227B2 (en) Device and method for processing at least two input values
US8195730B2 (en) Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation
JP3814611B2 (en) Method and apparatus for processing time discrete audio sample values
KR20100103580A (en) Fast algorithms for computation of 5-point dct-ii, dct-iv, and dst-iv, and architectures
EP1687736A1 (en) Process and device for determining a transforming element for a given transformation function, method and device for transforming a digital signal from the time domain into the frequency domain and vice versa and computer readable medium
CN100570597C (en) Digital signal is transformed to the method for frequency field and reciprocal transformation thereof from time domain
MXPA06003309A (en) Device and method for processing at least two input values
Huang et al. Integer fast modified cosine transform
AU2002358578A1 (en) Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data