Device and method for processing signal containing sequence of discrete values

FIELD: physics.

SUBSTANCE: said utility invention relates to signal processing in the form of successive values, e.g., audio signal samples or video signal samples, which, in particular, are especially suitable for lossless coding applications. During processing of a signal containing a sequence of discrete values, having the first frequency band with high energy signal and the second frequency band with low energy signal, the sequence of discrete values is manipulated initially (202) to obtain a sequence of manipulated values so that at least one of the manipulated values would be different from an integer. After that, the sequence of manipulated values is rounded (204) to obtain a sequence of rounded manipulated values. Rounding is performed in order to create a generated rounding error spectrum so that the rounding error with the spectrum created would have higher energy in the first frequency band as compared to the second frequency band.

EFFECT: obtaining particularly efficient coding.

19 cl, 24 dwg

 

The present invention relates to signal processing and, in particular, to the signal processing in the form of consecutive values, for example audio samples or samples of the signal, which, in particular, are especially suitable for applications of lossless encoding.

The present invention is also applicable to compression algorithms for discrete values that contain audio and/or image information, and, in particular, to encoding algorithms, including the conversion to the frequency domain or the time domain or spatial domain pre-coding, such as entropy coding the Huffman or arithmetic encoding.

Modern methods of audio encoding, such as MPEG Layer3 (MP3) or MPEG AAC, use transformations, for example the so-called modified discrete cosine transform (MDCT), to obtain a block of the frequency representation of the audio signal. This audio encoder typically receives a stream of samples of the audio signal with sampling time. The stream of samples of the audio signal is subjected to cutting to obtain a cut block, for example, 1,024 or 2,048 cut samples of the audio signal. To cut apply various clip functions, such as sine wave clipping function, etc.

Cut a sample of the audio signal dis is reiseziel time is converted to a spectral representation by means of the comb filter. In principle, it is possible to apply the Fourier transform, or, in special cases, a variant of the Fourier transform such as FFT, or consider MDCT. The block of spectral values of the audio signal at the output of the comb filter can, if necessary, further processed. In the above audiocamera then usually is the quantization of the spectral values of the audio signal, and phase quantization is usually chosen so that the quantization noise caused by quantization, was below the threshold psychoacoustic masking, i.e. was "cut mask". Quantization is encoded with the loss. To further reduce the amount of data of the quantized spectral values are subjected to entropy coding, for example, by Huffman encoding. The bit stream multiplexer forms of entropy-encoded quantized spectral values of the bit stream that can be stored or transported, by adding additional information, such as scale factors, etc.

In the audio decoder bit stream is divided into encoded quantized spectral values and additional information through a bit stream demultiplexer. Entropy-encoded quantized spectral values are first exposed entropin the th decoding to obtain the quantized spectral values. Then the quantized spectral values are subjected to inverse quantization to obtain the decoded spectral values, containing the quantization noise, which, however, below the threshold psychoacoustic masking, and therefore cannot be heard. These spectral values are then converted to a temporary view by synthesizing comb filter for receiving the decoded samples of the audio signal with sampling time. In synthesizing the comb filter should apply the conversion algorithm inverse to the above conversion algorithm. In addition, the cut should be paid after the inverse transform of the frequency-time.

To achieve good frequency selectivity modern AudioCodes usually use overlapping blocks. Such a case is shown in Fig. 6A. First take, for example, 2,048 samples of the audio signal with sampling time and cut through the means 402. The tool 402 implementation of the cropping window is the window length 2N samples and provides a block of 2N-cut samples on the output side. To achieve overlapping Windows of the second block of 2N-cut samples is formed by means 404, which is shown separately from the funds 402 in Fig. 6A only for clarity. However, 2,048 samples input to the tool 404, are not samples of the audio signal when Accreditatie time, directly following the first window, but contains the second half of the samples cut tool 402, and optionally contain only 1,024 "new" samples. The overlap is symbolically shown in Fig. 6A as a means 406, provides a degree of overlap of 50%. 2N-cut samples, the output means 402, and 2N-cut samples, the output means 404 are then processed according to the MDCT algorithm by means 408 and 410, respectively. The tool 408 provides N spectral values for the first window according to well-known algorithm for MDCT, and means 410 also provides 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 shown in Fig. 6B, go to the tool 412, performing inverse modified discrete cosine transformation. The same thing happens with N spectral values of the second window. They go to the tool 414, also performing inverse modified discrete cosine transformation. Each of the means 412 and 414 provide 2N samples for the first window and 2N samples for the second window, respectively.

On the tool 416, marked TDAC (cancel overlap in the time domain) of Fig. 6B, taken into account the fact that the two Windows overlap. In particular, the sample 1the second half of the first window, i.e. with index N+k, is added to the sample y2from the first half of the second window, i.e. with index k, so that on the output side, i.e. at the decoder, the result is N decoded temporal samples.

Note that by the means 416, which is also known as the addition function, cut, carried out at the encoder, shown schematically in Fig. 6A, taken into account in some way automatically, so the decoder shown in Fig. 6B does not require any explicit reverse (inverted) cut.

If the clip function, sold by the tool 402 or 404, denote w(k), where the index k represents the time index must satisfy the condition, consisting in the fact that the clip weighting factor w(k) squared plus clip the weight coefficient w(N+k) squared is equal to 1, where k takes values from 0 to N-1. If you use a sine wave clipping function, in which the clip weights are expressed first half-wave sinusoidal functions, this condition is always met, as the square of the sine plus the square of the cosine is equal to 1 for any angle.

Method of cutting with the subsequent application of MDCT function, described in Fig. 6A, suffers the disadvantage that the cutting by multiplying the sampling with sampling time, using sinusoidal the second clip features is performed by floating-point numbers, since the sine of an angle from 0 to 180 degrees does not give a whole number, except for the 90 degree angle. Even when cutting integer samples with sampling time after cutting out the floating-point number.

So, even if you are not using psychoacoustic encoder, i.e. it is necessary to provide lossless encoding, the output means 408 and 410, respectively, must quantization, so they can be reasonably managed entropy encoding.

In General, currently known integer transforms for audio and/or video encoding without loss obtained by the decomposition used in the transformations on Givens rotations and application of lifting scheme to each Givens rotation. When each stage is brought to rounding error. For the subsequent stages of Givens rotations, the rounding error continues to accumulate. The resulting approximation error causes problems, in particular, approaches for audio lossless, particularly when used long transformation, providing, for example, 1,024 spectral values, for example, it is known in MDCT overlap and add (MDCT = modified discrete cosine transformation). In particular, in a higher cha what totem range, where the audio signal usually has a very low energy, the approximation error can quickly exceed the actual signal, so these approaches create problems in relation to the lossless encoding and, in particular, in respect to coding efficiency, which you can achieve.

In respect of audio encoding integer conversion, i.e. the conversion algorithms, generating the whole output values, in particular, is based on the well-known DCT-IV, which does not account for the DC component, whereas the integer conversion for applications in image processing, in contrast, is based on the DCT-II, which specifically contains a provision for the DC component. Such integer conversion, for example, known from Y. Zeng, G. Bi, and Z. Lin, "Integer sinusoidal transforms based on lifting factorization," in Proc. ICASSP'01, may 2001, page 1,181 - 1,184, K. Komatsu, and K. Sezaki, "Reversible Discrete Cosine Transform", in Proc. ICASSP, 1998, T. 3, page 1,769 - 1,772, P. Hao and Q. Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, T. 49, page 2,314 -2,324, and J. Wang, J. Sun and S. Yu, "1-d and 2-d transforms from integers to integers", in Proc. ICASSP'03, Hong Kong, April 2003.

As noted above described here integer conversion is based on the decomposition transformation on Givens rotations and the application of the known schemes to raise the Givens rotations, which creates the problem of the accumulation of rounding errors. This, in particular, due to the fact that the conversion is OK is ugenia must be carried out many times, that is, after each stage of lifting, so, in particular, in a long transformation, causing correspondingly large number of stages of the uplift should be particularly large number of rounding. As described, this leads to the accumulation of errors and, in particular, also to the relative complexity of the processing, since the rounding is performed after each step raises for implementation of the next stage of lifting.

Subsequently, the decomposition of cut MDCT will be again described with reference to Fig. 9-11 as described in DE 10129240 A1, where it is decomposed cut MDCT on Givens rotations with matrices raise and appropriate rounding mostly compatible with the concept, considered according to Fig. 1 for conversion, and according to Fig. 2 for the inverse transform, to obtain a fully integer approximation of the MDCT, i.e. the integer MDCT (Int-MDCT) according to the present invention, in which the concept of direct and inverse transformation is illustrated by MDCT.

In Fig. 3 shows a General diagram of a preferred device of the invention for processing samples with sampling time representing the audio signal to obtain integer values, on the basis of which can run the algorithm integer conversion Int-MDCT. Sampling with sampling time cut out the I device, it is shown in Fig. 3, and, optionally, converted to a spectral representation. Sampling with sampling time input to the device at the input 10, cut out using a window w, the length of which corresponds to 2N samples with sampling time to obtain at the output 12 of the integer cut samples, suitable for conversion to a spectral representation by means of conversion and, in particular, means 14 for implementation of integer DCT. The integer DCT is designed to generate N output values of the N input values, what is the contrast function MDCT 408, shown in Fig. 6A, which only generates N spectral values of the 2N-cut samples according to the equation MDCT.

To cut samples with sampling time, the means 16 selects the first two sampling with sampling time, which jointly represent the vector of samples with sampling time. Sampling with sampling time selected by the tool 16, is the first quarter window. Another sample with the discretization in time is the second quarter Windows, which are described in more detail with reference to Fig. 5. The vector generated by the tool 16 can be represented by the rotation matrix of size 2x2 in which this operation is not directly, but through several so-called prepreg) is controlled matrix lifting.

The property of the matrix lifting is that it contains only one element, depending on the window w and is not equal to "1" or "0".

Decomposition transformations of elementary waves on the stages of raising presented in the publication for professionals "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies and Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996. In General, the lifting scheme is a simple relation between pairs of filters with good recovery, with the same low-frequency or high-frequency filters. Each pair of complementary filters can be decomposed into stages of lifting. This applies, in particular, to Givens rotations. Consider the case when the polyphase matrix is a Givens rotation. Then the following will apply:

Each of the three matrices uplift in the right side of the equal sign has the value "1" as an element of the main diagonal. In addition, each matrix lifting element of the second diagonal equal to zero and the second diagonal depends on the angle α.

The vector is multiplied by the third matrix lifting, i.e. the matrix lifting, located in the rightmost position in the above equation, to obtain a first result vector. This is illustrated in Fig. 3 tool 18. After this first result vector is rounded any function is th rounding, displaying the set of real numbers the set of integers, as illustrated in Fig. 3 means 20. Output means 20 is obtained first result vector. Rounded first result vector to the means 22 for multiplying the average, i.e. the second matrix lifting to obtain a second result vector, which again is rounded means 24 for receiving the second rounded result vector. Then rounded the second result vector to the means 26 for multiplying the matrix lifting, shown on the left in the above equation, i.e. the first matrix to obtain a third result vector, which is finally rounded off by the means 28 for final receipt integer cut samples at the output 12, which, if you want their spectral representation must be processed by the means 14 for receiving the integer spectral values of the spectral output 30.

Preferably, the tool 14 is implemented as an integer DCT.

The discrete cosine transform of the 4th type (DCT-IV) with length N is given by the following equation:

The coefficients of the DCT-IV form an orthonormal matrix N x n Every orthogonal matrix N x N can be decomposed into N (N-1)/2 Givens rotations, as described the ANO in the publication for professionals P. P. Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993. Note that there are other decomposition.

In relation to other classifications of different DCT algorithms, see H. S. Malvar, "Signal Processing With Lapped Transforms, Artech House, 1992. In General, the DCT algorithms differ born of their basic functions. Although preferred here DCT-IV includes asymmetric basis functions, i.e. chetvertyy cosine, 3/4 cosine waves, 5/4 cosine waves, 7/4 cosine waves, etc., the discrete cosine transform, for example, type II (DCT-II) is axisymmetric and axial basis functions. 0-I basic function has a DC component, the first basis function has a half cosine waves, the second basic function is a cosine wave, etc. due To the fact that DCT-II emphasizes on the DC component, it is used in the coding, but not in the audio, because the DC is not related to audio encoding, in contrast to video encoding.

Below I will describe how the angle α for Givens rotation depends on the clip function.

MDCT with window length 2N can be reduced to the discrete cosine transform of type IV length N. For this explicitly in the operation TDAC in the time domain, and then apply the DCT-IV. In the case of 50% overlap the left half of the window to block t overlaps with the right side ol the previous block, i.e. block t-1. The overlap between consecutive blocks t-1 and t is pre-processed in the time domain, i.e. before conversion, as follows, i.e. processed between the inlet 10 and outlet 12 in Fig. 3:

Values marked with a tilde, are values at the output 12 of Fig. 3, while the values of x that are not marked by a tilde in the above equation are the values at the input 10 and/or following the means 16 for selection. Variable index k takes values from 0 to N/2-1, and w is the clip function.

From the condition TDAC for the clip function w:

For certain angles αk, k = 0,..., N/2-1, this pre-processing in the time domain can be written as a Givens rotation, as discussed.

Angle α Givens rotation depends on the clip function w as follows:

α = arctan[w(N/2-1-k) / w(N/2 + k)] (5)

Note that any clip function w can be used until it satisfies this condition TDAC.

Below, with reference to Fig. 4, described cascade encoder and decoder. Sampling discretization in time with x(0) x(2N-1), which together "cut out" window, first select the tool 16 in Fig. 3, so that the sample x(0) and the sample x(N-1), i.e. the sample from the first quarter of the window and selecting from the second quarter Windows, wybir is carried out for formation of the vector at the output means 16. Intersecting arrows schematically represent multiplication with uplift and subsequent rounding performed by the means 18, 20 and 22, 24 and 26, 28, respectively, to obtain the integer cut samples at the input blocks of DCT-IV.

After processing of the first vector as described above, the second vector addition is selected from the samples x(N/2-1) and x(N/2), i.e. again a sample of the first quarter of the window and the sample from the second quarter of the window, and, again, is processed by the algorithm described in Fig. 3. Similarly handled all other pairs of samples from the first and second quarters open. The same processing is applied to the third and fourth quarters of the first window. Now there are 2N integer cut samples at the output 12, which is coming to the transformation of the DCT-IV, as illustrated in Fig. 4. In particular, the integer cut sample of the second and third quarters come on DCT. Integer carved sampling the first quarter of the window are processed in the previous DCT-IV together with an integer cut samples of the fourth quarter of the previous window. Similarly, according to Fig. 4, fourth quarter integer cut samples delivered on conversion of DCT-IV together with the first quarter of the next window. Average integer convert a 32-bit DCT-IV shown in Fig. 4 provides N integers is spectrally values y(0) y(N-1). Then the whole spectral values can, for example, simply be subjected to entropy coding without having to insert quantization, since the cutting and conversion give the whole output values.

In the right part of Fig. 4 shows a decoder. The decoder consists of the inverse transform and "reverse cut", operates in reverse of the encoder. It is shown that the inverse DCT-IV can be used for the inverse transform DCT-IV shown in Fig. 4. The output values of the decoder DCT-IV 34 are subjected to inverse transformation with the corresponding values of the previous conversion and/or subsequent conversion, as shown in Fig. 4, to re-generate samples of an audio signal with a sampling time with x(0) x(2-N1) of the integer cut samples at the output means 34 and/or previous and subsequent conversion.

Operation on the output side is performed by the reverse rotation of the Givens, i.e. when the blocks 26, 28 and 22, 24 and 18, 20, respectively, are in the opposite direction. This will be illustrated in more detail with reference to the second matrix lifting equation 1. When (at the encoder) the second result vector is generated by multiplying the rounded first result vector of the second matrix lifting tool (22), the following expression gives:

img src="https://img.russianpatents.com/863/8633246-s.jpg" height="9" width="66" >

The values x, y in the right-hand side of equation 6 are integers. This, however, does not apply to the value of x sin α. Here you need to enter the rounding function r, is illustrated by the following equation:

This operation is carried out by means of 24.

Inverse mapping (in the decoder) is defined as follows:

Because of the minus sign before the operation of the rounding becomes obvious that the integer approximation of the phase of uplift can be paid without making a mistake. The application of this approximation to each of the three stages of uplift leads to an integer approximation of the Givens rotation. Rounded the turn (encoder) you can pay (at the decoder), without making an error when passing a callback stages of raising rounding in reverse order, i.e. when decoding algorithm in Fig. 3, implemented from the bottom up.

If the rounding function r axial, back rounded a turn identical rounded the turn on angle -α and is expressed as follows:

The matrix raises for the decoder, i.e. for the reverse rotation of the Givens in this case is obtained directly from equation (1) simple replacement of the expression "sin α" expression "-sin α".

Below, the decomposition of the total MDCT with PE is skryvayuschiesya Windows 40-46 illustrated with reference to Fig. 5. Each of the Windows 40-46 has a 50% overlap. First, the Givens rotations are performed for each window in the first and second quarters of the window and/or in the third and fourth quarters, which is schematically shown by arrows 48. Then the rotated values, i.e. the integer cut samples arrive at the DCT of N in N, so that always the second and third quarter of the window and the fourth and the first quarter of the subsequent window, respectively, in conjunction converted to a spectral representation by means of the algorithm of DCT-IV.

Therefore the total turns of the Givens decompose the matrix lifting, which are executed sequentially, and after each multiplication on the matrix lifting is inserted stage rounding, so that floating point numbers are rounded immediately after generation, so to each multiplication result vector to the matrix uplift resulting vector has only integer components.

Thus, the output values are always integers, and it is preferable to use the whole input values. This is not a restriction, since any illustrative sample PCM stored on the CD are the integer values, the range of which varies depending on the bit width, i.e. depending on whether the digital input value with the discretization in time 16-bit what values or 24-bit values. However, the whole process can work in reverse as described above, carrying out reverse turns in the reverse order. Thus, it is an integer approximation of the MDCT with good recovery, i.e. the conversion is lossless.

Shows the conversion provides a whole weekend of values instead of floating point values. This ensures good recovery, i.e. when the direct implementation, and then the inverse transform does not create any errors. According to a preferred variant implementation of the present invention the conversion is the replacement for the modified discrete cosine transform. However, while it is possible decomposition turns and decomposition turns on the stages of lifting, you can implement other methods of converting from integers.

Integer MDCT is the most useful properties of the MDCT. It has the structure overlap, resulting in higher frequency efficiency than transformations with non-overlapping blocks. Because when you cut before the conversion has already taken into account the function TDAC, supported critical sampling, so the total number of spectral values representing the audio signal is equal to the total number of input samples.

Compared with normal MDCT, providing the sample is floating point, described preferred integer conversion shows that the noise compared to normal MDCT is increased only in the spectral range where there is a low level signal, whereas when a significant signal levels is the increase of the noise becomes noticeable. However, processing of integers provides for efficient hardware implementation, since it uses only the stages of multiplication, which can be easily decomposed into the stages of the shift/add, which allow simple and fast hardware implementation. Possible, of course, and software implementation.

Integer conversion provides a good spectral representation of the audio signal and simultaneously remain in the domain of integers. In case of application of the tonal parts of the audio signal, it gives a good energy concentration. You can build a cost-effective scheme for lossless encoding, simply cascading cutting/converting shown in Fig. 3, the entropy encoder. In particular, the advantage has a stack encoding using transition value, which is used in MPEG AAC. Preferably scaled in the direction of reducing all values with a certain factor of two, while they will not fit in the necessary code table, then additional code omitted bits. Compared to al ernative a larger code tables described alternative preferred consumption storage capacity for storing code tables. Almost bespattering encoder also can be obtained by simply omitting some units in younger bits.

In particular, for signals entropy encoding of integer spectral values allows to achieve high coding efficiency. For transient parts of the signal, the coding efficiency is low, specifically, due to the flat spectrum of transient signals, i.e. due to the small number of spectral values equal to or nearly equal to 0. However, as described in J. Herre, J. D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)" 101stAES Convention, Los Angeles 1996, Preprint 4384, this flatness can be used by applying linear prediction in the frequency domain. The alternative is forecasting an open cycle. Another alternative is forecasting a closed loop. The first alternative, i.e. the prediction of the open-loop, called TNS. Quantization after forecasting to ensure the adaptability of the resulting quantization noise to the temporal structure of the audio signal and, thus, prevent pre-echo in the psychoacoustic audiocorder. For audio lossless the second alternative, i.e. the prediction of the closed-cycle, more appropriate, because it allows you to accurately recover the input signal. In the case of applying this method to the gene is ryuumaru range stage rounding should be performed after each step of the prediction filter, to stay in the field of integers. Using the inverse filter and the same function rounding, it is possible to accurately reproduce the original spectrum.

For redundancy between the two channels to the preliminary data of the Central-side coding can also be used without a loss, if you use rounded a turn angle π/4. Compared with the alternative of calculating the sum and difference of the left and right channel stereo rounded the turn has the advantage of energy saving. Using the methods of the so-called combined stereociliary can be turned on or off for each band, which is also carried out in the standard MPEG AAC. You can also take into account the additional angles of rotation, in order to have more flexibility to reduce redundancy between the two channels.

In particular, the concept of transformation is illustrated in relation to Fig. 3, provides the integer MDCT implementation, i.e. IntMDCT, which operates without losses in direct conversion and subsequent inverse transformation. Thanks stages rounding 20, 24, 28 and the respective stages of rounding in integer DCT (block 14 in Fig. 3), is also always possible processing of integers, i.e. treatment with more coarsely quantized values than at the time of their generation, for example, put the m multiplication floating-point matrix uplift (blocks 18, 22, 26 in Fig. 3).

As a result, all IntMDCT can be effectively implemented in relation to the calculation.

Besterest this IntMDCT or, in General, besterest all coding algorithms means that no loss is due to the fact that the signal being encoded to obtain an encoded signal, and then decoded to obtain coded/decoded signal "looks" exactly like the original signal. In other words, the original signal is identical to the encoded/decoded original signal. This obviously contrasts with the so-called encoding is lossy, in which, as in the case of AudioCodes working on psychoacoustic basis, data is permanently lost due to the encoding process and, in particular, the quantization process running psychoacoustic model.

Of course, still are rounding errors. Thus, according to Fig. 3, the blocks 20, 24, 28 are stages of rounding, which, of course, make the rounding error, which "eliminated" in the decoder when performing the reverse operations. Thus, the concept of encoding/decoding without loss differs significantly from the concepts of encoding/decoding with losses in the fact that the concepts of encoding/decoding without loss of the rounding error is made so that it can again eliminate the ing, in contrast to the concepts of encoding/decoding with the loss.

However, if we consider a coded signal, i.e. in the case of encoders with a transform, the spectrum block of time samples, rounding in direct conversion and/or, in General, the quantization of this signal leads to the introduction of errors into the signal. Thus, the rounding error is "superimposed" on a perfect, free from error signal spectrum and error is usually, for example in the case of Fig. 3, is a white noise, equally including all frequency components of the considered spectral range. This white noise superimposed on the ideal range is, therefore, the rounding error, which occurs, for example, when rounding in blocks 20, 24, 28 during the cutting, i.e. during pre-processing of the signal before the actual DCT in block 14. In particular, note that if necessary, no losses all the rounding error should be coded, i.e. transmitted to the decoder because the decoder requires all the rounding error introduced in the encoder, to achieve exact recovery without loss.

The rounding error may not be a problem, when the spectral representation of "nothing", i.e. when the spectral representation is only preserved, transmitted and decoded, again, that is but a consistent inverse decoder. In this case, the absence of losses will always occur, no matter how much the rounding error was made in the range. If the spectral representation of something is being done, i.e. with perfect spectral representation of the original signal containing a rounding error, for example, if the generated zoom levels etc, it all works the better, the less the rounding error.

Thus, to encode/decode lossless required, on the one hand, the power was restored without loss special decoders, but, on the other hand, to the signal had minimum roundoff error in its spectral representation to maintain flexibility in that spectral representation can also apply for imperfectly bespoleznye decoders or that you can generate zoom levels, etc.

According to the above, the rounding error is expressed as white noise throughout the given range. On the other hand, in particular, in applications of high quality, since they are particularly important in the absence of losses, i.e. in audio applications with very high sampling rates, such as 96 kHz, audio signal has meaningful content only in a certain spectral range, which usually reaches at most 20 kHz. About the commonly range, in which mainly concentrated energy signal for audio, concluded from 0 to 10 kHz, whereas in the range above 10 kHz, the signal energy will be greatly reduced. However, this does not apply to white noise, introduced by rounding. It is superimposed on all the considered spectral range of the signal energy. As a result, in the spectral ranges, i.e. usually in the upper spectral ranges, where no energy of an audio signal or it is very small, there will be only a rounding error. At the same time, in particular, due to its deterministiceskaja nature of the rounding error is also difficult to encode, i.e. it is encoded only with relatively high bit requirements. Bit requirements do not play a decisive role, in particular, in some bespattering applications. However, to the application of lossless encoding received increasingly widespread, it is very important that they work with high bit efficiency to combine the advantages of the absence of quality deterioration, inherent bespattering applications with the corresponding bit of efficiency, which is known from the concept of lossy encoding.

The present invention is the provision of an efficient principle of signal processing.

This problem is solved by a device for obrabativala, having a sequence of discrete values, according to claim 1, the method of processing a signal having a sequence of discrete values, p or computer program according to claim 19.

The basis of the present invention lies in the fact that, in particular, in the context of encoding/decoding lossless spectral rounding error is formed so that it is "placed" in the frequency range of the signal to be coded, in which the signal has a high signal energy, and that as a consequence, the rounding error is not in the ranges where the signal has no energy. While according to the prior art, the rounding error is distributed white noise across the spectrum of the signal at the lossless encoding and, in particular, when the lossless encoding on the basis of integer algorithms according to the invention, the rounding error is superimposed on the ideal range in the form of pink noise, i.e. so that the energy of the noise, due to rounding, there where the signal has its highest energy signal, and, thus, so that the noise caused by rounding error, also has a small or even zero energy where the signal encode itself has no energy. This allows you to avoid the worst case, when the rounding error, which is difficult to code because of its stochastics the wow character is the only signal to be encoded into the frequency range, which unnecessarily increases the flow of bits.

Regarding audio, the energy of which is in the lower frequency range, means rounding according to the invention is executed with the option to generate the low-frequency range generated by rounding errors, resulting in a high frequency encoded signal no signal energy, or energy of the noise, while the rounding error is displayed in the range where the signal has more energy.

In particular, for applications of lossless encoding, this differs from the prior art, where the rounding error is subjected to high-frequency spectral filtering to the rounding error was found to be outside the audible range. This also corresponds to the case when the spectral range in which there is a rounding error, filtered or electronic means, either by the ear to eliminate rounding errors. However, for encoding/decoding without loss of the rounding error is absolutely necessary at the decoder, since otherwise the algorithm used in the decoder, which operates in reverse to the encoding algorithm is lossless, generates distortion.

The concept of the invention relative to the formation of the spectrum on what I'm rounding errors preferably used in bespattering applications with high sampling frequency, since, in particular, in cases where the spectra theoretically extend at 40 kHz (due to oversampling), the same situation occurs in the upper frequency range where there is no signal energy, i.e. where the encoding can be performed very efficiently, as in the case of non-integer encoding, when the signal energy is also zero in the upper frequency range.

Since a large number of zeros is encoded very efficiently and the rounding error, which is a problem for code that is shifted within the range that is typically encoded very accurately, the overall speed of the data transmission signal is reduced compared with the case where the rounding error is distributed in the form of white noise across the entire frequency range. In addition, the encoding performance, and consequently, the performance of decoding is increased, since the encoding and decoding of the upper frequency range do not need to spend any time calculations. Thus, the concept of the invention also provides high-speed processing of the signal at the encoder and/or decoder.

According to a preferred variant implementation of the present invention the concept of the invention the formation/reduction of the error of approximation is applied to the reversible integer transforms, in particular IntMDCT. There are two areas ol the changes, namely, on the one hand, multidimensional lifting, whereby MDCT is greatly simplified in regard to the required stages of rounding, and, on the other hand, the operation of rounding, integer required when cutting, so they carried out during pre-processing before the actual DCT.

According to the invention for the formation of the spectrum of rounding errors, which according to the invention, the rounding error is shifted in the frequency range in which the processed signal has a higher signal energy, uses the concept of feedback errors. For audio signals and, in particular, for video it will be a lower frequency range, so the feedback system error has the property of passing low frequencies. This reduces rounding errors in the upper frequency range, where usually there are less components in the signal. According to the prior art rounding errors dominate in the upper range, which must then be encoded, resulting in increasing the number of bits required for coding. According to the invention this rounding error is reduced at high frequencies, which directly leads to the reduction of the number of bits required for encoding.

Preferred embodiments of the present invention further is about explained below with reference to the accompanying drawings, in which:

Fig. 1 is a block diagram of the concept of the invention regarding the processing of a signal having a sequence of discrete values;

Fig. 2A - demonstrates a well-known concept of formation of the high-frequency range for quantization errors;

Fig. 2B shows the concept of the formation of low-frequency spectrum to errors of sampling according to the present invention;

Fig. 2C is a schematic block circuit diagram of the formation of the spectrum/rounding according to a preferred variant implementation of the present invention;

Fig. 3 is a block diagram of a preferred means for processing the samples of the audio signal with sampling time to obtain integer values, from which we can determine the whole spectral values;

Fig. 4 is a schematic illustration of the decomposition of MDCT and inverse MDCT on Givens rotations and two operations DCT-IV;

Fig. 5 is a schematic illustration of the decomposition of MDCT with 50% overlap on turns and operations of the DCT-IV;

Fig. 6A is a block diagram of a known encoder with MDCT and 50% overlap;

Fig. 6B is a block diagram of a known decoder for decoding values generated according to Fig. 10A;

Fig. 7 is an illustration of the lifting when cutting according to Fig. 3;

Fig. 8 - illustration of "resequenced" lift according to Fig. 7 to clip before the actual conversion;

Fig. 9 - illustrationen of the present invention to clip according to Fig. 3, 7 and 8;

Fig. 10A-10C is a block diagram of a device for conversion according to a preferred variant implementation of the present invention;

Fig. 11 is a diagram of a device for inverse transformation according to a preferred variant implementation of the present invention;

Fig. 12 - mapping of two consecutive blocks of values used according to the present invention;

Fig. 13 is a detailed diagram of the phase multidimensional lifting using the matrix of direct conversion;

Fig. 14 is a diagram of the stage reverse multidimensional lifting using the matrix inverse transformation;

Fig. 15 is a diagram of the decomposition of the DCT-IV of length N on the DCT-IV of length N/2 according to the present invention;

Fig. 16 is an illustration of the application of the concept of the invention for conversion to a multi-dimensional lifting, shown in Fig. 10;

Fig. 17 is an illustration of two successive stages of uplift;

Fig. 18 is an illustration of the concept of reduce rounding errors on two consecutive stages of uplift in Fig. 17; and

Fig. 19 is an illustration of the Association of the concept shown in Fig. 18, with the concept shown in Fig. 16.

In Fig. 1 shows a device for processing a signal having a sequence of discrete values, which are entered into the tool 202 for manipulation through the input 200 of the signal. The signal is usually formed so that it has the first frequency range, in which the signal has high energy, and the second frequency band in which the signal has a relatively low energy. If the first signal is an audio signal, it will have high energy in the first frequency range, i.e. in the lower frequency range, and will have low energy in the upper frequency range. If the signal is a video signal, then it will also have high energy in the lower range and will have low energy in the upper range. Unlike the audio frequency range of a signal is the range of spatial frequencies, if not considered sequential video frames, in which there is temporal frequency, for example, associated with the selected region of the image in successive frames.

The means 202 for manipulation, in General, made with the possibility of manipulation by a sequence of discrete values, resulting in a sequence of values, subject to manipulation, in which at least one is subjected to manipulation, not an integer. This sequence is non-integer discrete values supplied to the means 204 for rounding the sequence of values subjected to manipulation, to obtain a sequence of rounded values subjected to manipulation. Under the image is the shadow tool 204 for rounding are formed so in order to carry out the formation of the rounding errors generated when rounding to the first frequency range, i.e. in the frequency range where the original signal has high energy, the rounding error with the generated spectrum also had high energy, and in the second frequency range, i.e. the frequency range, where the original signal has a low energy, the rounding error with the generated spectrum also had low or zero energy. In the General case, the energy of rounding errors with the generated spectrum in the first frequency range is higher than the energy of rounding errors with the generated spectrum of the second frequency range. However, the formation of the spectrum preferably does not change the total energy of rounding errors.

Preferably the device according to the invention for the generation of erroneous sequence rounded values subjected to manipulation, connected to the means 206 for converting the spectral representation, either directly or through an optional combination of manipulation or rounding. Thus, the erroneous sequence rounded values subjected to manipulation, may be supplied directly to the tool 206 for converting the spectral representation to obtain a direct spectrum containing the fast sequence rounded values, subjected to manipulation.

However, according to a preferred variant implementation of the present invention the means for manipulation represents a phase of uplift and/or matrix lifting, and means for rounding formed to be rounded non-integer results of stage lifting. In this case, after the means 204 is an optional tool for manipulation, carrying out the second phase of uplift, which, in turn, should be a tool for rounding, which, in turn, should a third means for manipulation, implementing the third stage of lifting, and then there is another manipulation to complete all three phases of uplift. Thus, the output means 204 is generated containing the error sequence rounded values subjected to manipulation, derived from a source containing the error sequence rounded values subjected to manipulation, which is then finally converted into a spectral representation, preferably by an integer transform, and, in particular, preferably by an integer transform, which also provided the concept of the invention, as illustrated by block 206. The output signal spectral representation at the output of block 206 has a spectrum, which is in contrast to the prior art has not been distributed in the form of white noise rounding errors, but is a rounding error generated spectral, i.e. such that high energy rounding errors there, where the actual "useful range" has a high energy signal, although even in the best case, there is no energy rounding errors in the frequency ranges in which no energy signal.

This spectrum is generated according to the invention, is then fed to the means 208 for entropy coding of the spectral representation. This means for entropy encoding may include any method of encoding, such as Huffman coding, arithmetic coding, etc. In particular, to encode a large number of spectral lines, which are zero and are adjacent to each other, also apply the run-length series, which, of course, not applicable in the prior art, as in this case in such frequency ranges must be encoded in fact deterministic signal, which, however, has a white spectrum and, thus, is particularly bad for any kind of encoding tools, because the individual spectral values do not correlate with each another.

Below, the preferred implementation of the means 204 for rounding with the formation of the spectrum discussed with reference to Fig. 2A, 2B, 2C.

In Fig. 2A showing the well-known feedback system for errors for the formation of the spectrum of the quantization errors, which is described in the book for specialists "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, providing a quantized output value y(i) at the output of the formation of the spectrum. The second adder 214 determines the difference between the output value of the quantizer 212 and the input of the quantizer 212, i.e. the rounding error e(i). The output signal of the second adder 214 is supplied to the tool 216 delays. The error e(i), delayed by one unit time, is subtracted from the input value by the adder 210. This gives a high-frequency estimation of the initial error signal e(n).

If instead the delay z-1marked 216 in Fig. 2A, is used z-1(-2 + z-1), resulting in high-frequency estimation of the second order. In some embodiments, the implementation of such formation of the spectrum of the quantization error is used to "cut mask" quantization errors of perceived range, i.e. for example from the low-frequency band signal x(n), so that the quantization error is not perceived.

According to the invention, as shown in Fig. 2B, is the low-frequency evaluation instead of ensuring the formation of the spectrum of the error is not outside the range of perception, but it is in range is not perception. For this purpose the output signal of the adder 210, shown in Fig. 2B, serves on the block rounding 218 that implements some function of rounding, which may be, for example, rounding, rounding down, rounding by drop, rounding to bigger/smaller side to the next whole number or the previous whole number. In the way of feedback errors, i.e. between the adder 214 and the adder 210, in addition to element 216 delays, consistently included additional unit 220 feedback with impulse response h(n) and/or transfer function H(z). The Z-transform of the output sequence, i.e. Y(z), associated with the input sequence X(z) by the equations shown in Fig. 2B.

e(n) = y(n)-x'(n)

In the above equation, x'(n) is the output signal of the adder 210, and y(n) is the output signal of block 218 rounding.

In addition, apply the following equation:

y (n) = round (x'(n))

In the above equation, "round" is a function of rounding implemented by block 218. In addition, apply the following equation, in which "*" represents the convolution operation:

x'(n) = x(n) - h(n) * e(n - 1)

In the Z-range, we get the following result:

Y(z) = X'(z) + E(z)

X'(z) = X(z) - E(z)z-1H(z)

Y(z) = X(z) + (1 - z-1H(z))E(z)

Since E(z) is a rounding error, its spectrum is formed Phil is slow (1 - z-1H(z)). According to the invention uses low-frequency transfer function. The simplest low-pass transfer function can be obtained by setting, for example, H(z) = -1. In this simple example, the rounding error of the previous operation of rounding, therefore, is simply added to the value, subject to rounding, before applying the next operation of rounding. Thus is achieved a simple low-pass filtering rounding errors, which is very effective for the present invention and is therefore preferred.

The implementation is carried out according to Fig. 2C. In particular, it is shown the tool 202 to manipulate the original sequence of discrete values, which provides a sequence of non-integer discrete values of y0, y1, y2,..., yion the output side. In contrast to the prior art, each value is already not rounded in itself, as shown, for example, with reference to the blocks 20, 24, 28 in Fig. 3 or with reference to blocks 104, 110, 142 in Fig. 10C or 126, 132, 150 in Fig. 11. Instead, a non-discrete values of the sequence y0, y1, y2, y3that ... is filtered based from each other by low-frequency characteristic in the feedback branch through the "network"shown in Fig. 2, resulting in formirovaniia, conforming to the invention. Similar elements in Fig. 2C and 2B indicated the same positions.

In addition, in Fig. 2C shows a parallel implementation, i.e. the implementation in which the values are subject to rounding, are provided in parallel. Of course, this is only a schematic illustration. The values of y0, y1, y2, ... can be provided sequentially to obtain then successive output values, and in this case, only one implementation of the structure elements 210, 214, 216, 218, 220. Recurring patterns of elements 214, 218, 210, 220 are illustrated only for the sake of clarity.

The means 204 for rounding, is shown in Fig. 2C, first computes the rounded value [y0]. Then calculates the rounding error i0. Then the rounding error i0weighted (filtered) unit 220 with transfer function H(z), which is preferably equal to -1, and is supplied to the adder 210. This filtered rounding error is with the next value of the sequence yi, then the result of the adder 210 is rounded at block 218 to obtain the following rounded values [y1]. After that the rounding error is again determined by the adder 214, i.e. using rounded values [y1] and the initial values y1and this received the rounding error i again filtered at block 220 to implement the same procedure for the next value of y2sequence.

It should be noted that the direction does not matter. This means that you can also move from yiwith large indexes to yiwith smaller indices, i.e. in the opposite direction indicated specifically by the arrows in Fig. 2C, going from block 220 to the adder 210. Thus, the order, i.e. does the procedure from the lowest index sequence to high or Vice versa, doesn't matter.

In particular, in the case of the use of the integer MDCT (IntMDCT) the formation of the rounding errors is preferably used particularly effectively in cases that meet the following conditions:

The rounding error is added to several neighboring values, independently from each other.

- Neighboring values (in the broadest sense) are temporary signals, which are then converted to a spectral representation by converting, i.e. which are converted to the frequency domain.

Below is a more detailed explanation, in what parts of the integer MDCT is preferable to use the formation of rounding errors.

The first preferred implementation involves cutting before the actual conversion, so what. for rounding, given in Fig. 3 blocks 20, 24, 28. The lifting operation performed on each source sample x1,..., xNas described with reference to Fig. 3, which can also be illustrated by the diagram shown in Fig. 7. Here the use of the three matrices lifting, i.e. the corresponding multiplication factor for the sample, is illustrated as applied to the sample, resulting in a sequence of top-down, bottom-up and top-down.

In relation to the designations in Fig. 7 note that, when the arrow rests on a horizontal line, this corresponds to the addition. This addition is shown in Fig. 7, for example, position 27. Comparing Fig. 4 with Fig. 7, one can see that the only difference is that x(0) in Fig. 4 corresponds to x1in Fig. 7. In this regard, xNin Fig. 7 corresponds to x(N-1) in Fig. 4. However, x(N/2-1) of Fig. 4 corresponds to xN/2in Fig. 7. In addition, x(N/2) in Fig. 4 corresponds to xN/2+1in Fig. 7, resulting in the switch shown in Fig. 2, through which a single value from the first quarter of the box weighed a single value from the second quarter of the window according to the stages of uplift, while, similarly, the value of the third quarter window is processed value of the fourth quarter window via the "system down-up-down, proillyustriroval is authorized in Fig. 7.

A corresponding procedure for pairs of values of xN/2and xN/2+1. Again, there is a sequence of "down-up-down, in which step down 29A should step up 29b, after which again is a step down 29s.

Thus, in Fig. 7 shows the integer cut by raising. This calculation can also be reordered without changing the result, as shown in Fig. 8. So, of course, first of all, you can perform all the steps down (all stages 29A). You can then perform all the steps up (29b), in order to carry out the steps down 29c, resulting block 31a down the block 31b "up" and again the unit 31c down. Note that Fig. 8 corresponds to Fig. 7, but in another illustration, which is better suited for understanding the present invention.

In Fig. 9 shows the concept of the invention, in which the rounding according to the invention is carried out for rounding with the formation of the spectrum. The concept of calculating the elevation shown in Fig. 9, corresponds to Fig. 1 in that the input values x1xN/2represent the original sequence of discrete values at the input 200. Units of assessment cs1cs2,..., cskin block 31a down together constitute the means 202 for manipulation. Block, denoted by [.]/NoiseShaping is with adsto 204 to rounding, it is shown in Fig. 1. The output of this block 204 is provided with the error sequence rounded values subjected to manipulation.

According to a variant implementation, shown in Fig. 9, the sequence containing errors rounded values subjected to manipulation, is summed with an additional sequence with xN/2+1xNto obtain a new sequence of integer discrete values, which, in turn, manipulate (blocks s1, skin block 31b "up"), then to once again provide the rounding according to the invention on the block 31b "up" through the element 204b. Then again ensures that the adder 205b on the basis of the values in the block 31a "down", i.e. as in the case of the adder 205A, to obtain a new sequence, which, in turn, is fed to the manipulator s, and the output signal of the manipulator s is not an integer and is rounded for extra block rounding is to add, in turn, an additional adder s, i.e. to the sequence input to the pointing device 202b.

According to a variant implementation, shown in Fig. 9, the result on the output side is a carved block of samples, which according to a systematic scheme illustrated in Fig. 4, serves to appropriately shifted b is Oka DCT-IV. These shifted blocks of DCT-IV provide conversion to convert erroneous sequence rounded values subjected to manipulation, spectral representation. Thus, the blocks of DCT-IV in Fig. 4 represent the implementation tool 206, shown in Fig. 1. Similarly, the blocks for the implementation of the inverse integer DCT-IV represent a similar tool to convert to a temporary view.

Further, the use of multidimensional lifting is considered with reference to Fig. 10-15 to represent the integer implementation tool 206 for converting the spectral representation of Fig. 10A and/or similar integer implementation of the inverse transform (for decoder). The concept of multidimensional lifting represented in the German patent application having the official document number 10331803.8.

In Fig. 10A shows a device for converting digital values to the transformed representation of integer values. Discrete values fed to the device through the first input 100A and a second input 100b. The first block of discrete values is supplied through the inlet 100A, whereas the second block of discrete values is supplied through the inlet 100b. Discrete values represent audio data or image data and/or video data. As will be discussed below, the first block of the discrete values and the second block of discrete values may actually include two consecutive time block of samples of the audio signal. The first and second blocks of discrete values can also include two images represented by discrete values and/or residual values after forecasting or differential values in the differential encoding etc. Alternative, two blocks of discrete values may be pre-processed, for example, an integer implementation of the MDCT, where the first and second blocks of discrete values generated by Givens rotations from actually cut samples. Thus, the first and second blocks of discrete values can be derived from the original audio data or image data by some processing, such as rotations, permutations, leaps "plus/minus", scale etc. of the First and second blocks of discrete values receive audio and/or image information, although they are not directly epleronone sound or discretized values of an image.

The first block of discrete values served on the tool 102 for processing the first block of discrete values using the first conversion rules through the inlet 100A for receiving the first block of transformed output means 102, as shown in Fig. 10A. This first block of transformed values is usually not an integer, but includes values accross a floating point because they are usually obtained according to some rule transformations, such as Fourier transform, Laplace transforms, FFT, DCT, DST, MDCT, MDST or some other transformation, such as translation of elementary waves of any basic functions. The first block of transformed values served on the means 104 for rounding the first block of transformed values to obtain the first block rounded the converted values on the output side. The means 104 for rounding formed to undertake the function of rounding, such as rounding the drop, or rounding, and/or round down depending on floating point values, etc.

The rounding rule that is implemented by the means 104, thus, is responsible for the first unit converted rounded values, again containing only integer values, the accuracy of which is determined by the rounding rule used by the tool 104. The first unit converted rounded values, as the second block of discrete values, submitted to the second input 100b, arrives at 106 to sum to obtain a second block of summed values. When considering the example of an audio signal, it is obvious that the spectral values of the first block rounded transformed values of probable is raised to the temporary values from the second block of discrete values means 106. If discrete values of the second block are, for example, voltage levels, it is recommended that the first unit converted rounded values also existed in the form of stress amplitudes, i.e. as values, measured in volts. In this case, the summation is not expected any problems with the units. However, specialists in the art it is obvious that on the first unit converted rounded values and/or the second block of discrete values it is possible to carry out any operation of normalization units, resulting in the first block rounded the converted values and the second block of discrete values become, for example, dimensionless.

The second block of summed values is supplied to the means 108 for processing the second block of summed values by using the second mapping rule to obtain a second block of transformed values. If the conversion rule used in the tool 102 is, for example, the conversion rule time-frequency, the second conversion rule used in block 108 is, for example, the conversion rule from the frequency-time. However, these relationships can also be turned, causing the first and second blocks of discrete values would be, for example, spectral values, is the means 102 for processing according to the conversion rule will issue temporary values, and means for processing according to the inverse mapping rule, i.e. the tool 108, will give a spectral value. Thus, the first and second conversion rules can be direct or inverse transform, and the inverse conversion rule is a rule inverse conversion or direct conversion rule, respectively.

The second block of transformed values served on the tool 110 to rounding, as shown in Fig. 10A, for receiving the second block rounded converted values, which, in the end, serves on the tool 112 subtractor for subtracting the second unit rounded the converted values from the first block of discrete values received via the first input 108A, to obtain a block of integer output values of the converted presentation, which may appear at the output 114. Processing unit integer output values of the converted presentation with the use of any third conversion rules, which were also used by the tool 102, or which differs from it, and then rounding the block converted output values to obtain a block rounded converted output values, and then summing the rounded block converted output values and the second block of summed values, it is possible the additional returns the entire block of output values of the transformed representation, providing full converted representation of the first and second block of discrete values at the output 114 of the entire block of output values.

However, even without the last three stages of processing, rounding and summing, using the entire block of output values of the converted presentation at the outlet 114, it is already possible to receive a part of the whole transformed representation, i.e, for example, the first half, which, being subjected to the reverse processing allows you to perform the reverse calculation of the first and second block of discrete values.

It should be noted that depending on the conversion rules first, second and third conversion rules, if they exist, can be identical. This is the case, for example, in the case of DCT-IV. If the first mapping rule is used FFT, then as a second (reverse) transformation rules can be used IFFT, which is not identical to the FFT.

For the sake of convenience of calculation, it is preferable to provide the conversion rule in the form of a matrix, which, if the number of discrete values of the first block is equal to the number of discrete values of the second block is a square NxN matrix, 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.

who according to one variant of implementation means 104 and 110 for rounding are formed so to be rounded according to the rounding function, providing a rounded results, the accuracy of which is less than machine precision, inherent in the computer executing the functionality shown in Fig. 10A. In relation to the function of rounding note that it displays a non-integer number for the next top or bottom of an integer in only one preferred embodiment. The function of rounding can also be displayed on other integers, such as the number 17,7 on the top 10 or top 20, if the rounding function provides lower accuracy in rounding numbers. In the above example, the rounded number is a number with one digit after the decimal point, and the rounded number is a number that has no decimal places.

Although according to Fig. 10A, the tool 102 for processing using the first conversion rules and the means 108 for processing using the second conversion rules are shown as separate funds, note that in a specific implementation, there can be only one functional unit conversion, which is running a special streaming controls first converts the first block of discrete values and then converts in the opposite direction the second block of summed values in the corresponding point of time of the algorithm. In this text the tea first and second conversion rules will be identical. The same is true for the two means 104, 110 to rounding. They also do not necessarily provide as a separate tool, but can be implemented as one functional block rounding, again running stream controls first rounds the first block of transformed values, and then rounds the second block of transformed values, depending on the requirements of the algorithm.

According to one variant of implementation of the first block of discrete values and the second block of discrete values are integers cut samples as they are obtained at the output of block 28 in Fig. 3. Integer DCT in block 14 of Fig. 3 is implemented by integer algorithm, shown in Fig. 1, so that the converted representation in the sample audio signal belongs Fig. 3, represents the integer spectral values at the output 30 of the device shown in Fig. 3.

Further, the means for inverse transformation corresponding to Fig. 10A, is illustrated with reference to Fig. 10B, in which, in addition to block integer output values at the output of block 112 of Fig. 10A, also used the second block of summed output means 106 in Fig. 10A. According Fig. 11, which will be explained in detail below, this corresponds to the case when there are only blocks I 130, but not block 124 conversion.

In Fig. 10B shows a device for inverse transformation unit integer output values converted representation obtained at the output 114 of Fig. 10A, and the second unit of the summed values. The second block of summed values served on the input device 120 inverse transformation, as shown in Fig. 10B. The block output values of the converted presentation served on another input device 122 for the inverse transform.

The second block of summed values served on the means 130 for processing this unit using the second rule of conversion, if the conversion rule, the latter is used for encoding, the second conversion rule. The tool 130 provides on the output side, the first block of transformed values, which acts on the tool 132 for rounding, which, in turn, generates the first block rounded the converted values on the output side. The first block rounded the converted values are then subtracted from the block output values converted representation by means 134 for receiving the first block of discrete values of the first output 149 of the device of Fig. 10B.

This first block of discrete values is supplied to the tool 150 to process a block of IP is by the use of the first mapping rule to obtain a second block of transformed output means 150. This second block of transformed subtracted values, in turn, is approximated by means 152 for receiving the second block rounded transformed values. This second block is rounded converted values is subtracted from the second block of summed values provided on the input side, which was introduced through the inlet 120, for receiving the second block of discrete values at the exit 136 on the output side.

Regarding the first, second and third conversion rules in connection with the particular implementation of separate functional blocks in Fig. 10B through common functional blocks and the corresponding streaming controls/automatic shutter, see the description given with reference to Fig. 10A.

Hereinafter, the preferred implementation of the device for converting the converted representation, generally illustrated in Fig. 10A described with reference to Fig. 10S. An implementation option, shown in Fig. 10A, includes additional conversion/rounding compared with Fig. 10A to generate additional unit integer output values from the second block of summed values.

The first input 100A includes N input lines x0,..., xN-1for N values of the first block of discrete values. The second input 100b also VK is uchet N lines for N values of x N,..., x2N-1the second block of discrete values. The tool 102 in Fig. 10A shown in Fig. 10C as the transducer DCT-IV. The Converter 102 DCT-IV is formed so as to generate from N input N output values, each of which is then rounded according to the rounding rule, denoted by "[.]", as shown the tool 104 of Fig. 10S. The means 106 for summation illustrated so that a sum in respect of value. This means that the output value means 102 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 means 104 rounding with sequence number i individually summed with a discrete value of the second block of output values with sequence number N+i, where i is a variable index, which takes values from 0 to N-1.

The means 108 for processing using the second conversion rules also depicted as a transformer DCT-IV. According to a preferred variant implementation, shown in Fig. 10C, the means 112 for subtraction also formed so as to perform subtraction in relation to values, i.e. so that the output values of rounder 110, i.e. the values of the second block is rounded transformed values, the individual is deducted on the first block of discrete values. According to a variant implementation, shown in Fig. 10C, it is preferable to carry out the corresponding subtraction so that the value of the second block with sequence number N+i is subtracted from the value of the first block with sequence number i, where i again varies from 0 to N-1. Alternatively, you can also perform other operations addition/subtraction, for example, to subtract the value of the block with sequence number N-1 from the value of another block with sequence number N, while it is accordingly taken into account in the inverse transform.

The means 112 for subtracting the already provides block integer output values of the converted presentation on the output side, i.e. the integer output values with y0yN-1the converted presentation. To get the rest of the integer output values of the transformed representation, i.e. an additional block with yNy2N-1if it is desirable, though not necessarily, unit integer output values of the converted presentation applied to the output 114, are converted using the third conversion rules direct Converter 140, and the output values again are rounded, as illustrated by means 142 rounding to implement the summation of these values with the second block of summerhaven the x values at the output of the adder 106, as illustrated position 144 in Fig. 10S. The output values of the adder 144 represent additional block 146 integer output values of the transformed representation, which are indicated with yNy2N-1.

Next, a device for inverse transform the transformed representation according to a variant implementation is considered with reference to Fig. 11. Note that the operations performed by the device illustrated in Fig. 10C, turn lossless device, illustrated in Fig. 11. Fig. 11 corresponds to Fig. 10B except for the additional stages of the conversion/rounding to generate a second block of summed values, which is fed to the input 120 according to a variant implementation, shown in Fig. 10B, an additional block of converted output values. Note that the addition function calls function subtraction, respectively. It should also be noted that on a couple of the adder/myCitadel (144 in Fig. 10C and 128 in Fig. 11) you can also submit an input value is inverted in sign, so that, if the group of input values entered with a negative sign, in contrast to the case shown, the adder 144 actually performs the subtraction operation, as it takes into account the opposite side (128 in Fig. 11), which is then actually performs the Opera is the s addition.

MyCitadel 128, shown in Fig. 11, the adder 134 and additional myCitadel 154, again, formed to carry out the addition/subtraction for each value, which, again, uses the same processing sequence numbers, as described with reference to Fig. 10S. If you use a different sequence number, as shown in Fig. 10C, it will be accordingly taken into account in Fig. 11.

Output vicites 134 there is already the first block of discrete values 136, marked with x0xN-1. To get the rest of the back transformed representation, the first block of discrete values is fed to the Converter 150 acting on the first conversion rule, the values of which on the output side are rounded-rounder 152 and deducted from the second block of values of the subtraction at the output of vicites 128 for final receipt of the second block of discrete values 156, denoted by xN,...,x2N-1.

Below, the mathematical apparatus for the devices described here with reference to Fig. 10A, 10B, 10C and 11, is discussed with reference to Fig. 12-15. Illustrated a device for converting and/or inverse transformation provides methods of integer transforms for audio encoding is lossless, which reduces the approximation error. In addition, computing power so the e is taken into account in the plan, that reason is no longer known approach of applying the lifting scheme to each Givens rotation, which always are trivial switch "sum-difference". They significantly increase the computational power compared to the original non-integer version of the transformation to be copied.

Typically, the lifting scheme is used to obtain reversible integer approximation of the Givens rotation.

This integer approximation is achieved using the rounding function after each addition, i.e. after each stage of lifting. The lifting scheme can also be used for reversible integer approximation of some scaling operations. In a publication for professionals R. Geiger and G. Schuller, "Integer low delay and MDCT filter banks," Proc. of the Asilomar Conf. on Signals, Systems and Computers, 2002, reviewed and described the following decomposition with a show scale of 2x2 matrix with determinant equal to 1:

This decomposition with a show that is one-dimensional, i.e. which is associated only with scale matrix 2x2 extends to the multidimensional case. In particular, all values of the above equations are replaced by matrices nxn, where n, i.e. the number of discrete values of the block is greater than or equal is 2. Thus, for any matrix T of size nxn, which, preferably, should be reversible, perhaps the following decomposition of a block matrix 2n x 2n, where Endenotes the matrix n x n:

In addition to simple operations such as permutations or multiplications by -1, all three blocks of this decomposition have the following General structure:

For this block matrix 2n x 2n, we can use the generalized lifting scheme, which is hereinafter also called a multidimensional lifting.

For a vector with values x = (x0,..., x2n-1) use this block matrix provides the following equation:

Note that in the right-hand side of the above equation is a vector, whose size, i.e. the number of rows which is equal to 2n. The first n components, i.e. components from 0 to n-1, correspond to x0... xn-1. Second n components, i.e. the second half of the vector obtained in the right-hand side of the above equation is equal to the sum of the second block of discrete values, i.e. xn,..., x2n-1but now summarized with a multiplication by the matrix a, corresponding to the transformation matrix shown in Fig. 10A, 10B, 10C and 11, and the first block of discrete values of x0,..., xn-1. The transformation matrix is to depict the first place, the second and third conversion rule, respectively.

Similarly, the General scheme of raising with 2x2 matrices of the form

these matrices are 2n x 2n can be used for inverted integer approximations of the transformation T as follows. For integer input values (x0,..., x2n-1) output a floating-point value (y0,..., yn-1) = A(x0,..., xn-1are rounded, specifically to integer values before summing with integer values (xn,..., x2n-1). The inverse of a block matrix as follows:

Thus, this process can be reversed without error, simply using the same matrix And the same function rounding, but now subtracting the resulting value instead of adding the direct processing. Direct processing illustrated in Fig. 13, and the reverse processing is illustrated in Fig. 14. Note that the transformation matrix shown in Fig. 13, is identical to the transformation matrix shown in Fig. 14, which is preferable for ease of implementation.

Because the values (x0,..., xn-1) do not change on a live stage, shown in Fig. 13, they are still present on the back of the stage, i.e. on the back of the stage shown in Fig. 14. Note that no specific ogran the values for the matrix And does not exist. Therefore, it is not required to be invertible.

To obtain a reversible integer approximation known MDCT, MDCT is decomposed into Givens rotations in the first stage, and this stage is the stage cut, and at a later stage DCT-IV. This decomposition is discussed in connection with Fig. 3, which will be explained below, and described in detail in DE 10129240 A1.

Unlike the prior art, according to which the DCT-IV is decomposed into several stages of Givens rotations, by itself, transform remains unchanged and consistently rounded.

It is known that, therefore, the integer approximation of the DCT-IV is carried out at several stages of Givens rotations on the basis of lifting. The number of Givens rotations determined by the fast algorithm of the lower level. Thus, the number of Givens rotations is set to O(N log N) for conversion of length N. the clip each stage of decomposition MDCT consists of only N/2 Givens rotations or 3N/2 stages of rounding. Thus, in particular, for long transformation, for example, used in the applications of audio encoding (for example, 1,024), the integer approximation of the DCT-IV provides the main contribution to the approximation error.

The approach uses the described multi-dimensional lifting scheme. Thus, the number of stages of rounding in the DCT-IV reduced the tsya to 3N/2, i.e. is equal to the number of stages of rounding at the stage of cutting, i.e. in contrast to about 2N log2N stages of rounding in the traditional approach based on lifting.

DCT-IV is applied to two blocks signals at the same time. One possibility for this purpose is illustrated in Fig. 12, where, for example, two consecutive time block of samples is simply subjected to DCT-IV. Two blocks, which are two transformations, however, may be samples of two channels of a multichannel signal.

The decomposition of the above equation multidimensional lifting is applied to the conversion rule, which can also be viewed as a matrix of N x N. Since the inverse transformation, in particular for the DCT-IV, again will be DCT-IV, the result is the following decomposition for the concept shown in Fig. 12:

Permutation multiplications by -1 can be retrieved in different block matrix, which gives the following result:

Thus, applying a transform to the two blocks of signals, i.e. two blocks of discrete values can be obtained by using, preferably, three stages multivariate lifting:

The above equation is graphically illustrated in Fig. 10C on the basis of option implementation is possible. Considered the inverse transformation, respectively, illustrated in Fig. 11.

Under this approach, two transforms DCT-IV of length N can be implemented in a reversible way, and requires only 3N stages of rounding, i.e. 3N/2 stages rounding in the conversion.

DCT-IV in three stages multidimensional lifting can have any implementation, such as the implementation based on floating point or fixed point. It is even not required to be invertible. It only should be exactly the same in forward and reverse processes. As a result, this concept is suitable for large lengths of conversion, for example, 1,024, as they are used in modern applications of audio encoding.

The total computational complexity is 1.5 times more computational complexity reintegrating implementation of two transforms DCT-IV. This computational complexity is still significantly lower than for traditional integrated implementations based on lifting, which is about half the harder traditional DCT-IV, since these implementations should use a trivial switch plus/minus" on the basis of the model used for raising the energy saving, as described in R. Geiger, T. Sporer, J. Koller, and K. Brandenburg, "Audio Coding based on Integer Transforms in the 111th AES Convention, New York, 2001.

Illustrated approach involves calculating, key writing, the, at least two transforms DCT-IV at the same time, so to speak, in a single transformation. This can be achieved, for example, calculating a transform DCT-IV for two consecutive blocks of audio or two consecutive images of the image signal. In the case of two-channel stereo, this also can be achieved by computing the DCT-IV of the left and right channel in step conversion and/or the action of the inverse transform. The first version introduces more delay in one unit. The second version is possible for stereo channels and/or, generally speaking, for multichannel signals.

Alternatively, if both options are not needed, but if you want to maintain the normal length of the processing block of N values, DCT-IV of length N can be decomposed into two transforms DCT-IV of length N/2. In this context, see Y. Zeng, G. Bi and Z. Lin, "Integer sinusoidal transforms based on lifting factorization," in Proc. ICASSP'01, may 2001, page 1.181 - 1.184, which shows this decomposition. In addition to the two transformations DCT of length N/2, requires several additional stages of Givens rotations. In this algorithm, we apply additional block matrix

i.e. N/2 leaps "plus/minus", a block-diagonal matrix with N/2 Givens rotations and some permutation matrix. Using these additional stages of N/2 Givens rotations, the approach of mn is gamernode lifting can also be used to calculate only one DCT-IV of length N. The basic structure of this algorithm is illustrated in Fig. 15, where, in addition to stage the actual conversion, which uses two transform DCT-IV of length N/2, the first stage of a jump for calculating the first and second block of discrete values, which, however, now have a length of only N/2. On the output side is also provided with a phase rotation to obtain the output values y0,..., yN-1from the block output values of the converted presentation and additional unit of output values of the transformed representation, each of which, however, now has only N/2 values, the first is equal to the output values of the operation DCT-IV in Fig. 12, which is obvious when comparing the indexes on the input side and the output side of Fig. 15 and Fig. 12.

So far addressed only the application of multidimensional lifting a block matrix of the following form.

You can, however, decompose, and other block matrix on the stages of the multidimensional lifting. For example, the following decomposition can be used to implement joins the stage with a normalized switch plus/minus" and two blocks transforms DCT-IV through three stages multivariate lifting:

From the above equation it follows that the first is E. the conversion rule, which is used in the left parenthesis of the above equation, and the second conversion rule, which is used in the middle brackets of the above equation, and the third conversion rule that is used in the last parenthesis of the above equation, are not required to be identical. In addition, from the above equation it follows that we can decompose not only block matrix, which is filled with only the elements on the main diagonal, but that also can handle a fully populated matrix. Next, note that there is no limit, according to which the conversion rules used in the transformation to the transformed view must be identical to or should be in any way related to each other, for example, to the second conversion rule was reverse conversion rule with respect to the first conversion rules. In General, you can use three mutually different conversion rules, as it is accounted for in the opposite view.

In this context, refer again to Fig. 10A and 11. When converting binary values to the transformed view, the tool 102 may be formed so as to reach the conversion rule 1. In addition, the tool 108 may be formed so as to use any other who does the same conversion rule, referred to as the conversion rule 2. The tool 140 may also be formed so that, in General, to use any conversion rule 3, which is not required to be the same as the first or the second conversion rule.

However, in the reverse conversion of the converted representation must be found adapting to the conversion rules 1-3, shown in Fig. 10C, so that the first tool 124 for conversion did not perform any conversion rules, in addition to the conversion rules 3, which is executed at the block 140 of Fig. 10S. Accordingly, the tool 130 of Fig. 11 must perform the conversion rule 2, which were also done by block 108 in Fig. 10S. Finally, the tool 150 of Fig. 11 must perform the conversion rule 1, which was also performed by the tool 102 in Fig. 10C, in order to obtain the inverse transform is lossless.

In Fig. 16 shows a modification of the concept described in Fig. 10S. In particular, the rounding elements 104, 110, 142 for the direct conversion or elements 126, 132, 152 for reverse transformations has been performed for each sample, but to shape the spectrum of rounding errors.

Comparing Fig. 10C with Fig. 16, it can be seen that it is preferable to replace the unit 104 unit 204a, and use the unit 204b instead of block 110 rounding. For this reason, the concept today is a special advantage in the presence of subsequent conversion into the frequency range, where white noise rounding errors creates a problem when there is no formation of the spectrum. Because after rounding 142 there is no frequency conversion, the formation of the spectrum in block 142 gives no advantages. However, this is the place to block 204a, because, again, there is a frequency conversion by the conversion unit 108. Thus, responsive to the invention the formation of the spectrum in the block 204b still has the advantage, because, again, the transformation is the last block 140. However, from Fig. 16 it follows that the rounding error in the form of the generated noise is already being supplied to the output unit 114, so that the unit 204b may also be a General rounding, illustrated by blocks 110 in Fig. 10C, instead of the formation of the spectrum of rounding errors.

It depends on the particular case, whether the application is rounding with the formation of the spectrum or the General rounding, i.e. rounding error, with white spectral distribution, at the end of the second conversion, i.e. the conversion 108.

According to the invention independent rounding a number, for example k, values replaced, thus rounding with the formation of the spectrum, which can also be called "dependent rounding".

As described above with respect to Fig. 16 it follows that the formation of the s-spectrum rounding errors also can use integer DCT, required for IntMDCT. However, it should be noted, according to considered that the formation of the spectrum by means of feedback errors is of particular advantage only when it is rounded off values are transient signals, which are converted into the frequency domain at a later stage of the transformation. Therefore, as described in relation to multidimensional lifting in Fig. 16 the formation of the spectrum has the advantage on the first two stages, but on the third stage does not necessarily have an advantage.

Note that in Fig. 16 shows the case of the encoder corresponding to Fig. 10C according to the invention. The case of the decoder corresponding to Fig. 16, follows immediately from the comparison of Fig. 16 and Fig. 11. The decoder directly corresponding to Fig. 16, it follows from Fig. 11 in the sense that all blocks are the same except for the two blocks 132, 152 rounding. According Fig. 11 these two block rounding operate as independent units rounding and will be replaced in the decoder, responsive to the invention, independent blocks 204a, 204b rounding, which all have the structure shown, for example, in Fig. 2C. In particular, note that the decoder must use the same rounding algorithm with the formation of the spectrum, as in the encoder.

The concept is illustrated in Fig. 2B and 2C, in particular for H(z) = "-1", the weight of the mA usable reduce rounding errors and in particular, reducing rounding errors in integer conversions. This reduction of the rounding errors is possible whenever two floating-point values are rounded and added to the same value, and not to different values. This illustrative situation is illustrated in Fig. 17. First is the first stage of the lifting sequence "down-up-down between participants raise x1and x3. Then the second sequence of lifting with a known sequence of "down-up-down, but this time with participants raising x2and x3. In particular, the value of x3obtained in the first operation uplift, is used as the principal addition in the second stage lifting, which can be seen from Fig. 17. Again it should be noted that the place where the needle reaches the horizontal line represents the addition. In other words, the value has been rounded and, therefore, added to the value corresponding to the horizontal line.

In particular, in the example shown in Fig. 17, the value of x1first weighed (block 250), and then separately rounded (block 252). The output signal of block 252 is added to x3(block 254). Then the result of adding 254 weighed again (block 256) and again rounded (block 258). The result of this rounding 258 again primav aetsa to x 1(260). The result of the addition of 260 weighed again (block 262) and rounded (block 264) to add to the current value of x3(block 266). Accordingly, the value of x2weighted unit 270 and then rounded the block 272. The result of block 272 is added (274) to the current value of x3. Then again is the weighting (276) and rounding (278) for adding (280) of the block 278 again to the current value of x2. The result of this summation 280 weighed again (block 282), and the weighted result is rounded (block 284) for the addition of the block rounding 284 again with the current value of x3(block 286) to get the result values of x3. It is evident from Fig. 17 it follows that the first value, i.e. the result of block 262, the first rounded and then added to the value of x3. In addition, the second value, i.e., the result of block 270 also rounded (block 272), and then added to the value of x3(the adder 274). Thus, two floating-point values are rounded off one by one and added to the same value, and not to different values. In the example shown in Fig. 17, the third and fourth stages of uplift is added to the same value, i.e. x3therefore , the addition is carried out with the rounding function [.]:

[x1.cs1] + [x2. cs2]

If the rounding error in the third phase of uplift is transmitted to the fourth stage of lifting, then the error of the third stage can be used in this case, and generated only one rounding error instead of two rounding errors. In relation to the calculation, this follows from the following:

[x1.cs1] + [x2.cs2+ (x1.cs1- [x1.cs1])] = [x1.cs1] + [x2.cs2+ x1.cs1] [x1.cs1] = [x2.cs2+ x1.cs1]

In relation to the calculation, the transfer of rounding errors on the next stage of rounding, in this case, is equivalent to adding the value with subsequent rounding. This case is illustrated in Fig. 18, and Fig. 18 corresponds to Fig. 17, however, two separate block rounding 264, 272 and two separate adder 266, 274 replaced by block 268, formed to implement the above equations. Therefore, the results of two blocks 262 and 270 are first summarized in unrounded form, and then rounded. In favorable cases, the rounding error is reduced by half. The output of block 268 is provided only one value, which is added to x3the adder 269.

The combination of reduction and the formation of the spectrum of rounding errors may also occur for example, when a lot of Givens rotations and phase multidimensional lifting follow each other, as shown in Fig. 19. In this case, solely by way of example, the last sequence step "down-up-down" for multiple values is carried out for values of x1x4i.e., for example, stage C "down" in Fig. 9. Then the values are summed with the corresponding values, which must also be added the rounded values shown in Fig. 16, i.e. the values at the output of block 204a. In this case, it is preferable to first summarize the unrounded values, specifically, the adders 203 shown in Fig. 19, and then to round the sum of the values in the block 204 shown in Fig. 19, and at the same time expose them to the formation of noise, and then it turned out only a simple rounding error and the output values after summation on the adders 106 contained a smaller error. Thus, the situation shown in Fig. 19, when Fig. 9 is placed to the left of Fig. 16 and, in particular, when instead of the DCT-IV with N values is used DCT-IV with N/2 values.

According to the invention, it is preferable to combine the reduction of rounding errors with the formation of the spectrum of rounding errors. In the case of reducing rounding errors several input values are processed and rounded the n conjunction, moreover, the rounded values are added to a single value, whereas in the case of the formation of the spectrum of rounding errors rounded values are rounded independently from each other and added to multiple correspondingly different values.

It should also be noted that the case of Fig. 19 may also be the case when, as shown in Fig. 15, uses DCT of length N/2. At this stage of the transformation, i.e. up to two DCT blocks, there is a stage, called stage leaps, shown in Fig. 15, in which the input values x0xN/2-1respectively, are weighted and rounded to then be added to the same values, to which is added the value stage DCT-IV. It should also be noted that the phase transformation is illustrated in Fig. 15 only schematically. Two blocks of DCT-IV, shown schematically in Fig. 15 are replaced by the components shown in Fig. 16 in a specific implementation, if in Fig. 16 xN/2-1written instead of xN-1and if written instead of xN/2and if xN-1written instead of xN/2-1.

Thus, Fig shows the preferred implementation, in particular, for mono applications, i.e. for the case when you want to use DCT-IV of length N/2.

Depending on the circumstances, the method according to the invention for processing a signal having a sequence of discrete values is s, you can implement a hardware or software means. The implementation may be effected on a digital storage medium, particularly a floppy disk or CD with control signals that can be read out electronically, which may cooperate with a programmable computer system for implementing the method. In the General case, the invention also provides a computer program product with a program code for implementing the method of the invention, stored on a machine-readable medium, when the computer program product runs on a computer. In other words, the invention also provides a computer program with program code for implementing the method when the computer program runs on a computer.

1. Device for processing a signal having a sequence of discrete values, which has the first frequency range in which the signal has high energy, and which has a second frequency range in which the signal has a low energy containing means (202) for manipulation by a sequence of discrete values to obtain a sequence of values, subject to manipulation, to at least one of the values subjected to manipulation, was non-integer, and means (204) for a round is a sequence of values, subjected to manipulation, to obtain a sequence of rounded values, subject to manipulation, and means (204) for rounding is made with the possibility of the formation of the spectrum for the generated rounding errors so that the rounding error with the generated spectrum had in the first frequency range higher energy than the second frequency range.

2. The device according to claim 1, wherein the signal is a transient signal, in which the discrete values are values, discretized in time, additionally containing means (206) for converting at least a sequence of rounded values, subject to manipulation, or a sequence derived from a sequence of rounded values, subject to manipulation, spectral representation, the spectral coefficients of the first frequency range contain more rounding error than the second frequency range, and means (208) for encoding spectral representation.

3. The device according to claim 1, in which the first frequency band is a low frequency range, the second frequency range is a range of high frequencies and means (204) for rounding is made with the possibility of the formation of the spectrum using the low is totoy characteristics for filtering the error e(n) feedback.

4. The device according to claim 1, in which means (204) for rounding performed with rounding (218) of the first discrete value, determining (214) rounding errors generated when rounding discrete values, evaluation (220) rounding errors and associations (210) evaluated rounding errors with the second discrete value adjacent to the first discrete value in the sequence, to obtain a combined value, and rounding (218) joint values to obtain the rounded version of the second value.

5. The device according to claim 1, in which means (204) for rounding performed with assessment of rounding errors by using the rounding function, transfer function which is equal to "-1".

6. The device according to claim 1, in which the discrete values are integer values.

7. The device according to claim 1, in which means (204) for rounding is configured to generate the rounded values with less precision than the values subjected to manipulation.

8. The device according to claim 1, configured to implement the integer cut a window or an integer facing cutting window in the quality of processing, and the signal includes N/2 discrete values from a block of 2N discrete values, the tool (a) for manipulation performed with weigh-in & m the Oia each of N/2 discrete values value defined in the first stage of the lifting device further comprises a first adder (205A) to summarize, based on each value of the sequence rounded values subjected to manipulation, with the sequence with additional N/2 discrete values of the block of 2N discrete values to obtain a first sequence of summed values, the device further comprises means (202b) for manipulation to weigh each value of the first sequence summarized values value defined at the second stage lifting for more sequence values subjected to manipulation, the device comprises further means (204b) for rounding to obtain additional sequence rounded values, subjected to manipulation, the device comprises a second adder (205b) to summarize, based on each value to obtain the second sequence of summed values, the device contains one additional tool (s) for manipulation to weigh each value of the second sequence of summed values value defined in the third stage of lifting, for even one extra sequence of values, subject to manipulation, the device additionally which contains one additional means of rounding (s) to obtain one additional sequence rounded values, subjected to manipulation, the device further comprises a third adder (s) to obtain the third sequence of summed values, one additional sequence of values subjected to manipulation, includes N/2 cut or reverse the cut values, and the third sequence of summed values includes additional N/2 cut or treatment of cut values.

9. The device according to claim 8 in which the means for manipulating is configured to use as weights for the N/2 values of the following factors:

GFk=(cos α-1)/sinα,

where GFk- weighting factor for values with sequence index k, and where α expresses the angle, relative to which we have the following equation:

α=arctan[w(N/2-1-k)/w(N/2+k)],

where k takes values from 0 to N/2-1, and where w expresses the clip function.

10. The device according to claim 9, in which the means for manipulating is configured to use as weights for the N/2 values of the following factors:

GFk=sin α,

where GFk- weighting factor for values with sequence index k, and where α expresses the angle, relative to which we have the following equation:

α=arctan[w(N/2-1-k)/w(N/2k)],

where k takes values from 0 to N/2-1, and where w expresses the clip function.

11. The device according to claim 8, in which another means for manipulating is configured to use as weights for the N/2 values of the following factors:

GFk=(cos α-1)/sin α,

where GFk- weighting factor for values with sequence index k, and where α expresses the angle, relative to which we have the following equation:

α=arctan[w(N/2-1-k)/w(N/2+k)],

where k takes values from 0 to N/2-1, and where w expresses the clip function.

12. The device according to claim 8, configured to cut a window in which additionally means (206) for converting the spectral representation, or made with the possibility of facing cutting window, and it is preceded by a tool for inverse transformation from the spectral domain into the time domain.

13. The device according to item 12, in which the means for converted or conversion means for converting includes means discrete cosine transform of the fourth type (DCT-IV).

14. The device according to claim 1, in which means (202) for manipulation is a means (102, 108, 130, 150) for processing using rules direct or inverse transformation to obtain a block of preobrazovany the values the corresponding sequence of non-integer discrete values.

15. The device 14 in which the means (202) for manipulation is a tool for the implementation of the algorithm DCT-IV.

16. The device according to claim 1, which is part of an encoder for generating an encoded representation of the original signal or part of a decoder to generate a decoded representation of the encoded signal.

17. The device according to clause 16, in which the encoder and decoder together provide a framework lossless encoding.

18. A method of processing a signal having a sequence of discrete values, which has the first frequency range in which the signal has high energy, and which has a second frequency range in which the signal has a low energy containing phases in which manipulated (202) by a sequence of discrete values to obtain a sequence subjected to the manipulation of values such that at least one of the subject manipulation of values is non-integer, and round (204) a sequence of values, subject to manipulation, to obtain a sequence of rounded values, subject to manipulation, and means (204) for rounding performed with the possibility of the formation of the spectrum generated for rounding errors that is, the rounding error with the generated spectrum is in the first frequency range higher energy than the second frequency range.

19. Computer program product with program code stored on a machine-readable medium for implementing the method according to p, when the computer program product runs on a computer.



 

Same patents:

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

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

The invention relates to animate three-dimensional graphical models

The invention relates to radio engineering and is intended for the discharge of compressed clock signal to a device for separating signal and the clock signal, essentially agreed with a synchronizing signal encoding device

The invention relates to the field of radio engineering, in particular to the coding information to enhance the format of the encoded signals

FIELD: technological processes.

SUBSTANCE: invention is related to method and device for improvement of masking shots of coded sound signal, which were deleted in the process of transfer from coder to decoder and for acceleration of restoration in decoder, after non-deleted shots of coded sound signal were accepted. When parameters of masking/restoration are determined in coder, they are transferred to decoder, where masking of deleted shots takes place and deleted shots are restored in accordance with parameters of masking/restoration. Masking/restoration parameters may be selected from the group that consists of the following: parameter of signal classification, parameter of energy information and parameter of phase information. Determination of masking/restoration parameters contains classification of sequential shots of coded sound signal as unvoiced shot, unvoiced conversion, voiced conversion, voiced shot or access shot, moreover, this classification is defined on the basis of the least part of the following parameters: parameter of normalized correlation, parameter of spectral gradient, parameter of relationship signal-noise, parameter of parameter main tone stability relative to parameter of shot relative energy and parameter of transition through zero.

EFFECT: improves masking of deleted shots of coded sound signal in the process of transfer from coder to decoder and acceleration of restoration in decoder.

177 cl, 7 dwg, 5 tbl

FIELD: method for transmitting audio signals between transmitter and at least one receiver using priority pixel transmission method.

SUBSTANCE: in accordance to the invention, an audio signal is separated onto certain number n of spectral components, separated audio signal is stored in two-dimensional matrix with a set of fields with frequency and time as sizes and amplitude as corresponding value recorded in the field, then each separate field and at least two adjacent fields groups are formed and priority is assigned to certain groups, where priority of one group is selected the higher, the higher are amplitudes of group values and/or the higher are amplitude differences of values of one group and/or the closer the group is connected actual time, and groups are transmitted to receiver in the order of their priority.

EFFECT: ensured transmission of audio signals without losses even when the width of transmission band is low.

7 cl, 1 dwg

FIELD: audio signal encoding technology.

SUBSTANCE: in accordance to the method, at least a part of an audio signal is encoded to produce encoded signal, where the encoding includes encoding with prediction relatively to aforementioned at least a part of audio signal to produce prediction coefficients which represent time characteristics, such as time envelope curve, of aforementioned at least a part of audio signal, transformation of prediction coefficients to a set of times, which represent prediction coefficients, and inclusion of aforementioned set of times into encoded signal. For analysis/synthesis of overlapping frames relatively to time envelope curve, excessiveness in representation of linear spectrum for overlapping area may be used.

EFFECT: improved method for encoding at least a part of an audio signal.

2 cl, 7 dwg

FIELD: method for encoding a signal, in particular, sound signal.

SUBSTANCE: in accordance to the method, first set of values is provided, which is related to serial spans of time in first time interval of signal; second set of values is provided, which is related to successive periods of time in second time interval of signal; where first time interval has certain overlapping with second time interval; aforementioned overlapping contains at least two successive time periods of second interval; where at least one of values of second set, which are related to at least two successive time periods in aforementioned overlapping, is encoded relatively to the value of first set, which is closer in time to at least one value of second set, than any other value in second set.

EFFECT: increased efficiency of signal encoding.

9 cl, 4 dwg

FIELD: digital processing of speech signals.

SUBSTANCE: in accordance to the invention, during encoding and decoding of input stream frames, at compression and decompression sections, an algorithm for processing digital counts is used, which is based on computing coefficients of linear prediction with usage of scalar operations.

EFFECT: reduced entropy of signal being transmitted due to encoding of input stream frames.

2 cl, 2 dwg

FIELD: speech encoding.

SUBSTANCE: method and device for quantizing amplification for realization in the method for encoding digitized sound signal, processed during encoding in serial frames from L selections, where each frame is divided onto a certain number of sub-frames and each sub-frame contains a certain number of N selections, where N<L. In the method and device for quantizing amplification the original amplification of main tone is computed on basis of a certain number f of sub-frames, a part of code book of amplification quantization is selected relatively to original amplification of main tone, and amplifications of main tone and fixed code book are quantized together. Aforementioned combined quantization of main tone and fixed code book amplifications contains for a certain number f of sub-frames the search in amplification quantization code book in connection to a search criterion. Search in code book is limited to selected part of amplification quantization code book and to index of selected part of amplification quantization code book, which best corresponds to found search criterion.

EFFECT: increased traffic capacity of system.

8 cl, 3 tbl, 4 dwg

FIELD: analysis of sound signal quality, possible use for estimating quality of speech transferred through radio communication channels.

SUBSTANCE: in accordance to the method for machine estimation of sound signal quality, the signal is divided onto critical bands and spectral energy values are computed for critical bands, values of spectral likeness of active phase of fragments are determined, and quality of tested sound signal is determined by means of weighted linear combination of aforementioned quality values for each phase. The difference of the method is that selected fragments of active and inactive phase of both signals are synchronized, inactive phase spectrums are determined for each fragment, resulting spectrums of active and inactive phase of fragments are divided onto additional sets of bands, for each one of which spectral energy values are computed, resulting spectral energies of active and inactive fragment phases are compared in couples, to determine spectral likeness coefficients, resulting likeness coefficient for each phase is determined as an average value of likeness coefficients for all sets of bands, which is the estimate of quality of each phase.

EFFECT: ensured universality and optimized quality of estimation process depending on purposes of estimation.

5 cl, 13 dwg, 6 tbl

FIELD: encoding of audio-signals, in particular, encoding of multi-channel audio signals.

SUBSTANCE: in accordance to the invention, polyphonic signals are used for creation of main signal, typically, a signal and a collateral signal. A row of encoding schemes of collateral signal (xside) is implemented, each encoding scheme is characterized by a set of sub-frames of varying length, while total length of sub-frames corresponds to encoding frame length of encoding scheme. Encoding scheme for collateral signal (xside) is selected on basis of current content of polyphonic signals, and collateral remainder signal is created as a difference between collateral signal and main signal, scaled with usage of balancing coefficient, which is selected for minimization of collateral remainder signal. Optimized collateral remainder signal and balancing coefficient are encoded and implemented as encoding parameters, representing the collateral signal.

EFFECT: increased quality of perception of multi-channel sound signals.

5 cl, 15 dwg

FIELD: systems/methods for filtering signals.

SUBSTANCE: in accordance to invention, filtration of input signal is performed for generation of first filtered signal; first filtered signal is combined with aforementioned input signal for production of difference signal, while stage of filtering of input signal for producing first filtered signal contains: stage of production of at least one delayed, amplified and filtered signal, and production stage contains: storage of signal, related to aforementioned input signal in a buffer; extraction of delayed signal from buffer, filtration of signal for forming at least one second filtered signal, while filtration is stable and causative; amplification of at least one signal by amplification coefficient, while method also contains production of aforementioned first filtered signal, basing on at least one aforementioned delayed, amplified and filtered signal.

EFFECT: development of method for filtering signal with delay cycle.

10 cl, 10 dwg

FIELD: analysis and synthesis of speech information outputted from computer, possible use in synthesizer-informers in mass transit means, communications, measuring and technological complexes and during foreign language studies.

SUBSTANCE: method includes: analog-digital conversion of speech signal; segmentation of transformed signal onto elementary speech fragments; determining of vocalization of each fragment; determining, for each vocalized elementary speech segment, of main tone frequency and spectrum parameters; analysis and changing of spectrum parameters; and synthesis of speech sequence. Technical result is achieved because before synthesis, in vocalized segments periods of main tone of each such segment are adapted to zero starting phase by means of transferring digitization start moment in each period of main tone beyond the point of intersection of contouring line with zero amplitude, distortions appearing at joining lines of main tone periods are smoothed out and, during transformation of additional count in the end of modified period of main tone, re-digitization of such period is performed while preserving its original length.

EFFECT: improved quality of produced modulated signal, allowing more trustworthy reproduction of sounds during synthesis of speech signal.

2 cl, 8 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

Up!