Device and method for processing at least two input values
FIELD: computer engineering, possible use for processing signals for serially incoming values.
SUBSTANCE: device contains means for generating first non-integer input value and second non-integer input value, where the first non-integer input value is composed of first source value and third source value by means of first elevation step and second elevation step and following weighing, second non-integer input value is formed by weighing the second source value; means for combining the first and second non-integer input values and for rounding off the non-integer resulting value.
EFFECT: reduced rounding error.
5 cl, 24 dwg
The proposed invention relates to signal processing, and more particularly to signal processing for sequentially entering values, for example values of samples of the audio data or the values of samples of video data, which, in particular, is suitable for applications of lossless encoding.
The proposed invention is also suitable for compression algorithms for discrete values that have audio and/or video information, in particular for coding algorithms, which include the transformation into the frequency domain or the time domain, or region location, followed by coding, for example, entropy encoding in the form of encoding of Chapman or arithmetic encoding.
Modern methods of audio encoding, such as MPEG layer 3 (MP3) or MPEG AAC apply transformations, such as the so-called modified discrete cosine transform (MDCP)to get a block frequency representation of the audio signal. Such audio encoder usually receives a stream of discrete time sample values of the audio signal. The stream of sample values of the audio signal being weighted by a window function to obtain a weighted block, for example, 1024 or 2048 sample values of the audio signal. For the weighting function of Windows uses different window functions, such as sine is the OSC, etc.
Weighted window function of discrete time sample values of the audio data is then converted through a set of filters in the spectral representation. In principle, this can be used Fourier transform or, for special reasons, some derived type Fourier transform such as fast Fourier transform (FFT) or MGCP. The block of spectral values of the audio data at the output of the filter set may, as necessary, be subjected to further processing. In the case of the above AudioCodes is the so-called quantization of the spectral values of the audio data, and the quantization step is selected so that the quantization noise is caused by quantization, was below the psychoacoustic masking threshold, that is, were disguised. Quantization is a coding loss. To further reduce the amount of data of the quantized spectral values are then encoded, for example, by entropy encoding of hatmana. By adding auxiliary information, such as the scaling coefficients, etc. from the entropy encoded quantized spectral values by means of the multiplexer bit stream generated bit stream, which is stored or transmitted.
In the audio decoder bit stream is the exploits of de-multiplexing the bit stream is divided into encoded quantized spectral values and supporting information. Entropy encoded quantized spectral values are first subjected to entropy decoding to obtain the quantized spectral values. The quantized spectral values are then subjected to inverse quantization to obtain the decoded spectral values containing quantization noise, which are below the psychoacoustic masking threshold and therefore become inaudible. These spectral values are then converted through a set of filters synthesis temporary representation in order to obtain a discrete-time decoded sample values of the audio signal. In the set of synthesis filters should apply the conversion algorithm, reverse the above conversion algorithm. In addition, after the inverse time-frequency transform of the weighting function of the window must be in the opposite direction.
In order to achieve a good selectivity in frequency, modern AudioCodes in a typical case, use overlapping blocks, as shown in figa. First, for example, are 2048 discrete time sample values of the audio signal and are weighted by the window function by the device 402. The window that is implemented by the device 402 has a window length equal to 2N sample values, and outputs to the output unit of 2N values SEL the rock. To obtain overlapping Windows, first through the device 404, which figa shown separately from the device 402 for purposes of illustration only, is formed in the second block of 2N-weighted window function of the sample values. However, put into the device 404 2048 sample values are not discrete time sample values of the audio signal, directly adjacent to the first window, and contains the second half of the sample values, weighted by the window function with the help of the device 402, and additionally only 1024 "new" values of the samples. The overlap is symbolically represented on figa using device 406, which provides the degree of overlap of 50%. As 2N weighted sample values issued by the device 402, and 2N weighted sample values issued by the device 404, and then treated in accordance with the algorithm MDCP through device 408 or 410. Unit 408 generates, according to well-known algorithm MDCP, N spectral values for the first window, while the device 410 generates an N spectral values, but for the second window, and between the first window and the second window there is an overlap of 50%.
The decoder N spectral values of the first window, as shown in fig.6b, served on the device 412, which performs the inverse modified discrete cosine transformation. Same with reventive for N spectral values of the second window. They are served on the device 414, which also performs the inverse modified discrete cosine transformation. As the device 412, and a device issue 414, respectively 2N sample values for the first window and the 2N sample values for the second window.
In device 416, as indicated on fig.6b abbreviation TDAC (compensation aliasing in the time domain), take account of the fact that the two Windows overlap. In particular, the sampled value y1the second half of the first window, i.e. with index N+k, is added to the sampled value y2the first half of the second window, i.e. with index k, so that at the output, i.e. the decoder is obtained N temporary decoded sample values.
It should be noted that due to the features of this device 416, which is also called the summation function, the weighting function window, held schematically represented in figa the encoder, to a certain extent taken into account automatically, so that the decoder presented on fig.6b, explicitly, there is no "inverse weighting function window.
If we denote the function box, sold by the device 402 or 404 as w(k), where the index k represents a time index, it must satisfy the condition that the weight of the window w(k) squared, summed with the weight of the window w(N+k) squared, gives 1, and k varies in p is adelah from 0 to N-1. If you use the sine window, the weight of which corresponds to the first half-wave of the sine function, this condition is always executed as the square of the sine and the square of the cosine of each angle sum up to 1.
The disadvantage of this method of weighing the window function, described with reference to figa, followed by the application of functions MDCP lies in the fact that the weighting function window is implemented by multiplying the discrete time sample values, assuming a sine window, using floating-point numbers, since the sine of an angle in the range from 0 to 180 degrees except 90 degrees, does not give a whole number. And when weighted by the window function are integer values of samples after weighing the window function also arise floating-point number.
Therefore, and without the use of psychoacoustic encoder, that is, when should it be implemented lossless encoding, the output device 408 or 410 must quantization, to be able of carrying out to some extent foreseeable entropy encoding.
Thus, the modern well-known integer transforms for audio and/or video encoding lossless implement due to the decomposition used in this transformation on the Givens-rotation and application of schemes for raising Givens-rotation. Thus at each step introduces a rounding error. For further stages of the Givens-rotation rounding error more and more accumulated. The resulting approximation error becomes, especially for audio lossless problematic, in particular if applied long conversion that produce, for example, 1024 spectral values, as is the case, for example, known MDCP with overlapping and summing up. In particular, in the high frequency region, where the audio signal already has in a typical case, a very small energy content, the approximation error can quickly become larger magnitude than the actual signal, so that such application in respect of lossless encoding and, in particular, in relation to the achievable coding efficiency are problematic.
Integer conversion, i.e. the conversion algorithms that produce an integer output values are based, in the aspect of the audio, in particular, on the well-known DCT-IV, which does not take into account the DC component, while the integer conversion with respect to the images rather are based on the DCT-II, which contains the modes, specially provided for the permanent component. Such integer transform is known, for example, the C following: Y.Zeng, G.Bi, Z.Lin, "Integer sinusoidal transforms based on lifting factorization", Proc. ICASSP'01, May 2001, p.1.181-1.184; K.Komatsu, K.Sezaki, "Reversible Discrete Cosine Trasnsform", Proc. ICASSP, 1998, V.3, p.1.769-1.772; P.Hao, Q.Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, V.49, p.2.314-2.324; J.Wang, J.Sun, S.Yu, "1-d and 2-d transforms from integers to integers", Proc. ICASSP'03, Hong Kong, April 2003.
As set forth in the said work described in integer conversions are based on the decomposition of transformations in the Givens-rotation and the application of the known schemes to raise Givens-rotations, which entails the problem of the accumulation of rounding errors. This is due, in particular, the fact that within the same transformation must repeatedly be rounded, for example, after each step of lifting, so especially for long conversions that are accompanied by correspondingly large number of lifting steps, most often should be the operation of rounding. As shown, this results in the accumulation of errors, but also to relatively high processing costs, as always after each step raise is rounding to execute the next step of raising.
Next, with reference to figures 9-11, again presents the decomposition of the weighting function window algorithm MDCP, as it is described in the document DE 10129240 A1, and this decomposition of the weighting algorithm MDCP on Givens-rotation matrix raised the Oia and the corresponding rounding, the preferred way, can be combined with the principle shown in figure 1 to convert and figure 2 for the inverse transform to get the full integer approximation MDCP, i.e. integer MDCP, according to the present invention, and for example MDCP can be implemented as the principle of direct conversion and the reverse conversion.
Figure 3 shows a generalized diagram corresponding to the invention a preferred method of processing the discrete time sample values that represent the audio signal to obtain an integer value, based on which the algorithm operates integer conversion MDCP. Discrete time sample values, shown by figure 3 of the device are weighted by the window function, and optionally, can be transformed into a spectral representation. Discrete time sample values, an input device 10, weighted by window functions w with length corresponding to 2N discrete time sample values to output 12 to obtain an integer-weighted values of the samples that are suitable for through a transformation, in particular a device 14 for performing integer DCT, translate them into a spectral representation. C is localename DCT is performed for in order from N input values to generate N output values that differ from the functions MDCP 408 on figa that 2N weighted sample values based on equations MDCP produces only N spectral values.
For weighting window function of discrete time sample values first device 16 selects two discrete time sample values, which together represent the vector of discrete time sample values. Discrete time sampled value, which is selected through the device 16 is in the first quarter of the window. Another discrete time sampled value is in the second quarter window, as it is more detailed with the help of figure 5. To the generated device 16 vector is used then the rotation matrix of dimension 2 × 2, and this operation is not directly, but through a set of so-called matrix lifting.
The matrix lifting has the property that it has only one element, which depends on the window w and is not equal to "1" or "0".
Factorization of wave transformation steps uplift presented in the publication "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies, Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996. In a generalized sense, the lifting scheme is a simple relation between the ideal reconstructed pairs Phi is trow, which contain the same filters low pass or high-pass. Each pair of complementary filters can be well-lifting steps. In particular, this is true for Givens-rotations. Consider the case in which polyphase matrix corresponds to the Givens-rotation. Then true equality:
Each of the three standing in the right part of the equality of matrices lifting has as elements of the main diagonal set to "1". In addition, each matrix lifting one element of the secondary diagonal are equal to "0" and one secondary element of the diagonal depends on the angle α.
The vector is then multiplied by the third matrix lifting, i.e. the rightmost matrix uplift in the above equality to get the resultant vector. This is represented in figure 3 by the device 18. Then the first result vector is approximated using any of the rounding function, which maps the set of real numbers the set of integers, as shown in figure 3 the device 20. The output device 20 turns rounded first result vector. Rounded first result vector is introduced now in the device 22 for multiplying the average, that is, the second, the matrix lifting to obtain the second result, vecto is, which again is rounded in the device 24 to receive the rounded second result vector. Rounded the second result vector is introduced now in the device 26 for multiplying on the left in the above equation, that is, first, the matrix lifting, to obtain a third result vector, which, in the end, again rounded in the device 28, to obtain at the output 12 of an integer-weighted window function of the sample values, which are then, if it is desirable spectral representation must be processed by the device 14 to obtain the spectral output 30 of the integer spectral values.
A preferred manner, the device 14 is performed as the device integer DCT.
The discrete cosine transform according to the type 4 (DCT-IV) with length N is defined by the following equation:
The coefficients of the DCT-IV to form the orthogonal matrix of size N x N. Each orthogonal matrix of size N x N can be decomposed into N(N-1)/2 Givens-rotations, as presented in the publication P.P.Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993. It should be noted that there are other decomposition.
Concerning the classification of different DCT algorithms can be referenced in the work H.S.Malvar, "Signal Processing With Lapped Transfors", Artech House, 1992. In General, the DCT algorithms differ in the way their basic functions. While the algorithm for DCT-IV, which is considered as the preferred, includes asymmetrical basic functions, that is, a quarter wave cosinusoid, 3/4 wave cosinusoid, 5/4 wave cosinusoid, 7/4 wave cosinusoid etc., the discrete cosine transform, for example, type II (DCT-II) is asymmetric and centrally symmetric basic functions. 0-th base function has a constant component, the first base function is a wave of cosinusoid, the second basic function is a full cosinusoid etc. On the basis of the fact that the DCT-II, in particular, takes into account the DC component, it is used for video encoding, but not for audio as for audio, as opposed to coding, the DC component is not relevant.
The following describes how the angle α Givens-rotation depends on the window function weighting.
MDCP with window length 2N can be reduced to cosine transform of type IV with length N. This is because the surgery is performed TDAC explicitly in the time domain, and then applies the DCT-IV. At 50% overlap overlaps the left half of the window to block t with the right half of the previous block, i.e. the block is t-1. The overlapping part of two consecutive blocks t-1 and t in the time domain, i.e. before conversion is processed as follows, that is, between the inlet 10 and outlet 12 at 3:
Denoted by a tilde values represent values at the output 12 of figure 3, while the values of x without a tilde in the above equation represent values at the input 10, or after the device 16 to select. The index k varies from 0 to N/2-1, and w is a window function weighting.
From the condition TDAC for the window function weighting w follows the following relationship:
For a particular angle αkwhere k=0, ..., N/2-1, this pre-processing in the time domain can be described as Givens rotation, as it is executed.
Angle α Givens-rotation depends, therefore, on the window function weighting w:
It should be noted that there can be any window function weighting w, if they comply with the TDAC.
Next, with reference to figure 4 describes the cascaded encoder and decoder. Discrete time sample values from x(0) to x(2N-1), which are allocated through the window, first select so with the help of the device 16 figure 3 that the selected value using the RCTs x(0) and the sampled value x(N-1), that is, the sampled value of the first quarter of the window and the sampled value from the second quarter of the window to form a vector on the output device 16. Intersecting arrows schematically represent multiplication elevation with subsequent rounding of the devices 18, 20, 22, 24, 26, 28, to the input blocks of DCT-IV to obtain the integer-weighted window function of the sample values.
When the first vector is processed as described above, then the second vector of sample values x(N/2-1) and x(N/2), i.e. the newly sampled value from the first quarter of the window and the sampled value from the second quarter of the window is selected and processed by means described in figure 3 of the algorithm. Similarly handled all other pairs of sample values of the first and second quarter of the window. The same processing is performed for the third and fourth quarters of the first window. After this output 12 has 2N weighted integer sample values, which now, as shown in figure 4, are introduced in the transformation of the DCT-IV. In particular, the weighted integer sample values of the second and third quarters are entered in the DCT. Weighted integer values of samples of the first quarter window are processed in the previous DCT-IV together with a weighted integer values of samples of the fourth quarter of the previous window. Similarly, the fourth quarter of vesvese the different integer values of the samples in figure 4 together with the first quarter of the next window is entered in the transformation of the DCT-IV. The average shown in figure 4 integer transform DCT-IV 32 produces N integer spectral values of y(0) to y(N-1). These integer spectral values can now, for example, simply entropy encoded, without requiring an intermediate quantization, since the weighting function window and the conversion yield integer output values.
In the right half of figure 4 shows the decoder. The decoder consists of the inverse transform and the inverse window weighting", working back towards the encoder. It is known that the inverse transform relative to the DCT-IV can be applied inverse DCT-IV, as shown in figure 4. The output values of the decoder DCT-IV 34, as shown in figure 4, is now subjected to inverse processing with the corresponding values of the previous transformation or subsequent conversion to integer weighted sample values at the output device 34 or the previous and subsequent changes again to develop a discrete-time sample values of the audio signal from x(0) to x(2N-1).
Operation on the output side through the inverse Givens-rotation, so that the blocks 26, 28, or 22, 24, or 18, 20 passes in the opposite direction. This is over presented in detail by using the second matrix lifting equation 1). If (encoder) the second result vector is formed by multiplying the rounded first result vector with the second matrix uplift (unit 22), we get the following expression:
The values x, y in the right side of the equality (6) are integers. However, this is not the case for the value of the expression sin x α. In this connection, you need to enter the rounding function r, as represented by the following equation:
This operation is performed by the device 24.
Inverse display (decoder) is defined as follows:
Using the minus sign before the rounding operation shows that the integer approximation of the step of raising can apply without having errors. The application of this approximation on each of the three lifting steps leads to an integer approximation of the Givens-rotation. The rounded rotation (in the encoder) can undergo reverse rotation (in the decoder), without introducing errors, namely, that the inverse rounded lifting steps are traversed in reverse order, that is, when decoding algorithm in figure 3 is traversed from bottom to top.
If the rounding function r is centrally symmetric, inverse rounded rotation is identical to the rounded rotation angle#x003B1; and is written as follows:
The matrix raises for the decoder, i.e. the inverse Givens-rotation, is obtained in this case directly from the equality (1), only the expression "sin α" is replaced by the expression "-sin α".
Below with reference to figure 5 again considered the normal decomposition MDCP with overlapping Windows 40-46. Open 40-46 overlap, respectively, by 50%. Each window is first performed Givens-rotation within the first and second quarter of the window or within the third and fourth quarter of the window, as is schematically shown in figure 5 by the arrow 48. Then the rotated values, that is, weighted by the window function integer sample values that are entered in the DCT that implements the conversion from N to N (DCT of N in N) in such a way that always the second and third quarter of the window or, respectively, the fourth and the first quarter of the subsequent window together is converted to a spectral representation by means of the DCT-IV.
Then the usual Givens-rotation decay in matrix-raising, which are executed sequentially, and after each multiplication on the matrix lifting is performed the step of rounding in such a way that the floating-point number rounded immediately after their formation, so that before each multiplication result vector to the matrix raised the Oia resulting vector contains only integers.
The output values remain, therefore, is always an integer, and preferred is also the use of integer input values. This is not a restriction, since any sample values, for example, signal (pulse-code modulation (PCM), as they are stored, for example, on a compact disk (CD), are integers, the range of values which varies according to the duration of the bit, i.e. depending on whether the discrete time digital input values 16-bit values 24-bit values. However, how this is done, the whole process is inverted, i.e. the inverse rotation is performed in the reverse sequence. Thus, there is an integer approximation MDCP with perfect reconstruction, i.e., the conversion is lossless.
Shows the transformation produces output integer output values instead of floating point. It provides perfect reconstruction, so do not enter any errors, if you are straight, and then reverse the transformation. This transformation, according to a preferred variant of the invention, replaces the modified discrete cosine transformation. However, other transformation methods can perform is implemented in integer form if possible decomposition into rotation and decay of spins on the steps of lifting.
Integer MDCP has most of the useful properties MDCP. It has a structure with overlapping, which result in better frequency selectivity than with block transformations without overlapping. Based on TDAC, which is taken into account when weighing the window function before converting, remains critical of the taking of the samples, so the total number of spectral values that represent the audio signal is equal to the total number of input sample values.
Comparison with normal MGCP, which produces values of samples floating-point shows the described preferred integer conversion that only in the spectral region in which there is a low level signal, the noise is increased compared to normal MGCP, while this increase in noise is not noticeable at large signal levels. But the integer processing provides an efficient implementation in hardware, as they apply only steps of multiplication, which can easily decompose on the steps of shifting and summation, which simply and quickly can be implemented by the hardware. Of course, also possible to realize by using the software.
Integer conversion is in charge of the AET good spectral representation of the audio signal and remains in the field of integers. If it is applied to the tonal parts of the audio signal, it results in good energy concentration. Thereby, it is possible to form an effective coding scheme is lossless, simply due to the fact that shown in figure 3, the weighting function window and the conversion cascade associated with entropy encoder. In particular, it is preferable to piecemeal encoding using values of the transition, as used in MPEG AAC. It is preferable that all values are scaled down a degree or two, until they are aligned with the desired code table, and then dropped less significant bits are additionally coded. Compared to the alternative use of a larger code tables described option is more favourable in respect of the requirements to the volume of memory for storing code tables. The encoder essentially without losses could also be obtained due to the fact that certain of the least significant bits are simply discarded.
In particular, for tone entropy encoding of the integer spectral values provides a high gain due to coding. For transient parts of the signal win when encoding is low, namely in view of the uniform spectrum of transient signals, i.e. due to neznachitel the tion of the number of spectral values, which is equal or close to zero. As described in the work J.Herre, J.D.Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)" 101. AES Convention, Los Angeles 1996, Preprint 4384, this uniformity of the spectrum is used, however, in that private area is used for linear prediction. The alternative is forecasting open circuit. Another alternative is provided by the device of forecasting closed loop. The first option, i.e. the forecasting device with open-circuited, called TNS. Quantization after forecasting leads to adaptation of the resulting quantization noise to the time structure of audio and prevents ahead of the echo in the psychoacoustic audiocorder. For audio lossless fits the second alternative, that is, with the device of forecasting closed loop, because the prediction of closed-loop provides a more accurate reconstruction of the input signal. If this method is applied to the generated spectrum, after each step of the prediction filter should be rounded to stay in the field of integers. By applying the inverse filter and the same functions rounding can again just to restore the original range.
To use the redundancy between DV is two channels for data reduction, may also be used in the encoding of the secondary-side areas lossless, if you use the rounded rotation angle π/4. Compared with the alternative of calculating the sum and difference of the left and right channels of the stereo rounded rotation has the advantage of obtaining energy. The use of so-called methods of joint stereociliary can for each band to be included or excluded, as it is according to the standard MPEG AAC. Other angles can also be taken into account in order to have more flexibility to reduce redundancy between the two channels.
In particular, it is shown in figure 3 the principle of conversion provides the integer implementation MDCP, i.e. integer MDCP, which is lossless with respect to the direct conversion and reverse conversion. In addition, due to the stages of rounding 20, 24, 28 and the respective stages of rounding in integer DCT (block 14 figure 3) is still possible integer processing, i.e. processing with more coarsely quantized values than they are, for example, was formed by multiplying the floating-point matrix uplift (blocks 18, 22, 26 figure 3).
This leads to the fact that all integer MDCP can also be effective computing.
No loss this telecision the th MDCP, in General, no loss of the entire coding algorithm, referred to as lossless encoding, due to the fact that the signal, when it is encoded to obtain a coded signal, and when it is again decoded to obtain coded/decoded signal, looks exactly as the original signal. In other words, the original signal is identical to the encoded/decoded original signal. This is clearly contrary to the so-called encoding is lossy, in which, as in the case of AudioCodes who work on psychoacoustic basis, due to the encoding process and especially due to the quantization process, which is controlled by a psychoacoustic model, data is permanently lost.
But, of course, introduces rounding errors. So are the stages of rounding, as shown in figure 3 in blocks 20, 24, 28, which, of course, introduce a rounding error, which again is not an option" only in the decoder, when the reverse operation. Thus, the principles of encoder/decoder lossless fundamentally different from the concepts of encoder/decoder with losses by the fact that in the case of concepts of encoder/decoder lossless rounding error is introduced in such a way that it can again be excluded, while in the case of the concept of encoder/decoder with loss that is not the case.p> However, if we consider the coded signal, that is, in the case of encoders with conversion - range unit time sample values, rounding up for direct conversion or, in the General case, the quantization of such a signal causes the signal is injected error. Thus the ideal spectrum of the signal without errors superimposed rounding error, which in a typical case, such as in the example in figure 3, is a white noise, which evenly around all frequency components of the considered spectral range. This superimposed on the ideal spectrum of white noise is, therefore, a rounding error that occurred, for example, due to rounding in blocks 20, 24, 28 at the time of weighing the window function, that is, pre-processing of the signal before actual processing of the DCT in block 14. Especially it should be noted that requirements no losses all the rounding error must be encoded, that is, must be transmitted to the decoder as the decoder required all entered in the encoder, the rounding error, again to ensure no loss restore.
The rounding error, however, does not create problems if there is not in the spectral representation, i.e. when the spectral representation is only tolerated in the stored and newly decoded by what redstem correctly consistent inverse decoder. In this case, always runs the absence of losses, regardless of how many rounding errors introduced in the spectrum. If, however, with the spectral representation, that is, from the ideal spectral representation, exposed to the effects of rounding errors, the initial signal that something is being done, for example, are formed levels of scalability and so on, all these things are functioning better than less rounding error.
Thus, when encoding/decoding there is also a requirement that the signal on the one hand, should be restored without loss through a special decoder that signal, however, must have the smallest possible rounding error in the spectral representation in order to maintain a significant degree of flexibility that the spectral representation can also be entered in nonideal decoders lossless or may be formed of the zoom levels, etc.
As already noted, the rounding error appears as white noise throughout the considered range. On the other hand, especially in applications characterized by high quality, especially interesting in the variant without losses, as well as in audio applications with very high frequencies of samples, such as 96 kHz, the audio signal would have a reasonable content only in a certain spectral region to which I could reach up to 20 kHz. In a typical case, the area in which is concentrated the maximum energy of the audio signal, is the area between 0 and 10 kHz, while in the region above 10 kHz the signal energy is already significantly decreases. However, for the noise introduced by rounding, this ratio is indifferent. It is superimposed on all the considered spectral range of the signal energy. This leads to the fact that in the spectral regions, i.e. in the typical case, high spectral range, where the audio signal is missing or there is only a very small amount of energy of the audio signal will have only a rounding error. The rounding error, in particular, due to its determenirovana character, also causes problems when encoding, i.e. it can be coded only at relatively high bit cost. Bit costs, particularly in some applications without a loss, do not play, however, a decisive role. However, in order to expand the possibility of using lossless encoding, and in this case, it is the opportunity to work with high bit efficiency to the advantage inherent in applications without loss, i.e. the lack of degradation, also be combined with the corresponding bit of efficiency, as is known from the concept of lossy encoding.
Although in the context of applications to the deposits without loss rounding error, thus, it is not a problem because it can be excluded when decoding, however, is of great importance to ensure that the decoding without loss or recovery could be. On the other hand, as indicated above, the rounding error is responsible for the fact that the spectral view is erroneous, that is distorted compared to the ideal spectral representation unrounded signal. For certain applications, in which really applies spectral representation, that is, the encoded signal, namely, when the encoded signal, for example, are produced with different zoom levels, it is desirable to obtain the encoded representation with possibly a small rounding error, from which, however, cannot be excluded, the rounding error, which is required for recovery.
The present invention is to create a principle of processing the input values, characterized by reduced input distortion.
This problem is solved by the processing device, at least two input values, according to paragraph 1 of the claims, or the method of processing at least two input values, according to paragraph 11 of the claims, or computer prog what Amma, according to paragraph 12 of the claims.
The basis of the present invention is the knowledge that the reduction of the rounding errors can be achieved due to the fact that it is always in terms of when exactly two values should be rounded and two rounded values are then combined, for example, by adding another third value, the rounding error is reduced due to the fact that the first two values are summed in the unrounded condition, that is, in the floating-point representation, and only then total output is summed with the third value. Compared with the conventional method steps, in which each value is treated separately, the principle underlying the invention, leads to the fact that one of the tabulation process and one process of rounding can be saved, so that the principle underlying the invention, along with the fact that reduces rounding error, contributes to a more effective implementation of the algorithm.
In a preferred embodiment of the claimed invention, the principle underlying the invention is used to reduce rounding errors, when two rotation produced by the decomposition into lifting steps, "encounter" each other, i.e. when there is a situation in which the first value with the third value should be "Evernote together, and then the result of the first rotation must be again rotated with the second value.
Another case of application corresponding to the invention of the principle of reducing rounding errors exist when the step of raising the concept of multidimensional included raising Butterflies (butterflies), as is the case when N-point DCT is split into two DCT half-length, i.e. with N/2 points. In this case, before the actual MDX is implemented by raising the level of "butterfly", and after multidimensional lifting - degree rotation. In particular, the required steps "butterfly" rounding can be combined with the rounding of the first stage of raising the concept of multidimensional lifting to reduce roundoff error.
After the number of steps of rounding when an integer MDCP integer weighting function open/pre-processing and multidimensional treatment raises for conversion, in comparison with the prior art, so already greatly reduced without the use of the invention, corresponding to the principle of the invention, especially in this situation contributes to a significant reduction still remaining, but it is already a low round-off errors. This leads to the fact that, for example, the spectrum has a very small variance relative to the ideal spectrum, due to the existing, but however strongly SN is defined rounding error.
The present invention can be combined, especially in the context of encoding/decoding, without interference with the spectral shaping of rounding errors, and still a rounding error spectral formed in such a way that it "fits" in the private range encoded signal in which the signal has high energy, and, thus, rounding errors are essentially not in those areas where the signal has a low energy. At that time, as according to the prior art, when the lossless encoding and, in particular, when the lossless encoding on the basis of integer algorithms rounding error across the spectrum of the signal is distributed as white noise, the ideal range of the rounding error is applied in the form of colored noise, namely in such a way that the energy of the noise, due to rounding, there where the signal has its maximum energy, and thus the noise due to rounding error, also has low energy or non-existent where the encoded signal itself also does not contain energy. This makes it possible to avoid the adverse case, when the rounding error, which represents the hard coded stochastic signal is in a frequency range of only signal and thereby useless increases the bit rate.
If con is tsya audio in the case of which the energy is concentrated at low frequencies, the device rounding is performed so as to realize the spectral shaping of the low-pass filter formed by rounding errors, so that at high frequencies the encoded signal had no energy signal or energy of the noise, while the rounding error is displayed on the range, where the signal has high energy.
In particular, for applications of lossless encoding this solution is different from the prior art, in which the rounding error is subjected to high frequency filtering to display the rounding error is outside the audible range. This corresponds, therefore, to the case in which the spectral range where the rounding error, filtered or electronic means, or by the organ of hearing, to avoid rounding error. For encoding/decoding without loss of the rounding error is required in the decoder, as otherwise used in the decoder algorithm, which is the inverse of the encoding algorithm is lossless, will lead to distortion.
The principle of spectral formation of rounding errors, the preferred way is used in applications characterized by the absence of losses, with a high sampling rate, because the particular in cases where the spectra theoretically continue to frequencies above 40 kHz (due to the application of overdisclosure), in the high frequency range, in which essentially no energy signal, that is, which can be implemented in a very efficient encoding is implemented the same situation as in the case of non-integer encoding, in which the high frequency range of the signal energy is also equal to zero.
Due to the fact that a large number of zeros is encoded in a very efficient manner, and that the rounding error, which is difficult to encode, shifts in range, which in a typical case can be coded very accurately, the full data rate of the signal is reduced compared with the case where the rounding error in the form of white noise is distributed across the entire frequency range. In addition, the coding efficiency - and thereby the efficiency of decoding is increased, so as to encode and decode a higher frequency range should not spent time on calculations. Thus, this principle leads to the fact that can be implemented faster processing on the side of the encoder and, accordingly, on the side of the decoder.
In one form of the principle of formation or reduction of the error of approximation is applied in inverted tselochislennoi the conversion, in particular, when the integer MDCP. There are two areas of use, in particular, on the one hand, multidimensional lifting, which MDCP can be greatly simplified, with regard to the required stages of rounding, and on the other hand, the operation of rounding required when an integer weighting function window, as they appear in the pre-treatment before the actual DCT.
For the spectral shaping of the rounding errors is based on the principle of feedback on error, in which the rounding error is shifted in the frequency range in which the signal that is being processed at the moment, has the highest signal energy. In the case of audio signals and, in particular, the video signal is a low frequency range, so that the feedback system in error will have the properties of low-frequency filtering. This ensures less rounding errors in the higher frequency range, which typically have less signal components. In the higher range is dominated by rounding errors according to the prior art, which must then be encoded and, thus, increase required to encode the number of bits. The preferred way this rounding error is reduced at high frequencies, which direct the military reduces the number of bits required for encoding.
Preferred examples of the claimed invention is explained below in more detail with reference to the drawings, which represent the following:
Figure 1 - block diagram of the principle of the signal processing sequence of discrete values with spectral shaping rounding errors;
Figa - known principle of spectral shaping with high-frequency filtering of the quantization errors;
Fig.2b - the principle of forming a low frequency filtering rounding errors;
Figs - block diagram, according to the exemplary embodiment, the block of spectral formation/rounding;
Figure 3 - block diagram of the preferred option device processing of discrete time sample values to obtain integer values, which can be defined integer spectral values;
4 is a schematic representation of the decomposition MDCP and inverse MDCP on Givens-rotation and two operations DCT-IV;
5 is a view to illustrate the decomposition MDCP with 50% overlap on rotation and operations of the DCT-IV;
Figa is a block diagram of a known encoder with MDK and 50% overlap;
Fig.6b is a block diagram of a known decoder for decoding values generated according figa;
Fig.7 is a view of raising the weighing function of the window according to figure 3;
F. g - "unsorted" representation raising according to Fig.7 for weighing a window function before actual conversion;
Figure 9 - application of spectral shaping for weighing the window function according to Fig 3, 7 and 8;
Figa-with - block-diagram of the device for conversion according to a preferred variant implementation of the present invention;
11 - unit inverse transformation according to a preferred variant implementation of the present invention;
Fig view of the conversion of two consecutive blocks of values, as it applies to the claimed invention;
Fig - detailed view MDX step of raising the matrix of direct conversion;
Fig - detailed representation of multidimensional inverse step elevation with the inverse transformation matrix;
Fig view of the present invention for the decomposition of the DCT-IV of length N into two DCT-IV of length N/2;
Fig - application corresponding to the invention of the principle in the framework of the conversion to a multi-dimensional lifting in figure 10;
Fig representation of two successive stages of raising to reduce rounding errors in accordance with the invention;
Fig representation corresponding to the invention of the principle of reduce rounding errors for the following two each on the natives of lifting steps; and
Fig - preferred combination of principle pig with the principle Fig.
Figure 1 shows the device for processing the signal with a sequence of discrete values, which are introduced into the signal input 200 to the device 202 for processing. The signal is typically formed to have a first frequency range in which the signal has high energy, and to have a second frequency range in which the signal has a relatively low energy. If the first signal is an audio signal, it is in the first frequency range, i.e. in the low-frequency range, will have high energy, and in the high frequency range - low energy. If the signal is a video signal, it is also in the low-frequency range will be high in energy, and in the high frequency range - low energy. In contrast to the audio frequency range of the video signal is a region of spatial frequencies, then let will be considered consecutive video frames, for which there is a temporary frequency related, for example, to a selected area of the image in successive frames.
The device 202 for processing, in principle, is designed to process a sequence of discrete values to obtain a sequence of treatments the data values, among which at least one processed value is not an integer. This sequence is non-integer discrete values is entered in the device 204 to rounding sequence of values processed to obtain a sequence rounded processed values. The device 204 to rounding designed in a way that ensures the effect on spectral shaping rounding errors due to rounding, so that the spectral formed a rounding error in the first frequency range, i.e. in the frequency range where the original signal has a high energy, also had high energy and to spectral formed a rounding error in the second frequency range, i.e. in the frequency range where the original signal has a low energy, also had low energy or no energy. In principle, the spectral energy generated rounding errors in the first frequency range, thus, higher than the energy of the spectral formed a rounding error in the second frequency range. Spectral formation, however, does not change the total energy of rounding errors.
A preferred manner, the apparatus for forming with error sequence rounded processed values from Asano directly or through an optional combination treatment/rounding device 206 for conversion into a spectral representation. So having the error sequence rounded processed values can be entered directly into the device 206 for conversion to spectral representation to obtain close range with error sequence rounded processed values. In one exemplary embodiment, the device for processing implements the step of raising or matrix lifting and device for rounding to ensure rounding non-integer results of step raise. In this case, the device 204 is an optional device for processing that performs the second step of raising and which is again followed by a device for rounding off, after which again followed by the third device for processing, which implements the third step of lifting, and then re-processed, so that completed all three steps of lifting. Thus, from the original with error sequence rounded processed output device 204 is generated bred with error sequence rounded processed values, which then, in the end, preferably by an integer conversion is converted into a spectral representation, as represented by block 206. The output signal spectral representation at the output of block 206 is when ECtHR, which, in contrast to the prior art, no longer has distributed rounding errors, and has a rounding error, which is the spectral formed, namely in such a way that where actually "useful range" has a high energy signal, there is also a high energy rounding, while in the frequency ranges where there is no signal energy, in the best case there is no energy rounding errors.
This spectrum is then fed into the device 208 for entropy coding of the spectral representation. Device for entropy coding can use some encoding method, for example the encoding of Chapman, arithmetic coding, etc. In particular, to encode a large number of spectral lines that are equal to "zero" and which are adjacent to each other, suitable run-length encoding, which, of course, not applicable in the prior art, as in similar frequency ranges must be encoded in fact deterministic signal, which, however, has a white spectrum and therefore completely unsuitable for funds encoding of any type, as the individual spectral values are completely uncorrelated with each other.
Next, with reference to figa, 2b, 2C, and described the preferred implementation of the device 20 for rounding with spectral shaping.
On figa presents a well-known system with feedback error for the spectral shaping of the quantization error, as described in the book "Digitale Audiosignalverarbeitung", U.Zoelzer, Teubner-Verlag, Stuttgart, 1997. The input value x(i) is applied to the input of the adder 210. The output signal of the adder 210 is supplied to the quantizer 212, which generates a quantized output value y(i) on the output spectral shaping. In the second adder 214 is determined by the difference between the value after the quantizer 212 and value before the quantizer 212, that is, the rounding error e(i). The output signal of the second adder 214 is fed into the device 216 delays. The error e(i)detained in a unit of time, is subtracted from the input values by using the adder 210. Thus the evaluation by means of high frequency filtering of the original signal e(n) error.
If, instead, the unit delay z-1marked on figa reference position 216, apply z-1(-2 + z-1), implement the assessment through a high frequency filter of the second order. Such spectral shaping of the quantization error in certain embodiments can be used to cut the quantization error of the perceived range, that is, for example, from a range of low-pass filtering the signal x(n)to the error quanto the project was not perceived.
Instead, as shown in fig.2b is assessed through a low-pass filter to the spectral shaping of the error to realize not outside the perceivable range, namely the perceived range. For this purpose the output signal of the adder 210, as shown in fig.2b, is entered in block 218 rounding, which implements some function of rounding, which may be a rounding abundant, rounding to lack, rounding, truncation, rounding with excess/deficiency, relative to the nearest whole number, the next nearest, next the next nearest whole number, etc. In the feedback circuit by mistake, thus, between the adder 214 and the adder 210 is, in addition to the link delay 216, another block 220 feedback with impulse response h(n) or the transfer function H(z). An output sequence that is subjected to z-transformation, that is, Y(z), associated with the input sequence X(z) is represented on fig.2b by the equation:
In the presented equation x(n) is the input signal of the adder 210, and y(n) is the output signal of block 218 rounding.
In addition, we have the following equation:
In the above equation "round" is the rounding function, which is implemented by block 218. Cu is IU, we have the following equation, where "*" denotes the convolution operation:
In the Z-region, we get the following:
After E(z) is defined as rounding errors, it is subjected to spectral filtering with filter (1 - z-1H(z)). In accordance with the invention is then used transfer function type low-frequency bandpass filter.
The simplest transfer function type low-frequency bandpass filter can be obtained if, for example, set H(z)= -1. In this simple example, the rounding error from a previous operation of rounding just summed with the value to be rounded before it will be applied the next operation of rounding. This creates a simple and very effective, and therefore preferred for the claimed invention low-pass filtering rounding errors.
The implementation presented on figs. In particular, the device 202 to manipulate the original sequence of discrete integer values, which produces at the output a sequence of non-integer discrete values of y0, y1, y2, ..., yi. Then, in contrast to the prior art, is rounded, not every C is Uchenie, as it is, for example, represented by blocks 20, 24, 28, figure 3, or using blocks 104, 110, 142 figure 10, or by using blocks 126, 132, 150 figure 11. Instead, non-integer discrete values of the sequence y0, y1, y2, y3, ..., are filtered using a shown in figs "scheme" independently of each characteristic of the low-frequency band-pass filter in the feedback circuit, so that the outcome is described spectral shaping. Elements identical to elements shown in fig.2b represented with the same reference position.
In addition, figs presents a parallel implementation, and implementation, which are subject to rounding values are provided in parallel. Of course, this view is only schematic. The values of y0, y1, y2, ..., can be presented consistently in order to get consistent output values, and in this case, only a single run of the structure of the elements 210, 214, 216, 218, 220. Only reasons of clarity, depicts a repeating structure elements 214, 218, 210, 220.
Shown in figs device 204 to rounding acts, therefore, in order first of all to calculate the rounded value [y0]. Then we can calculate the error i0OCD is glenie. Then the error i0rounding weighted (filtered) by block 220 with transfer function H(z), which, preferably, is equal to -1, and summed in the adder 210. This filtered rounding error is added to the next value of the sequence yi, then the result of the adder 210 is rounded in block 218 to receive the rounded following value [y1]. Then, using the adder 214 is again determined by the rounding error, in particular, with the use of rounded values [y1] and the initial values y1and received this error rounding the values of i1again filtered in block 220, in order to carry out the same procedure for the next value of y2sequence.
It should be noted that the direction is irrelevant. This means that you can navigate from the values of yiwith large indices to the values of yiwith smaller indices, i.e. in the opposite direction, as shown in figs arrows that pass from block 220 to the adder 210. Thus, the order, that is, the transition from low to high indices of a sequence, or from high to low indices of a sequence, plays no role.
In particular, when using integer MDCP spectral shaping of the error is rounding preferably is especially effective under the following conditions:
- Multiple adjacent values independently added to the rounding error.
In the case of neighboring values it is (in a broad sense) on the temporal signals, which are then by converting converted into a spectral representation, that is translated into the frequency domain.
In more detail below explains in what parts of the integer MDCP preferably used spectral shaping rounding errors.
The first preferred case of application is the weighting function of the window before the actual conversion, i.e. for rounding that figure 3 is determined by the blocks 20, 24, 28. Operation uplift, as it is perceived by each individual sampled value x1, ..., xNand as it is described by figure 3, can also be illustrated using the diagram shown in Fig.7. This presents the application of the three matrices lifting, i.e. corresponding multiplication factor for the sample values, for each sampled value, so the result is a sequence of top-down, bottom-up and top-down.
In the case of trademarks in Fig.7. it should be noted that when the arrow appears on the horizontal line, this means that you are adding. Such an addition, for example, indicated in Fig.7 reference position 27. If cf is unity Fig.4 to Fig.7, the only difference is that x(0) figure 4 corresponds to x17. Also, xN7 corresponds to x(N-1) figure 4. In addition, x(N/2-1) figure 4 corresponds to xN/27, and x(N/2) in figure 4 corresponds to xN/2+17, so that the implemented "butterflies", shown in figure 4, through which the appropriate value from the first quarter window weighted value from the second quarter of the window according to the steps of raising, while, similarly, the value of the third quarter window is processed value of the fourth quarter window procedure systematics "down-up-down, as shown in Fig.7.
Accordingly, processing is carried out for pairs of values of xN/2and xN/2+1. Here again applies a sequence of "down-up-down and step down 29A should step up 29b, which again should step down 29s.
7 shows, therefore, the integer weighting function window lifting. This calculation can easily be sorted in the reverse direction, without changing the result, as shown in Fig. So you can, of course, first be carried out all the steps down (all steps 29A). Then can be done all the steps up (29b) and, finally, all the steps down (29s), so it's a block down 31A, block up 31b and again block down s. Should the tmetal, what Fig corresponds to Fig.7, but in the other view, which largely contributes to the understanding of the present invention.
Fig.9 shows the principle in which the rounding is done with spectral shaping. The principle of calculation of the uplift illustrated in figure 9 corresponds to figure 1 in that the input values x1xN/2represent the original sequence of integer discrete values at the input 200. Blocks evaluation cs1cs2, ..., cskin block down 31A together form the device 202 for processing. Block, denoted by [.]/The formation of Noise, is the device 204 for rounding, is shown in figure 1. The output of this block is now having the error sequence rounded processed values.
In the exemplary embodiment shown in Fig.9, the sequence with errors rounded processed values are summed with another sequence of xN/2+1to xNto obtain a new integer sequence of discrete values, which is again processed through blocks s1, skin the "up" 31b), in order to then implement the rounding in the block "up" 31b through the element 204b. Then again, as in the "down" 31A, and as in the case of the adder 205A, there is element-by-element adder 205b that is, returns a new sequence, which again is entered in block s processing, and the output signal of the block s processing is non-integer and in the subsequent block s rounding rounded to re-summarized in the subsequent adder s sequence entered in block 202b processing.
The output is, in the case of the example of execution represented in Fig.9, the block of sample values, weighted by the window function, which, in accordance with the taxonomy depicted in figure 4, is introduced into the correspondingly shifted blocks of DCT-IV. These shifted DCT blocks provide the conversion allows you to convert with error sequence rounded processed values in the spectral representation. The blocks of DCT-IV in figure 4 represent, therefore, the implementation of the device 206, as shown in figure 1. Similarly, blocks to perform inverse integer DCT-IV are similar devices for the conversion of a temporary view.
Next, with reference to figure 10-15 clarifies the application of multidimensional lifting to represent the integer implementation of the device for conversion into a spectral representation 206 on figa and, accordingly, similar to the integer implementation of the inverse transform (for decoder). The principle of multidimensional lifting presented in a patent application is Germany, registered under number 103318038.
On figa shows a device for converting discrete values in the transformed representation with integer values. Discrete values are entered into the device through the first input 100A and the second input 100b. Through the first input 100A enter the first block of discrete values, while through the second input 100b enter the second block of discrete values. Discrete values represent audio data or image data, video data respectively. As described below, the first block of discrete values and the second block of discrete values can include two consecutive time-unit values audiolibros. The first and second blocks of discrete values can also include two presents discrete values of an image, or the residual value after the prediction, or the differential value of the differential coding, etc. as an alternative, both of the block of discrete values may be subjected to pretreatment, such as, for example, when the integer implementation MDCP, where the first block and the second block of discrete values produced by Givens-rotations of the sample values, indeed subjected to the weighting function of Windows. The first and second blocks increments the output values can be thus, the results from the original audio data or image data by means of some pre-processing, such as rotations, permutations, plus/minus-turns ("butterflies"), scaling. Despite this, the first and second blocks of discrete values, although they are not directly the values of audiolibro or discretized values of an image, however, contain audio information and, accordingly, the information from the image.
The first block of discrete values is introduced through the inlet 100A in the device 102 for processing the first block of discrete values using the first conversion rules to the output device 102 to receive the first block of transformed values, as shown in figa. This first block of transformed values in a typical case will not be an integer, and will include the floating-point value, as is the case in a typical case, the result of some transformation rules, for example, Fourier transform, Laplace transform, FFT, DCT, DST, MDCP, MDSP or some other conversions, such as conversion of elementary waves with any basic function. The first block of transformed values is entered in the device 104 for rounding the first block of transformed values to get the first block of the rounding of the converted values. The device 104 is intended to rounding using some function of rounding, such as rounding truncation or rounding with excess or lack implemented depending on the floating-point value.
The rounding rule that is implemented by the device 104, provides that the first unit converted rounded values again contains only integer values, the accuracy of which is used in the device 104 a rounding rule. The first unit converted rounded values, as well as the second block of discrete values, which is fed to the second input 100b, is supplied to the device 106 to summarize, to get the second block totals. If one considers the example of an audio signal, you can see that through the device 106 spectral values of the first block rounded the converted values are summed with time values from the second block of discrete values. If discrete values of the second block is represented, for example, as voltage values, it is recommended that the first block is rounded transformed values was also represented as the amplitude of the voltage, that is, as values of dimension C. In this case, there is no problem with dimensions in the summation. For professionals, however, it is clear, is that with the first unit converted rounded values or accordingly, with the second block of discrete values can be any rating operations of dimensions in such a way that as the first block of rounded converted values and the second block of discrete values were, for example, dimensionless.
The second block total value is supplied to the device 108 for processing the second block total values using the second mapping rule to obtain a second block rounded transformed values. If the conversion rule, which is used in the device 102, and is, for example, the transformation from the time domain into the frequency domain, the second conversion rule, which is used in block 108 is, for example, the conversion rule from the frequency domain into the time domain. This ratio may, however, be reversed, so that the first and second blocks of discrete values are, for example, spectral values, and with the help of the device 102, the processing using the processing rules are formed temporary values, while using the processing device using the inverse rules processing, that is, the device 108, the newly obtained spectral values. The first and second processing rules can, therefore, be a rule of the direct and reverse transformation is, moreover, the inverse mapping rule is a rule inverse conversion or direct conversion rule.
The second block of transformed values, as shown in figa, is injected into the device 110 for rounding to obtain a second block rounded converted values, which in the end is introduced into the device 112 to the subtractor to subtract the second block rounded the converted values from the first block of discrete values, which is introduced through the first inlet 108A, to obtain a block of integer output values of the converted presentation, which is available at the output 114. By processing unit integer output values of the converted presentation with the use of any third conversion rules, which also apply to the device 102 or differs from it, and the subsequent rounding unit converted output values to obtain a block rounded converted output values, and through subsequent summation block rounded converted output values and the second block total values, you can get another block of integer output values of the transformed representation, which is obtained at the output unit 114 integer output values provides full converted submissions to the s of the first and second block of discrete values.
But without the last three stages of processing, rounding and summing, using the integer unit of output values of the converted presentation at the outlet 114, it is already possible to receive the portion of the total transformed representation, namely, for example, the first half, which, being subjected to inverse processing, provides a reverse calculation of the first and second block of discrete values.
Here it should be noted that, depending on the conversion rules, the first, second and, if necessary, a third conversion rule can be identical. This is the case, for example, in the case of DCT-IV. If the first conversion rules used fast Fourier transform (FFT), the second (inverse) transformation rules could be applied inverse fast Fourier transform (OBPF), which is not identical to the FFT.
From computational considerations, it is preferable to provide transformation rules in the form of a matrix, in which case, if the number of discrete values of the first block is equal to the number of discrete values of the second block is a square matrix of size N x N, if the number of discrete values of the first block and the number of discrete values of the second block, respectively, is equal to N.
Devices 104 and 110 to rounding water sample is designed in such a way to make the rounded according to the rounding function, which produces rounded results, the accuracy of which is lower than the computational accuracy of the solver, which performs the functions shown in figa. Regarding the rounding function you must specify that it is only the preferred embodiment displays a non-integer number for the next higher or lower whole number. The function of rounding can also be displayed on other integers as, for example, the number 17,7 on the top 10 or top 20, if rounding causes the loss of precision rounding numbers. In the example above, the unrounded number is a number with one digit after the decimal point, while the rounded number is a number that no longer contains the digits after the decimal point.
Although figa shows a device 102 for processing using the first conversion rules and the device 108 for processing using the second conversion rules as separate devices, it should be noted that in specific implementations may contain only one functional unit conversion, running from special funds management process first converts the first block of discrete values, and then, at the appropriate moment of time the new algorithm, the second block totals exposes the inverse transformation. Then the first and second conversion rules would be identical. This is the same for both devices 104, 110 to rounding. Also they do not necessarily have to be provided as a separate device and may be implemented as one functional block rounding, which, again running process controls, according to the requirement of the algorithm first calculates the first block of transformed values, and then rounds the second block of transformed values.
In the first example, the first block of transformed values and the second block of transformed values are integer values of the samples, weighted by the window function, as they are obtained at the output of block 28 figure 3. Integer DCT in block 14 figure 3 is then implemented by means shown in figure 1 integer algorithm in such a way that the transformed representation of the example audio, relates to figure 3, depicts the integer spectral values at the output 30 is shown in figure 3.
Below using fig.10b presents a device for inverse conversion corresponding to figa, which, along with the integer unit of output values at the output of block 112 on figa also applies the Torah block total output devices 106, shown in figa. Taking into account described in more detail below with reference to 11, this corresponds to the case when there are only blocks 150 and 130, but does not block 124 conversion.
On fig.10b shows a device for inverse conversion unit integer output values of the transformed representation, as it is obtained at the output 114 on figa, and the second unit totals. The second block total value is entered to the input 120 shown in fig.10b device for inverse transformation. The block output values of the transformed representation is introduced to another input device 122 for the inverse transformation.
The second block, the total of the values entered in the device 130 for processing of this block using the second conversion rules, if the last applied rule is when encoding was the second conversion rule. The device 130 outputs the first block of transformed values, which is served in the device 132 for rounding, which is output again produces the first block rounded transformed values. The first block rounded transformed values and then through the device 134 is subtracted from the block output values of the converted presentation to get the first block of discrete values at the first exit 149 device is .10b.
This first block of discrete values is supplied to the device 150 for processing of this block using the first mapping rule to obtain a second block of transformed values on the output device 150. This second block of transformed values again rounded device 152 to receive the second block rounded transformed values. This second block is rounded converted values is subtracted from the input on the input side of the second unit of the national total, which is introduced through the inlet 120 to the output 136 to receive a second block of discrete values.
As for the ratios between the first, second and third conversion rules, as well as the specific implementation of the individual functional blocks on fig.10b through common functional blocks and associated facilities, process control and staging, reference is made to the examples shown in figa.
Below, with reference to figs, presents a preferred example of execution shown in figa summarized device for converting the converted presentation. An example running on figs includes additional conversion/rounding, compared with Figo to the second unit totals to form another block of integer output Zn the values.
The first input 100A includes N input lines x0,..., xN-1designed for N values of the first block of discrete values. The second input 100b also includes N input lines used to input N values of xN, ..., x2N-1the second block of discrete values. The device 102 on figa shown in figs as the transducer DCT-IV. The DCT Converter 102 is designed in order from N input values to generate N output values, each of which is rounded, as shown by the device 104 on pigs, using the rounding rules that are marked as "[.]". The device 106 summation performed in such a way that ensures that the summation for each value. This means that the output value of the device with index 0 is summed with the first value of the second block of discrete values having the index n In the General case, the value of the first block rounded converted output device 104 rounding with the i-th sequence number is summed separately with a discrete value of the second block of output values s (N+i)-th sequence number, and i is a variable index that varies from 0 to N-1.
The device 108 processing using the second transformation rules, also referred to as the Converter DCT-IV. The device 112 davisiana also performed, in the case shown in figs preferred option implementation for element-by-element subtraction, namely in such a way that the values of the second block rounded transformed values separately deducted from the first block of discrete values. In the case shown in figs variant implementation is preferred, when the value of the second block (N+i)-th sequence number is subtracted from the value of the first block with the i-th sequence number, and i varies from 0 to N-1. Alternatively, there may be other summation/subtraction, for example so that the value of the unit (N-1)-th sequence number is subtracted from the value of another block with the N-th sequence number, if it is accordingly accounted for inverse transformation.
The device 112 subtracting outputs a block of integer output values of the transformed view, therefore, the integer output values from the0to theN-1the converted presentation. So, if it is desired to obtain and the rest of the integer output values of the transformed representation, i.e. another block from theNto the2N-1block integer output values converted representation that is applied to the output 114, converted from application of the m third conversion rules by block 140 direct conversion, moreover, its output values again are rounded, as shown by device 142 rounding to now to spend the sum of these values with the second block of the aggregate values at the output of the adder 106, as represented by the reference position 144 on figs. The output values of the adder 144 are then another block 146 integer output values of the transformed representation, which are indicated by symbols from yNto the2N-1.
Below with reference figure 11 presents a device for inverse transforming the transformed representation in accordance with an example implementation. It should be noted that by means of the device shown at 11, without loss in the reverse direction are the operations performed by the device presented on figs. 11 corresponds fig.10b with an extra conversion stage/rounding to the second block of transformed output values to form the second block total values, which in the exemplary embodiment shown in fig.10b, is introduced at input 120. It should be noted that the function of the adder is implemented converted follows function myCitadel. In addition, it should be noted that a pair of adder/myCitadel (144 pigs and 128 figure 11) can be loaded by input values, inverted by the sign of t is to the adder 144 per case if a group of input values, compared with the case shown, with a negative sign, performs the subtraction operation, if it is accounted for in the opposite component (128 figure 11), which then would have to perform the addition operation.
Figure 11 shows myCitadel 128, the adder 134, and another myCitadel 154 newly designed in such a way as to perform element-by-element addition/subtraction, and again apply the same processing according to the sequence numbers, as described above for figs. If pigs used another use of sequence numbers than shown in the drawing, it should be taken into account for 11.
Output vicites 134 there is already the first block of discrete values, which are indicated by values of x0to xN-1. To get the rest back transformed representation, the first block of discrete values is fed to the Converter 150, which operates in accordance with the first conversion rule, the output values which are rounded using block 152 rounding and deducted from the second block difference values output vicites 128 to receive a second block of discrete values 156, which are indicated by symbols from xNto x2N-1.
Below with reference to Fig-15 gives matematic the prioritization rationale devices presented at Figo, 10b, 10C and 11. Through the device to transform or inverse transform are how to convert to audio, lossless, in which the approximation error is reduced. In addition, the cost calculations are accounted for largely by the fact that computing is no longer based on the known solutions, consisting in the application of lifting scheme on each Givens rotation, and constantly apply a trivial sum-dierence "butterflies". They increase significantly the computational cost compared to the original non-integer version of the conversion, subject to a subsequent display.
Typically, the lifting scheme is used to obtain the inverted integer approximation Givens-rotation.
This integer approximation is realized by the fact that the function of rounding is applied after each summation, that is, each stage of lifting.
The lifting scheme can also be used for inverted integer approximation of certain scaling operations. In the publication R.Geiger, G.Schuller, "Integer low delay and MDCT filter banks", Proc. of the Asilomar Conf. on Signals, Systems and Computers, 2002, are presented and described the following decomposition of the lifting matrix scaling size 2 2 determinant, equal to 1:
This decomposition lifting, which is one-dimensional, i.e. it refers only to the scale matrix of size 2 x 2, extended to the multidimensional case. Individually, all of the values of the above equation is replaced by a matrix of size n x n, and n, i.e. the number of discrete values of the block is greater than or equal to 2. Thus it turns out that for each of any n x n matrix T, which preferably should be inverted, perhaps the following decomposition of a block matrix of size 2n x 2n, and Endescribes the identity matrix, n x n:
Along with simple operations like moving or multiplying by -1, all three blocks of this decomposition have the following General structure:
For this block matrix of size 2n x 2n can be used generalized lifting scheme, which is below referred to as multidimensional lifting.
For a vector of values x = (x0, ..., x2n-1) use this block matrix gives the followingequation:
It should be noted that in the right part of this equation has a vector, whose size, i.e. the number of rows is equal to 2n. The first n components, i.e. components from 0 to n-1, correspond to the values of x to xn-1. Second n components, i.e. the second half of the vector, which is obtained in the right hand side of the above equation is equal to the sum of the second block of discrete values, i.e. the values of xnto x2n-1but now summed with the product of matrix a, which corresponds to the transformation matrix for figa, 10b, 10C and 11, and the first block of discrete values of x0, ..., xn-1. The transformation matrix represents the first, second and third conversion rule.
Like usual pattern elevation with matrices of size 2 x 2 form
these matrices of size 2n x 2n can be used for inverted integer approximation of the transformation T as follows. For integer input values (x0, ..., x2n-1are rounded values floating-point (y0, ..., yn-1) = As·(x0, ..., xn-1), namely to integer values before they will be summarized with integer values (xn, ..., x2n-1). Inverse representation of the block matrix obtained in the following form:
Thus, this process can be inverted without errors due to the fact that just apply the same matrix and the same rounding function, and due to the fact that the resulting knowledge is possible instead of summing direct processing now deducted. Direct processing presented on Fig, while the reverse processing is presented on Fig. It should be noted that the transformation matrix on Fig identical to the transformation matrix on Fig, which is preferred due to ease of implementation.
After the values (x0, ..., xn-1during direct manipulation, which is shown in Fig, not modified, they are still available for use in inverse phase, i.e. the phase reverse processing on Fig. It should be noted that there are no special restrictions for the matrix A. Therefore, it does not have to be inverted.
In order to get the inverted integer approximation known MDCP, MDCP at the first stage is decomposed into Givens-rotation, and this step is a step of weighting function window, and on the subsequent stage of the DCT-IV. This decomposition is discussed below with reference to figure 3 and described in detail in DE 10129240 A1.
In contrast to the prior art, according to which the transformation of the DCT-IV is decomposed into several stages Givens-rotation, transformation remains as it is, and then rounded.
In a known manner, thus, is an integer approximation of the DCT transformation-IV through several stages, based on raising Givens-rotations. The number of Givens-rotations op is Adelaide underlying processing applied by a high-speed algorithm. Thus, the number of Givens-rotation is set to 0 (N log N) for transformations of length N. the Phase weighting function window each decomposition MDCP consists of only N/2 Givens-rotations or 3N/2 steps of rounding. So, especially in the case of transformations of a great length, as it is used in applications of audio encoding (e.g., 1024), an integer transform DCT-IV major contribution to the approximation error.
This decision applies the described multi-dimensional lifting scheme. Thus the number of steps of rounding in the DCT-IV is reduced to 3N/2, i.e. equal to the number of steps of rounding at the stage of weighing the window function, namely, as compared with roughly the number 2N log2N steps of rounding in the conventional system based on the elevations.
The transformation of the DCT-IV is simultaneously applied to two blocks of signals. A possible variant of this is shown in Fig, where, for example, two consecutive time block of sample values are converted DCT-IV. Both units, which are both transformations can also represent the sample values of the two channels of the multichannel signal.
The decomposition of the above multidimensional equations uplift is applied to the conversion rule, which can also be viewed as a matrix of size N x N. as inversion, in particular, when DCT-IV PR again dstanley a DCT-IV, we get the following decomposition for shows on Fig principle:
Permutation multiplications by -1 can be highlighted in its own block matrix so obtained the following relationship:
Thus can be obtained applying the same transformation to the two blocks of signals, that is, to two blocks of discrete values, preferably with three dimensional lifting steps:
The above equation is represented graphically in figs on the example running. The inverse transformation, as it is performed, respectively, illustrated in figure 11.
With this solution two transforms DCT-IV of length N can be implemented inverted way, and only 3N step of rounding, that is, 3N/2 step rounding in the conversion.
The transformation of the DCT-IV in three-dimensional lifting steps can have different implementations, such as implementations floating or fixed decimal point. It must be repeatedly inverted. It only has precisely the same way to run in forward and reverse the process. This leads to the fact that this principle is suitable for transformation of a large length, e.g. 1024, as it CA is applied in modern applications of audio encoding.
Full computational complexity equal to 1.5 times the complexity of computing non-integer implementation of both transforms DCT-IV. This computational complexity is still significantly lower than normal, based on the integer lifting implementations, which is approximately twice more complicated than the usual transformation DCT-IV, as these implementations should use the trivial procedure of plus-minus-"butterflies" to be applied by the lifting scheme, in order to provide energy, as described in the work R.Geiger, T.Sporer, J.Koller, K.Brandenburg, "Audio Coding based on Integer Transforms, 111thAES Convention, New York, 2001.
The presented solution calculates at least two transform DCT-IV to a certain extent at the same time, i.e. within a single conversion. This can be implemented, for example, that calculates the transformation of the DCT-IV for two consecutive blocks of audio or two consecutive blocks of the image signal. In the case of two-channel stereo, it can also be implemented in such a way that the transformation of the DCT-IV of the left and right channels is calculated in one operation transformation or inverse transformation. The first version leads to an additional delay of one unit in the system. The second version is possible in the application to stereo or, generally speaking, for multichannel signals.
As the viola is native, if both options are undesirable if, however, must be kept normal length of the processing blocks of N values, then convert the DCT-IV of length N can be decomposed into two transform DCT-IV of length N/2. In this regard, reference should be made to work Y.Zeng, G.Bi, Z.Lin, "Integer sinusoidal transforms based in lifting factorization", Proc. ICASSP'01, May 2001, pp.1.181-1.184 running such a decomposition. In addition to the two transforms DCT-IV of length N/2 there are some additional steps Givens-rotations. In this algorithm, in addition, uses block matrix
i.e., N/2-plus-minus-"butterfly", a block diagonal matrix with N/2 Givens-rotations and, in addition, some matrix permutations. When applying these additional steps N/2 Givens-rotations multidimensional approach using elevations can also be used to calculate only one transformation DCT-IV of length N. the Basic structure of this algorithm is shown in Fig, where, along with the actual step of converting, on which are two transformation DCT-IV of length N/2, first, there is the step of "butterfly", to calculate the first and second blocks of discrete values, which now only have length N/2. Outlet, in addition, provided the degree of rotation, in order from a block of output values of the converted presentation and additional unit of output Zn the values of the transformed representation, but now only have N/2 values each, to obtain the output values y0,...,yN-1that is equal to the output values of the operation DCT-IV Fig, as it is obvious from a comparison of the indexes on the input and output on Fig and Fig.
Still seemed to only the application of multidimensional raise on block matrices of the following form:
However, it is also possible other block matrix to decompose a multi-dimensional lifting steps. For example, you may apply the following decomposition to implement a combination of cascade normalized with plus-minus-"butterflies" and two conversion blocks DCT-IV through three steps multidimensional elevations:
From the above equation it is seen that the first translation rule that applies in the left parenthesis of the equation, and the second conversion rule that is applied in the middle bracket of the equation, and the third conversion rule that is applied in the last parenthesis of the equation, should not be identical. In addition, from the above equation shows that we can decompose not only block matrix, which is filled with only the main diagonal, but also can be processed completely filled matrix. In addition, it should be noted that there is no restriction sign is Eesa is the conversion rules that apply when converting the converted view must be identical, or even should have some relationship with each other so that, for example, the second conversion rule is the rule of inverse transformation with respect to the first conversion rules. In principle, could also be applied three dierent from each other conversion rules, if this is taken into account for inverse representation.
In this regard, it should again refer to figs and 11. When converting discrete values in the converted presentation device 102 should be designed in such a way as to implement a rule 1 conversion. In addition, the device 108 may also be designed to apply a different or the same conversion rule, which is designated generally 2 conversion. In addition, the device 140 may be designed in such a way that in the General case, apply some rule 3 of the transformation, which is not necessarily identical with the first or second conversion rule.
For inverse transforming the transformed representation should be, however, a match is found on figs rules 1-3 conversion to pereustroystva 124 to convert weren't doing any conversion rule, and rule 3 of the transformation, which is performed in block 140 on figs. Accordingly, the device 130 figure 11 should perform the conversion rule 2, which is also performed by the block 108 figs. Finally, the device 150 figure 11 should rule 1 conversion, which is performed by the device 102 to figs to get the inverse conversion is lossless.
On Fig shows a modification of the principle described in figs. In particular, the rounding elements 104, 110, 142 for the direct conversion or elements 126, 132, 152 on the reverse translation is no longer performed element-by-element manner, but instead is the spectral shaping of rounding errors.
From the comparison pigs with Fig can be seen that it is preferable to replace the unit 104 unit a, and the block 204b apply instead of block 110 rounding. This is used because this principle has the advantage especially in the case when the subsequent transformation is performed in the frequency domain, where the white noise rounding errors, if not performed spectral formation, causing problems. If, after rounding the block 142 is not produced any more frequency conversion, the spectral shaping block 142 would not provide any advantage. However, this is the place to block a, that is both due to the conversion unit 108 is again frequency transformation. The spectral shaping block 204b also has the advantage consisting in the fact that through the last block 140 again, the transformation is. However, as can be seen from Fig formed by the noise of the rounding error is already in the output block 114, so that already in the block 204b instead of spectral formation rounding errors may be normal rounding, as shown in pigs, blocks 110.
Whether at the end of the second conversion, i.e. the conversion 108, rounding according to the spectral formation or in the usual way, i.e. rounding error, with white spectral distribution depends on the particular application.
Thus, independent rounding a certain number, for example, k values is replaced by rounding to the spectral shape, which is also referred to as "dependent rounding".
From the above discussion with reference to Fig follows that the spectral shaping rounding errors can also be used when the integer DCT required for integer MDCP. However, as noted, should be taken into account that the spectral formation by feedback error only has the advantage, when in the case of rounded values we are talking about temporary values, which means the placenta is a corresponding step of the conversion is transferred into the frequency domain. Therefore, as represented by multidimensional lifting on Fig, both on the first steps of the spectral formation has the advantage, and the third step, it will not necessarily have an advantage.
It should be noted that Fig shows the corresponding figs case in the encoder. Appropriate pig case the decoder is obtained directly from the comparison Fig and 11. Directly relevant Fig decoder is obtained from 11 due to the fact that all blocks are identical in both blocks 132, 152 rounding. Both block rounding work, according to 11, as independent units rounding and the decoder would be replaced by blocks a, 204b dependent rounding, which, for example, have the structure shown in figs. In particular, it should be noted that the decoder can apply exactly the same algorithm rounding spectral shaping as in the encoder.
The principle is illustrated on fig.2b and 2C, in particular, for H(z)=-1 that is also suitable, in particular, in order to realize the corresponding invention reduce rounding errors in integer conversions.
According to the invention, this reduction of the rounding errors is only possible if two floating-point values are rounded and are added with the same value, and not with different values. Such is the making shown in Fig. There is, first of all, the first step of the lifting sequence "down-up-down" between members raise x1and x3. In addition, there is another sequence of lifting with a known sequence of "down-up-down", but between members raise x2and x3. In particular, obtained in the first operation of raising the value of x3used to be used as a summand in the second step of raising, as can be seen on Fig. Again it should be noted that if the arrow is available on a horizontal line, it represents the summation. In other words, the value, which is rounded, is added to the value corresponding to the horizontal line.
More specifically, in the example shown in Fig, the value of x1first weighed (block 250), and then individually rounded (block 252). The output signal of block 252 is added to the value of x3(block 254). Then the result of the summation 254 weighed again (block 256) and again rounded (block 258). The result of this rounding 258 is then added to x1(260). The result of the summation 260 weighed again (block 262) and rounded (block 264)to be summed with the current value of x3(block 266). Accordingly, the value of x2first weighed (block 270), and then rounded the block 272. The result is Loka 272 is added to the current value of x 3(block 274). The result is then weighed again (block 276) and rounded (block 278), to block 278 to add to the current value of x2(280). The result of this summation 280 weighed again (block 282), and the weighted result is rounded (block 284), to block 284 to rounding the sum of the current value of x3(block 286), to obtain the resulting value for x3. From Fig you can see that the first value, namely, the result of block 262, rounded and then summed with x3. In addition, the second value, namely, the result of block 270, also rounded (block 272) and then summed with the value of x3(the adder 274). Thus, there is a situation, when one after another two floating-point values are rounded and are added with the same value, and not with different values. In the example on Fig the result of the third and fourth steps of raising the stack with the same value, namely x3, that is, the summation is performed with the rounding function [.]:
[x1·cs1] + [x2·cs2].
If the error of the third step of lifting the rounding is entered in the fourth step of lifting, then you can apply the error of the third step, and there is only one rounding error, instead of two rounding errors. In computer operations is then obtained from the following equation:
In the computational sense, the introduction of rounding errors in the next step of rounding in this case is identical to the summation of the values with subsequent rounding. This situation is depicted in Fig, and Fig corresponds pig, but each individual unit rounding 264, 272 and both individual adder 266, 274 replaced by one block 268, which is designed in such a way as to ensure the implementation of the above equations. Therefore, the results of both blocks 262 and 270, first in unrounded form are summed and then rounded. Thus the rounding error in the best case is reduced by half. The output of block 268 now only one value that is added using the adder 269 with the value of x3.
The combination of reduction and formation of rounding errors may also occur when, for example, a set of Givens-rotations and multidimensional step of raising follow each other, as shown in Fig. For example, for values of x1to x4the last sequence step "down-up-down is carried out for a variety of values, such as step down s in figure 9. These values must now be added to the appropriate values, to which must be added the rounded values on Fig, i.e. the values at the output of block a. E is th case, it is preferable to first summarize the unrounded values, namely, by means shown in Fig adder 203, then the total value in block 204 Fig round and at the same time to expose the formation of the noise, which then turns a simple rounding error, and the output values after summation by the adder 106 become less prone to errors. The situation is shown in Fig, is obtained in the case when Fig.9 is located on the left next to Fig, in particular, if instead of converting DCT-IV with N values applies the transform DCT-IV with N/2 values.
In accordance with the invention is preferred to combine the reduction of rounding errors with the formation of rounding errors. In the case of reducing rounding errors many input values are processed together and rounded, and the rounded values are summed into a single value, while in the case of spectral formation rounding errors rounded values are rounded independently from each other and are accordingly various other values.
In addition, it should be noted that the situation on Fig may occur in the case when, as shown in Fig, apply transforms DCT-IV with N/2 values. Thus, before conversion stage, i.e. in front of the two DCT blocks, imeediately, marked on Fig as cascade-"butterfly"by which the input values from the x0to xN/2-1respectively, are weighted and rounded to then be summed with the same values, which also summarizes the values of the conversion stage DCT-IV. In addition, it should be noted that the degree of conversion on Fig represented only schematically. Both are presented schematically in Fig conversion unit DCT-IV in practical implementation would be replaced by the components shown in Fig if pig instead of xN-1written xN/2-1and is written xN/2,and if instead of xN/2-1written xN-1.
On Fig shows the preferred implementation, in particular, for monopolarity, i.e. for the case in which must be one transform DCT-IV with N/2 values.
Depending on the given conditions corresponding to the invention, the rounding can be implemented in hardware or software. The implementation may be effected on a digital storage medium, particularly a floppy disk or a CD-ROM with read electronically control signals that can cooperate with a programmable computer system to perform the method. In General the invention include trivet, thus, a computer program product with program code stored on a machine-readable media for implementing the invention of the method when the computer program product runs on a computer. In other words, the invention is also a computer program with program code for implementing the method when the computer program runs on a computer.
1. A device for processing at least two input values containing means(250, 252, 254, 256, 258, 260, 262) for the formation of the first non-integer input value and the second non-integer input value, and the first non-integer input value is formed from the first initial value (x1and the third initial values (x3through the first step and second lifting step of lifting and subsequent weighting (262)and the second non-integer input value is generated by weighting (270) second initial values (x2); and means (268) for combining the first non-integer input value and the second non-integer input value to obtain a non-integer result value and rounding non-integer result value to get a rounded result value.
2. The device according to p., in which the means for combining is made with the possibility of the formation of the sum or difference.
3. The device according to claim 1, in which the first and second input values are discrete values, which include audio and/or video information.
4. The device according to claim 1, additionally containing means (269) to communicate the result value third input value to obtain the output value.
5. The device according to claim 4, in which the tool (269; 104) connection is made as the adder or myCitadel.
6. The device according to claim 4, in which the third input value is an integer input value so that the output value is the integer value.
7. The device according to claim 1, containing means for adding the rounded result value third input value generated from the third and second values that belong to a sequence of integer input values, by means of two lifting steps.
8. The device according to claim 1, additionally containing means (106) for summing the rounded result value with a different input value that is part of a sequence that is processed by the first rule (102) conversion to get the value of another sequence that needs to be handled by what redstem second conversion rules, moreover, the first conversion rule and the second conversion rule are transformation rules that define the first and second multi-dimensional lifting steps.
9. The method of processing at least two input values, comprising stages
formation(250, 252, 254, 256, 258, 260, 262) the first non-integer input value from the first initial value (x1and the third initial values (x3through the first step and second lifting step of lifting and subsequent weighting (262), the formation of the second non-integer input value by weighting (270) the source of the second input value (x2);
combining (268) of the first non-integer input value and the second non-integer input value to obtain a non-integer result value and rounding non-integer result value to get a rounded result value.
10. The method according to claim 9, in which after the step of combining is performed the step of binding (269) result value of the third integer input value to obtain an integer output value.
11. A device for processing at least two input values, containing
means (202) for the formation of the first non-integer input value is I and the second non-integer input value, and the first non-integer input value is generated by weighting the first initial value (x1), and the second non-integer input value is calculated by converting from a sequence of original input values, which belongs to the first initial value (x1); and means (203, 204) for combining the first non-integer input value and the second non-integer input value to obtain a non-integer result value and rounding non-integer result value to get a rounded result value.
12. The method of processing at least two input values that contain the formation of the first non-integer input value by weighting the first initial value (x1); the calculation of the second non-integer input value by converting from a sequence of original input values, which belongs to the first initial value (x1); combination (203) of the first non-integer input value and the second non-integer input value to obtain a non-integer result value and rounding (204) non-integer result value to get a rounded result value.
13. The method according to item 12, in which said transformation which represents the discrete cosine transform.
14. Machine-readable medium with the stored program code, which when executed, the program code on the computer ensures the implementation of the method according to claim 9 or 12.
FIELD: technology for transmitting process data from field device to process control center.
SUBSTANCE: in accordance to the invention, process data contains information about working state of field device, and/or information about process variables measured by field device, and/or field device identification data. Process data appearing in time interval between two transmissions is evaluated, divided onto static and dynamic, data is recorded, transferred to process control center. Static data is transferred in abbreviated form, in form of a binary status value.
EFFECT: creation of method for transmitting reduced amount of process data.
2 cl, 2 dwg
FIELD: radio engineering and television, possible use during generation, transmission and receipt of video-frames.
SUBSTANCE: in accordance to invention introduced additionally to encoder are video frames memory block, first function memory block, video frame transmission block, block for storing video frame being reproduced, while input of encoder serially, through block for forming video frames, video frames memory block, block for forming difference video frame, first frame memory block, video frame transmission block and block for memorizing video frame being reproduced is connected to second input of block for forming difference video frame, third input of which is connected to output of first function memory block, output of which is connected to second input of video frame transmission block, output of which is the output of device encoder. Introduced additionally to decoder are video frames receipt block, comparator and second function memory block, while input of decoder is serially, through video frame receipt block, second frame memory block and comparator, is connected to second video frame restoration block, third input of which is connected to output of second function memory device, and output is the output of decoder of device. Device realizes generation, transmission and receipt of code of function of distribution of screen point brightness in a series of frames, making it possible to increase the code compression coefficient.
EFFECT: increased coefficient of code compression of video frame information.
1 tbl, 1 dwg, 7 app
FIELD: technology for encoding and decoding, used for storing and transferring descriptive elements of document of XML-like structure.
SUBSTANCE: method includes using at least one table, received from XML structure, while table contains identification information for unambiguous identification of each descriptive element on hierarchic tree and structural information, browsing of hierarchic image of sample stored in memory from parent descriptive element to children descriptive elements for reaching encoded descriptive element, and extraction of identification information of each browsed descriptive element, encoding of aforementioned descriptive element in form of fragment, containing aforementioned information content and series of extracted identification information.
EFFECT: provision of efficient sample encoding plan and possible expansion of binary format for further plans, determined within limits of MPEG-7.
7 cl, 6 dwg, 2 tbl
FIELD: technology for encoding multimedia objects.
SUBSTANCE: method for encoding a multimedia object includes following stages: multimedia object is encoded for producing a bit stream and information about quality is added to bit stream, while information about quality denotes quality of multimedia object relatively to given position or relatively to given part of bit stream, while information about quality is provided in quality tags, aforementioned quality tag provides a values of quality tag, and value of quality tag characterizes distortion in encoded multimedia object being reproduced, when bit stream is truncated in point, related to quality tag.
EFFECT: development of improved and efficient method/system for encoding multimedia objects.
13 cl, 2 dwg
FIELD: technology for encoding and decoding content, in particular, extracting data from buffer and loading them into buffer.
SUBSTANCE: method includes picking data from buffer in response to execution of data access command, while buffer contains multiple data storage devices, forming additional unified address space with bit level addressing. If picked data are contained in source data storage device and in next data storage device, fragment of picked data from source data storage device is concatenated with remaining fragment of picked data from next data storage device to form picked data as continuous block, picked data are stored in assignment device for storing data. Method for loading data into buffer includes storing data into buffer, while if data size exceeds capacity of device for storing data, data are split onto fragments and stored in source storage device and next device. After saving of aforementioned data, data from storage device are moved to memorizing device.
EFFECT: higher speed of loading and data extraction.
5 cl, 26 dwg
FIELD: electric communication, namely systems for data transmitting by means of digital communication lines.
SUBSTANCE: method comprises steps of preliminarily, at reception and transmission forming R matrices of allowed vectors, each matrix has dimension m2 x m1 of unit and zero elements; then from unidimensional analog speech signal forming initial matrix of N x N elements; converting received matrix to digital one; forming rectangular matrices with dimensions N x m and m x N being digital representation of initial matrix from elements of lines of permitted vectors; transmitting elements of those rectangular matrices through digital communication circuit; correcting errors at transmission side on base of testing matching of element groups of received rectangular matrices to line elements of preliminarily formed matrices of permitted vectors; then performing inverse operations for decompacting speech messages. Method is especially suitable for telephone calls by means of digital communication systems at rate 6 - 16 k bit/s.
EFFECT: possibility for correcting errors occurred in transmitted digital trains by action of unstable parameters of communication systems and realizing telephone calls by means of low-speed digital communication lines.
5 cl, 20 dwg
FIELD: computer engineering; digital signal processing; devices, which perform FFT of arrays of arbitrary dimension N=2r.
SUBSTANCE: processor contains five address formers, two address commutators, coefficients permanent memory unit, RAM unit, two arithmetic units, control unit.
EFFECT: potentially highest possible processor efficiency for FFT with defined element base for its implementation.
4 cl, 5 dwg
FIELD: computer science.
SUBSTANCE: device has first and second analog-digital converters, inputs of which are combined and are an input of device, and outputs are connected appropriately to inputs of first and second memory devices, digital signal processing processor, module of digital processors for processing signals for rough estimate of distance, generator of cyclic signal, containing serially joined first adder, third memory device and second adder. Output of first memory device is connected to first inputs of first adder of cyclic signal generator and signals processing microprocessor unit module, and output of second memory device is connected to their second inputs. Output of second adder of cyclic signal generator is connected to first input of digital signals processing microprocessor unit, to second input of which first output of signals processing microprocessor unit module is connected, second output of which and output of digital microprocessor unit for processing signals are, respectively, first and second device outputs.
EFFECT: simplified construction, lower costs, higher quality, higher efficiency.
FIELD: computer science.
SUBSTANCE: for straight wavelet transformation inputted data in form of multiple counts is processed in serial iterations, in each of which input data is let through low-frequency and high-frequency filters. Thinned out by each second count from low-frequency filter are inputs of next iteration, and thinned out by each second count counts from low-frequency filter of last iteration and from high-frequency filter are wavelet transformation coefficients. During reverse wavelet transformation input data are coefficients of straight wavelet transformation, with added zeroes in given number of digits. This data is let through plurality of filters, structure of which is determined unambiguously by low-frequency and high-frequency filters of straight wavelet transformation. During reverse wavelet transformation coefficients of straight transformation, finished with zeroes in ranges, equal to power of two, are let through combination of parallel digital filters, at output of which counts are displaced for certain number of charges. Total of counts, taken each with its sign, represents counts of restored source signal.
EFFECT: higher speed of transformation.
1 dwg, 1 tbl
SUBSTANCE: invention is based on representation of mother wavelet in spectral plane with following logarithmical scaling of mother wavelet.
EFFECT: simplified operation.
6 cl, 6 dwg
SUBSTANCE: invention is based on representation of mother wavelet in spectral plane with following logarithmical scaling of mother wavelet.
EFFECT: simplified operation.
6 cl, 6 dwg