Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
First Claim
1. An apparatus for coding a time-discrete audio signal to obtain coded audio data, comprising:
- a quantizer for providing a quantization block of spectral values of the time-discrete audio signal quantized using a psychoacoustic model;
an inverse quantizer for inversely quantizing the quantization block and for rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values;
a generator for generating an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples;
a combiner for forming a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values; and
a processor for processing the quantization block and the difference block to generate coded audio data including information on the quantization block and information on the difference block.
1 Assignment
0 Petitions
Accused Products
Abstract
A time-discrete audio signal is processed to provide a quantization block with quantized spectral values. Furthermore, an integer spectral representation is generated from the time-discrete audio signal using an integer transform algorithm. The quantization block having been generated using a psychoacoustic model is inversely quantized and rounded to then form a difference between the integer spectral values and the inversely quantized rounded spectral values. The quantization block alone provides a lossy psychoacoustically coded/decoded audio signal after the decoding, whereas the quantization block, together with the combination block, provides a lossless or almost lossless coded and again decoded audio signal in the decoding. By generating the differential signal in the frequency domain, a simpler coder/decoder structure results.
56 Citations
34 Claims
-
1. An apparatus for coding a time-discrete audio signal to obtain coded audio data, comprising:
-
a quantizer for providing a quantization block of spectral values of the time-discrete audio signal quantized using a psychoacoustic model; an inverse quantizer for inversely quantizing the quantization block and for rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values; a generator for generating an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples; a combiner for forming a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values; and a processor for processing the quantization block and the difference block to generate coded audio data including information on the quantization block and information on the difference block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
wherein the quantizer is formed to calculate the quantization block using a floating-point transform algorithm. -
3. The apparatus of claim 1,
wherein the quantizer is formed to calculate the quantization block using the integer block generated by the generator. -
4. The apparatus of claim 1,
wherein the quantizer is formed to use one of a plurality of windows for windowing a temporal block of audio signal values depending on a property of the audio signal, and wherein the generator is formed to make the same window selection for the integer transform algorithm. -
5. The apparatus of claim 1,
wherein the generator is formed to use an integer transform algorithm, comprising: -
windowing the time-discrete samples with a window with a length corresponding to 2N time-discrete samples, to provide windowed time-discrete samples for a conversion of the time-discrete samples to a spectral representation by means of a transform capable of generating N output values from N input values, wherein the windowing comprises the following substeps; selecting a time-discrete sample from a quarter of the window and a time-discrete sample from another quarter of the window to obtain a vector of time-discrete samples; applying a square rotation matrix the dimension of which matches the dimension of the vector to the vector, wherein the rotation matrix is representable by a plurality of lifting matrices, wherein a lifting matrix only comprises one element dependent on the window and being unequal to 1 or 0, wherein the substep of applying comprises the following substeps; multiplying the vector by a lifting matrix to obtain a first result vector; rounding a component of the first result vector with a rounding function mapping a real number to an integer to obtain a rounded first result vector; and sequentially performing the steps of multiplying and rounding with another lifting matrix, until all lifting matrices are processed, to obtain a rotated vector comprising an integer windowed sample from the quarter of the window and an integer windowed sample from the other quarter of the window, and performing the step of windowing for all time-discrete samples of the remaining quarters of the window to obtain 2N filtered integer values; and converting N windowed integer samples to a spectral representation by an integer DCT for values with the filtered integer samples of the second quarter and the third quarter of the window, to obtain N integer spectral values.
-
-
6. The apparatus of claim 1,
wherein the quantizer for providing the quantization block is formed to perform a prediction of spectral values over the frequency using a prediction filter prior to a quantization step, to obtain prediction residual spectral values representing the quantization block after a quantization; wherein also a predictor is provided, which is formed to perform a prediction over the frequency of the integer spectral values of the integer block, wherein also a rounder is provided to round prediction residual spectral values due to the integer spectral values representing the rounding block.
-
7. The apparatus of claim 1,
wherein the time-discrete audio signal comprises at least two channels, wherein the quantizer is formed to perform center/side coding with spectral values of the time-discrete audio signal to obtain the quantization block after quantization of center/side spectral values, and wherein the generator for generating the integer block is formed to also perform center/side coding corresponding to the center/side coding of the quantizer. -
8. The apparatus of claim 1,
wherein the processor is formed to generate a MPEG-2 AAC data stream, wherein in a field Ancillary Data ancillary information for the integer transform algorithm is introduced. -
9. The apparatus of claim 1, wherein the quantizer is formed to
generate a MDCT block of MDCT spectral values from a time block of temporal audio signal values by means of an MDCT, and quantize the MDCT block using a psychoacoustic model to generate the quantization block comprising quantized MDCT spectral values. -
10. The apparatus of claim 9,
wherein the generator for generating the integer block is formed to execute an IntMDCT on the time block to generate the integer block comprising IntMDCT spectral values. -
11. The apparatus of claim 1,
wherein the processor is formed to subject the quantization block to entropy coding, to obtain an entropy-coded quantization block, to subject the rounding block to entropy coding, to obtain an entropy-coded rounding block, and to convert the entropy-coded quantization block to a first scaling layer of a scaled data stream representing the coded audio data, and to convert the entropy-coded rounding block to a second scaling layer of the scaled data stream. -
12. The apparatus of claim 11,
wherein the processor is further formed to use one of the plurality of code tables depending on the quantized spectral values for the entropy coding of the quantization block, and wherein the processor is further formed to select one of a plurality of code tables depending on a property of a quantizer usable in a quantization for generating the quantization block for the entropy coding of the difference block. -
13. The apparatus of claim 1,
wherein the processor is formed to output the coded audio data as data stream with a plurality of scaling layers. -
14. The apparatus of claim 13,
wherein the processor is formed to insert information on the quantization block into a first scaling layer, and to insert information on the difference block into a second scaling layer. -
15. The apparatus of claim 13,
wherein the processor is formed to insert information on the quantization block into a first scaling layer, and to insert the information on the difference block into at least a second and a third scaling layer. -
16. The apparatus of claim 15,
wherein in the second scaling layer difference spectral values with reduced accuracy are contained, and in one or more higher scaling layers a residual part of the difference spectral values is contained. -
17. The apparatus of claim 15,
wherein the processor is formed to insert at least part of difference spectral values for representation of a low-pass filtered signal into a second scaling layer, and to insert a difference between the difference spectral values in the second scaling layer and original difference spectral values into at least one further scaling layer. -
18. The apparatus of claim 15,
wherein the processor is formed to insert at least part of different spectral values up to a certain cut-off frequency into a second scaling layer, and to insert at least part of difference spectral values from the certain cut-off frequency to a higher frequency into a third scaling layer. -
19. The apparatus of claim 15,
wherein the information on the difference block includes binarily coded difference spectral values, wherein the second scaling layer for difference spectral values includes a number of bits from a most significant bit to a less significant bit for a difference spectral value, and wherein the third scaling layer includes a number of bits starting from a less significant bit to a least significant bit. -
20. The apparatus of claim 19,
wherein the time-discrete audio signal is present in form of samples with a width of 24 bits, and wherein the processor is formed to insert more significant 16 bits of difference spectral values into the second scaling layer, and to insert residual 8 bits of a difference spectral value into the third scaling layer, so that a decoder reaches CD quality using the second scaling layer, wherein a decoder reaches studio quality using also the third scaling layer.
-
-
21. A computer implemented method of coding a time-discrete audio signal to obtain coded audio data, comprising the computer implemented steps of inputting a time-discrete audio signal;
-
providing a quantization block of spectral values of said time-discrete audio signal quantized using a psychoacoustic model; inversely quantizing the quantization block and rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values; generating an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples; forming a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values; and processing the quantization block and the difference block to generate coded audio data including information on the quantization block and information on the difference block; and outputting said coded audio data.
-
-
22. An apparatus for decoding coded audio data having been generated from a time-discrete audio signal by providing a quantization block of spectral values of the time-discrete audio signal quantized using a psychoacoustic model, by inversely quantizing the quantization block and rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values, by generating of an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples, and by forming a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values, comprising:
-
a processor for processing the coded audio data to obtain a quantization block and a difference block; an inverse quantizer for inversely quantizing and rounding the quantization block to obtain an integer inversely quantized quantization block; a combiner for spectral value-wise combining the integer quantization block and the difference block to obtain a combination block; and a generator for generating a temporal representation of the time-discrete audio signal using the combination block and using an integer transform algorithm inverse to the integer transform algorithm. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
wherein the coded audio data is scaled and includes a plurality of scaling layers, wherein the processor for processing the coded audio data is formed to ascertain the quantization block from the coded audio data as first scaling layer, and to ascertain the difference block from the coded audio data as second scaling layer. -
24. The apparatus of claim 22,
wherein the coded audio data is scaled and includes a plurality of scaling layers, and wherein the processor for processing coded audio data is formed to ascertain the quantization block from the coded audio data as first scaling layer, and to ascertain low-pass filtered difference spectral values as second scaling layer. -
25. The apparatus of claim 22,
wherein the information on the difference block includes binaurally coded difference spectral values, wherein the coded audio data is scaled and includes a plurality of scaling layers, wherein the processor for processing the coded audio data is formed to ascertain the quantization block from the coded audio data as first scaling layer, and to extract a representation of the difference spectral values with reduced accuracy as second scaling layer. -
26. The apparatus of claim 25,
wherein processor for processing the coded audio data is formed to extract a number of bits starting from a most significant bit to a less significant bit, which is more significant than a least significant bit of a difference spectral value, as second scaling layer, and wherein the generator for generating a temporal representation of the time-discrete audio signal is formed to synthetically generate missing bits for a difference spectral value before using the integer transform algorithm. -
27. The apparatus of claim 26,
wherein the generator is formed to perform an upscaling of the second scaling layer for the synthetical generation, wherein in the upscaling a scale factor is used, which equals 2n, wherein n is the number of less significant bits not contained in the second scaling layer, or to employ a dithering algorithm for the synthetical generation. -
28. The apparatus of claim 22,
wherein the coded audio data is scaled and includes a plurality of scaling layers, and wherein the processor for processing the coded audio data is formed to ascertain the quantization block of the coded data as first scaling layer, and to ascertain difference spectral values up to a first cut-off frequency as second scaling layer, wherein the first cut-off frequency is smaller than the maximum frequency of a difference spectral value, which may be generated in a coder. -
29. The apparatus of claim 28,
wherein the generator for generating a temporal representation is formed to set input values in an integer transform algorithm of full length, which are above the cut-off frequency of the second scaling layer, to a predeteimined value, and to downsample the temporal representation of the time-discrete audio signal after using the inverse integer transform algorithm by a factor chosen corresponding to a ratio of a maximum frequency of a difference spectral value, which may be generated by a coder, and the cut-off frequency. -
30. The apparatus of claim 29,
wherein the predetermined value for all input values above the cut-off frequency is zero.
-
-
31. A computer implemented method of decoding coded audio data, the coded audio data including information on a quantization block and a difference block, the quantization block representing a result of a quantization of spectral values of a time-discrete audio signal using a psychoacoustic model, and the difference block depending on a spectral value-wise difference between a rounding block of rounded inversely quantized spectral values and an integer block, the rounding block representing rounded inversely quantized spectral values derived from the quantization block, the integer block representing a result of an integer transform algorithm applied on a block of integer time-discrete samples, comprising the computer implemented steps of inputting coded audio data;
-
processing the coded audio data to obtain the quantization block and the difference block; inversely quantizing the quantization block and rounding to obtain an integer inversely quantized quantization block; spectral value-wise combining the integer quantization block and the difference block to obtain a combination block; generating a temporal representation of the time-discrete audio signal using a combination block and using an integer transform algorithm inverse to the integer transformation algorithm; and outputting said temporal representation of said time-discrete audio signal.
-
-
32. A computer readable medium encoded with instructions capable of being executed by a computer to implement a method of coding a time-discrete audio signal to obtain coded audio data, the method comprising the computer implemented steps of inputting a time-discrete audio signal;
-
providing a quantization block of spectral values of said time-discrete audio signal quantized using a psychoacoustic model; inversely quantizing the quantization block and rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values; generating an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples; forming a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values; processing the quantization block and the difference block to generate coded audio data including information on the quantization block and information on the difference; and outputting said coded audio data.
-
-
33. A computer readable medium encoded with instructions capable of being executed by a computer to implement a method of decoding coded audio data having been generated from a time-discrete audio signal by providing, inversely quantizing, generating, forming, and processing, comprising the computer implemented steps of inputting coded audio data;
-
processing the coded audio data to obtain the quantization block and the difference block; inversely quantizing the quantization block and rounding to obtain an integer inversely quantized quantization block; spectral value-wise combining the integer quantization block and the difference block to obtain a combination block; generating a temporal representation of the time-discrete audio signal using a combination block and using an integer transform algorithm inverse to the integer transformation algorithm; and outputting said temporal representation of said time-discrete audio signal.
-
-
34. An apparatus for decoding coded audio data, the coded audio data including information on a quantization block and a difference block, the quantization block representing a result of a quantization of spectral values of a time-discrete audio signal using a psychoacoustic model, and the difference block depending on a spectral value-wise difference between a rounding block of rounded inversely quantized spectral values and an integer block, the rounding block representing rounded inversely quantized spectral values derived from the quantization block, the integer block of integer time-discrete samples, comprising:
-
a processor for processing the coded audio data to obtain the quantization block and the difference block; an inverse quantizer for inversely quantizing and rounding the quantization block to obtain an integer inversely quantized quantization block; a combiner for spectral value-wise combining the integer quantization block and the difference block to obtain a combination block; and a generator for generating a temporal representation of the time-discrete audio signal using the combination block and using an integer transform algorithm inverse to the integer transform algorithm.
-
Specification