EP1495464A1 - Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten - Google Patents

Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten

Info

Publication number
EP1495464A1
EP1495464A1 EP02792858A EP02792858A EP1495464A1 EP 1495464 A1 EP1495464 A1 EP 1495464A1 EP 02792858 A EP02792858 A EP 02792858A EP 02792858 A EP02792858 A EP 02792858A EP 1495464 A1 EP1495464 A1 EP 1495464A1
Authority
EP
European Patent Office
Prior art keywords
block
integer
spectral values
difference
discrete
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP02792858A
Other languages
English (en)
French (fr)
Other versions
EP1495464B1 (de
Inventor
Ralf Geiger
Thomas Sporer
Karlheinz Brandenburg
Jürgen HERRE
Jürgen Koller
Joachim Deguara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of EP1495464A1 publication Critical patent/EP1495464A1/de
Application granted granted Critical
Publication of EP1495464B1 publication Critical patent/EP1495464B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Definitions

  • the present invention relates to audio coding / audio decoding and in particular to scalable coding / decoding algorithms with a psychoacoustic first scaling layer and a second scaling layer, which comprises additional audio data for lossless decoding.
  • Modern audio coding methods such as. B. MPEG Layer3 (MP3) or MPEG AAC use transformations such as the so-called modified discrete cosine transformation (MDCT) in order to obtain a block-wise frequency representation of an audio signal.
  • MP3 MPEG Layer3
  • MPEG AAC uses transformations such as the so-called modified discrete cosine transformation (MDCT) in order to obtain a block-wise frequency representation of an audio signal.
  • MDCT modified discrete cosine transformation
  • Such an audio encoder usually receives a stream of discrete-time audio samples. The stream of audio samples is windowed to obtain a windowed block of, for example, 1024 or 2048 windowed audio samples.
  • window functions are used for fenestration, e.g. B. a sine window, etc.
  • the windowed, time-discrete audio samples are then converted into a spectral representation using a filter bank.
  • this can be a Fourier transform, or for special reasons a variant of the Fourier transform, such as. B. an FFT or, as has been stated, an MDCT can be used.
  • the block of audio spectral values at the output of the filter bank can then be further processed as required.
  • the audio spectral values are quantized, the quantization levels typically being selected so that the quantization noise introduced by the quantization lies below the psychoacoustic masking threshold, ie is "masked away".
  • the quantization is a lossy coding.
  • the quantized spectral values are then entropy-encoded, for example by means of a Huff an encoding.
  • a bit stream is formed from the entropy-coded quantized spectral values by means of a bit stream multiplexer, which can be stored or transmitted.
  • the bit stream is divided into coded quantized spectral values and side information using a bit stream demultiplexer.
  • the entropy-coded quantized spectral values are first entropy-decoded in order to obtain the quantized spectral values.
  • the quantized spectral values are then inversely quantized in order to obtain decoded spectral values which have quantization noise, but which is below the psychoacoustic masking threshold and will therefore be inaudible.
  • These spectral values are then converted into a temporal representation by means of a synthesis filter bank in order to obtain time-discrete decoded audio samples.
  • a transformation algorithm inverse to the transformation algorithm must be used in the synthesis filter bank.
  • Fig. 4a First, for example, 2048 time-discrete audio samples are taken and windowed using a device 402.
  • the window which the device 402 embodies has a window length of 2N samples and supplies a block of 2N windowed samples on the output side.
  • a second block of 2N windowed samples is formed by means of a device 404, which is shown separately from the device 402 in FIG. 4a only for reasons of clarity.
  • the 2048 samples fed into device 404 are not the discrete-time audio samples immediately following the first window, but rather contain the second half of the samples windowed by device 402 and additionally only contain 1024 "new" samples.
  • the overlap is by one.
  • Device 406 in .Fig. 4a symbolically represented, which causes a degree of overlap of 50%.
  • Both the 2N windowed samples output by means 402 and the 2N windowed samples output by means 404 are then subjected to the MDCT algorithm by means 408 and 410, respectively.
  • the device 408 supplies N spectral values for the first window in accordance with the known MDCT algorithm, while the device 410 also supplies N spectral values, but for the second window, with an overlap of 50% between the first window and the second window.
  • the N spectral values of the first window are transmitted to a device 412 which uses an inverse modified discrete cosine transform. one performs, fed. The same applies to the N spectral values of the second window. These are fed to a device 414, which also carries out an inverse modified discrete cosine transformation. Both the device 412 and the device 414 each deliver 2N samples for the first window and 2N samples for the second window.
  • a sample y ** the second half of the first window, that is, with an index N + k
  • a sample y 2 from the first half of the second window that is, with an index k
  • the window function implemented by the device 402 or 404 is designated with w (k), where the index k represents the time index, then the condition must be fulfilled that.
  • the window weight w (k) squared added to the window weight w (N + k) squared together gives 1, where k runs from 0 to Nl. If a sine window is used, its window weights are the first Half wave follow the sine function, this condition is always fulfilled, since the square of the sine and the square of the cosine together give the value 1 for each angle.
  • a disadvantage of the window method described in FIG. 4a with subsequent MDCT function is the fact that the windowing is achieved by multiplying a discrete-time sample value when a sine window is considered by a floating point number, since the sine of an angle between 0 and 180 degrees apart from the 90 degree angle does not result in an integer. So even if integer, discrete-time samples are windowed, floating-point numbers arise after the window.
  • the residual signal which may still be present is encoded with a time-domain encoder and written into a bit stream which, in addition to the time-domain-encoded residual signal, also comprises encoded spectral values which have been quantized in accordance with the quantizer settings which were present at the time the iteration was terminated.
  • the quantizer used does not have to be controlled by a psychoacoustic model, so that the coded spectral values are obtained. are typically more accurate, quantized than they should be based on the psychoacoustic model.
  • the first lossy data compression module e.g. B. comprises an MPEG encoder, which has a block-wise digital signal form as an input signal and generates the compressed bit stream.
  • the coding is undone and an encoded / decoded signal is generated. This signal is compared to the original input signal by separating the encoded / decoded signal from the original Input signal is subtracted. The error signal is then fed into a second module, where lossless bit conversion is used. This conversion has two steps.
  • the first step is to convert from a two's complement format to a sign amount format.
  • the second step is to convert from a vertical magnitude sequence to a horizontal bit sequence in a processing block.
  • the lossless data conversion is carried out in order to maximize the number of zeros or to maximize the number of successive zeros in a sequence in order to achieve the best possible compression of the temporal error signal which is present as a sequence of digital numbers.
  • This principle is based on a bit slice arithmetic coding (BSAC) scheme, which is described in the specialist publication “Multi-Layer Bit Sliced Bit Rate Scalable Audio Coder ⁇ , 103rd AES Convention, Preprint No. 4520, 1997 , is shown.
  • BSAC bit slice arithmetic coding
  • a disadvantage of the concepts described above is the fact that the data for the lossless extension layer, ie the additional data which are required to achieve lossless decoding of the audio signal, must be obtained in the time domain.
  • complete decoding including frequency / time conversion, is required to obtain the encoded / decoded signal in the time domain, by means of sample-wise difference formation between the original audio input signal and the encoded / decoded audio signal due to the psychoacoustic coding is lossy, the error signal is calculated.
  • This concept is particularly disadvantageous in that in the encoder that generates the audio data stream, both a complete time-frequency Implementation device such. B. a filter bank or z. B.
  • an MDCT algorithm is required for the forward transformation, and at the same time, only to generate the error signal, a complete inverse filter bank or a complete synthesis algorithm is required.
  • the encoder must therefore, in addition to its inherent encoder functionalities, also contain the complete decoder functionality. If the encoder is implemented in software, both memory capacities and processor capacities are required for this, which leads to an encoder implementation with increased effort.
  • the object of the present invention is to create a less complex concept by means of which an audio data stream can be generated which can be decoded at least almost without loss.
  • a device for encoding a discrete-time audio signal according to claim 1 by a method for encoding a discrete-time audio signal according to claim 21, by a device for decoding encoded audio data according to claim 22, by a method for decoding encoded audio data according to claim 31 or solved by a computer program according to claim 32 or 33.
  • the present invention is based on the finding that the additional audio data which enable lossless decoding of the audio signal can be obtained by providing a block of quantized spectral values as usual and then inversely quantized in order to have inversely quantized spectral values that are due to quantization using a psychoacoustic model are lossy. These inverse quantized spectral values are then rounded to obtain a rounding block of rounded inverse quantized spectral values.
  • an integer transformation algorithm is used as a reference for difference formation, which generates an integer block of spectral values from a block of integer time-discrete samples, which only has integer spectral values.
  • the combination of the spectral values in the rounding block and in the integer block is now performed spectrally, that is to say in the frequency domain, so that no synthesis algorithm, that is to say an inverse filter bank or an inverse MDCT algorithm, etc., is required in the encoder itself. Due to the integer transformation algorithm and the rounded quantization values, the combination block which has the difference spectral values only comprises integer values which can be entropy-coded in any known manner. It should be noted that for entropy coding "of the combination block, any. Entropy encoders can be used, such as. B. Huffman encoder or arithmetic encoder etc.
  • Any encoder can also be used to encode the quantized spectral values of the quantization block.
  • the coding / decoding concept according to the invention is compatible with modern coding tools, such as. B. window switching, TNS or center / side coding for multi-channel audio signals.
  • an MDCT is used to provide a quantization block of spectral values quantized using a psychoacoustic model.
  • IntMDCT it is preferred to use a so-called IntMDCT as the integer transformation algorithm.
  • the conventional MDCT can be dispensed with and the IntMDCT can be used as an approximation for the MDCT in that the integer spectrum obtained by the integer transformation algorithm is supplied to a psychoacoustic quantizer is used to obtain quantized IntMDCT spectral values, which are then inversely quantized and rounded again to be compared with the original integer spectral values.
  • the IntMDCT which generates integer spectral values from integer, discrete-time samples.
  • processors typically work with integers, or each floating point number can be represented as an integer. If an integer arithmetic is used in a processor, rounding of the inversely quantized spectral values can be dispensed with, since due to the arithmetic of the processor there are anyway rounded values, namely within the accuracy of the LSB, ie the least significant bit. In this case, completely lossless processing is achieved, ie processing within the accuracy of the processor system used. Alternatively, however, rounding can be carried out to a coarser accuracy in that the difference signal in the combination block is rounded to the accuracy defined by a rounding function. The introduction of rounding beyond the inherent rounding of a processor system allows flexibility to influence the “degree” of the losslessness of the coding in order to create an almost lossless encoder in the sense of data compression.
  • the decoder according to the invention is characterized in that both the psychoacoustically encoded audio data and the additional audio data are extracted from the audio data, subjected to a possibly existing entropy decoding and then processed as follows. First, the quantization block is inversely quantized in the decoder and rounded using the same rounding function that was also used in the encoder, in order then to be added to the entropy-decoded additional audio data.
  • the decoder then has both a psychoacoustically compressed spectral representation of the audio signal and a lossless representation of the audio signal, the psychoacoustically compressed spectral representation of the audio signal having to be converted into the time domain in order to obtain a lossy coded / decoded audio signal while the lossless representation is converted into the time domain using an integer transformation algorithm inverse to the integer transformation algorithm in order to obtain an audio signal which is encoded / decoded almost losslessly or, as has been explained, almost without loss.
  • FIG. 1 shows a block diagram of a preferred device for processing discrete-time audio samples in order to obtain integer values from which integer spectral values can be determined;
  • 3 shows a representation to illustrate the decomposition of the MDCT with 50 percent overlap in rotations and DCT-IV operations
  • 4a is a schematic block diagram of a known encoder with MDCT and 50 percent overlap
  • FIG. 4b is a block diagram of a known decoder for decoding the values generated by FIG. 4a;
  • FIG. 5 shows a basic block diagram of a preferred encoder according to the invention
  • FIG. 6 shows a basic block diagram of an alternative encoder preferred according to the invention.
  • FIG. 7 shows a basic block diagram of a decoder preferred according to the invention
  • 8a shows a schematic representation of a bit stream with a first scaling layer and a second scaling layer
  • 8b shows a schematic representation of a bit stream with a first scaling layer and a plurality of further scaling layers
  • FIG. 9 shows a schematic representation of binary-coded differential spectral values to illustrate possible scalings with regard to the accuracy (bits) of the differential spectral values and / or with regard to the frequency (sampling rate) of the differential spectral values.
  • the encoder according to the invention shown in FIG. 5 includes an input 50, into which a time-discrete audio signal can be fed, and an output 52, from which coded audio data can be output.
  • the time-discrete audio signal fed in at input 50 is fed into a device 52 for supplying a quantization block, which on the output side supplies a quantization block of the time-discrete audio signal, which has 54 quantized spectral values of the time-discrete audio signal 50 using a psychoacoustic model.
  • the encoder according to the invention further comprises a device for generating an integer block using an integer transformation algorithm 56, the integer algorithm being effective to generate integer spectral values from integer discrete-time samples.
  • the encoder according to the invention further comprises means 58 for inversely quantizing the quantization block output by means 52 and, if an accuracy other than processor accuracy is required, a rounding function. If you want to go as far as the accuracy of the processor system as it has been executed, the rounding function is already inherent in the inverse quantization of the quantization block, since a processor that has an integer arithmetic is not capable anyway to deliver non-integer values.
  • the device 58 thus supplies a so-called rounding block, which comprises inversely quantized spectral values that are integers, that is, have been inherently or explicitly rounded.
  • Both the rounding block and the integer block are fed to a combination device which, using a difference formation, supplies a difference block with difference spectral values, ⁇ , where the expression "- - difference - block" is intended to indicate this that the difference spectral values are values that include differences between the integer block and the rounding block.
  • Both the quantization block which is output from the device 52 and the difference block which is output from the difference-forming device 58 are fed to a processing device 60 which, for. B. performs a normal processing of the quantization block, and further z. B. entropy coding the difference block.
  • the means 60 for processing outputs coded audio data at the output 52, which both contain information about the quantization block and include information about the difference block.
  • the discrete-time audio signal is converted into its spectral representation by means of an MDCT and then quantized.
  • the device 52 for supplying the quantization block thus consists of the MDCT device 52a and a quantizer 52b.
  • the processing device 60 shown in FIG. 5 is also shown as a bitstream coding device 60a for bitstream coding the quantization block which is output by the device 52b, and by an entropy encoder 60b for entropy coding the Difference blocks shown.
  • the bitstream encoder 60a outputs the psychoacoustically encoded .. Au.dioda-th.-_, .. during, the. Entropse encoder 60b outputs an entropy-coded difference block.
  • the two output data of blocks 60a and 60b can be combined in a suitable manner in a bit stream which has the psychoacoustically encoded audio data as the first scaling layer and which has the additional audio data for lossless decoding as the second scaling layer.
  • the scaled bit stream then corresponds to the encoded audio data shown in FIG. 5 at the output 52 of the encoder.
  • the MDCT block 52a of FIG. 6 can be omitted, as is indicated in FIG. 5 by a dashed arrow 62.
  • the integer spectrum is represented by the integer transformation device 56 is supplied, both fed into the difference forming device 58 and into the quantizer 52b of FIG. 6.
  • the spectral values which are generated by the integer transformation are here to a certain extent as an approximation for a conventional MDCT Spectrum used.
  • This embodiment has the advantage that only the IntMDCT algorithm is present in the encoder, and that both the IntMDCT algorithm and the MDCT 7 algorithm need not be present in the encoder.
  • the solid blocks and lines represent a conventional audio encoder according to one of the MPEG standards, while the dashed blocks and lines represent the extension of such a conventional MPEG encoder. It can thus be seen that no fundamental change to the usual MPEG encoder is required, but that the extraction according to the invention, for additional audio data, adds a “lossless coding by means of an integer transformation without changing the basic encoder / decoder structure can be.
  • FIG. 7 shows a basic block diagram of a decoder according to the invention for decoding the coded audio data output at the output 52 of FIG. 5. These are first broken down into psychoacoustically coded audio data on the one hand and the additional audio data on the other.
  • the psychoacoustically encoded audio data are fed to a conventional bitstream decoder 70, while the additional audio data, if they have been entropy-encoded in the encoder, are entropy-decoded by means of an entropy decoder 72.
  • an entropy decoder 72 At the output of the bitstream decoder 70 of FIG. 7 there are quantized spectral values which are fed to an inverse quantizer 74, which in principle can be constructed identically to the inverse quantizer in the device of FIG. 6.
  • a rounding device 76 is also provided in the decoder, which performs the same rounding algorithm or the same rounding function for mapping a real number to an integer as is also used in the device 58 of FIG. 6 can be implemented.
  • a combiner 78 on the decoder side the rounded inversely quantized spectral values are combined with the entropy-coded additional audio data, preferably additively, so that inverse quantized spectral values are present in the decoder at the output of the device 74 and secondly integer spectral values at the output of the combiner 78 available.
  • the spectral values of the device 74 on the output side can then be converted into the time domain by means of a device 80 for carrying out an inverse modified discrete cosine transformation in order to obtain a lossy psychoacoustically coded and again decoded audio signal.
  • a device 82 for performing an inverse integer MDCT IntMDCT
  • the output signal of the combiner 78 is also converted into its temporal representation in order to produce a losslessly coded / decoded audio signal or, if a correspondingly coarse rounding has been used, an almost generate losslessly encoded and decoded audio signal.
  • a particular preferred embodiment of the entropy encoder 60b of FIG. 6 is discussed below. After several, in a conventional modern MPEG encoder If there are more code tables that are selected depending on an average statistic of the quantized spectral values, it is preferred to use the same code tables or codebooks also for the entropy coding of the difference block at the output of the combiner 58. Since the amount of the difference block, that is to say the remaining IntMDCT spectrum, depends on the accuracy of the quantization, a codebook selection for the entropy encoder 60b can be carried out without additional page information.
  • the spectral coefficients that is to say the quantized spectral values in the quantization block, are grouped into scale factor bands, the spectral values being weighted with an amplification factor which is derived from a corresponding scale factor which is assigned to a scale factor band is. Because in this known encoder concept an uneven quantizer
  • _ is used ... to. weighted, “quantize spectral value, the size of the residual values, ie the spectral values at the output of combiner 58, depends not only on the scale factors, but also on the quantized values themselves. However, after both the scale factors and the quantized ones Spectral values in the bit stream which is generated by the device 60a of FIG. 6, that is to say are contained in the psychoacoustically coded audio data, it is preferred to carry out a codebook selection in the encoder depending on the size of the difference spectral values and also in the decoder determine the code tables used in the encoder on the basis of both the scale factors transmitted in the bit stream and the quantized values.
  • the entropy coding After no side- to entropy-encode the difference spectral values at the output of the combiner 58 If information has to be transmitted, the entropy coding only leads to data rate compression without any signaling bits in the data stream having to be used as side information for the entropy encoder 60b.
  • a window switch is used to avoid pre-echoes in transient audio signal areas.
  • This technique is based on the possibility of individually selecting window shapes in each half of the MDCT window and allows the block size to be varied in successive blocks.
  • • fashion is the integer transform algorithm in the form of the IntMDCT, the loading train to FIGS. Is received 1 to 3, carried out also different window shapes when windowing and in time-domain aliasing portion of the MDCT Use disassembly. It is therefore preferred to use the ... Ganzzahi-Tran.s, formation. ⁇ a. algorithm and .... also, for .den. Transformation algorithm to generate the quantization block using the same window decisions.
  • TNS Temporal Noise Shaping
  • MS center / side stereo coding
  • TNS coding just like with MS coding, the spectral values are modified before quantization.
  • the integer transformation algorithm is designed to add both TNS coding and center / side coding of integer spectral values. to let.
  • the TNS technique is based on an adaptive forward prediction of the MDCT values over frequency.
  • the same prediction filter that is signal-adaptively calculated by a conventional TNS module is preferably also used to predict the integer spectral values, and if this results in non-integer values, a subsequent rounding can be used to get integer values again to create. This rounding preferably takes place after each prediction step.
  • the original spectrum can be reconstructed in the decoder by using the inverse filter and the same rounding function.
  • MS coding can also be applied to IntMDCT spectral values by using rounded Givens rotations at an angle of ⁇ / 4 based on the lifting scheme. This allows the original IntMDCT values to be reconstructed in the decoder.
  • the concept according to the invention is backwards compatible.
  • the hearing-adapted encoder or decoder is not changed, but only expanded. Additional information for the lossless components can be transmitted backwards compatible in the ear-coded bit stream, for example with MPEG-2 AAC in the "Ancilliary Data" field.
  • MPEG-2 AAC in the "Ancilliary Data" field.
  • this additional data can be evaluated and, together with the quantized MDCT spectrum from the hearing-adapted decoder, the IntMDCT spectrum can be reconstructed without loss.
  • scalable data streams comprise different scaling layers, of which at least the lowest scaling layer can be transmitted and decoded independently of the higher scaling layers. Additional scaling layers or enhancement layers are added in the case of scalable processing of data of the first scaling layer or basic layer.
  • a fully equipped encoder can generate a scaled data stream which has a first scaling layer and which in principle has any number of other scaling layers.
  • the coded signal can still be transmitted via the transmission channel, but only in the form of the first scaling layer or a specific number of further scaling layers, the specific number being smaller than the total number of scaling layers generated by the encoder ,
  • the encoder can already match the basic scaling layer, adapted to the channel to which it is connected or generate a first scaling layer and a number of further scaling layers depending on the channel.
  • the scalable concept also has the advantage that it is backwards compatible. This means that a decoder that is only able to process the first scaling layer can simply ignore the second and further scaling layers in the data stream and can produce a useful output signal. If, on the other hand, the decoder is a typically more modern decoder which can process a plurality of scaling layers from the scaled data stream, this encoder can be addressed with the same data stream as a basic decoder.
  • the basic scalability is that the quantization block, i.e. the output of the bit stream encoder 60a, is written into a first scaling layer 81 of FIG. 8, which, if FIG . , is considered,., psychoacoustically coded-- data- -z »-B-- for-- is included.
  • the preferably entropy-coded difference spectral values, which are generated by the combination device 58, are written with simple scalability into the second scaling layer, which is denoted by 82 in FIG. 8a and thus comprises the additional audio data for one frame.
  • both scaling layers 81 and 82 can be transmitted to the decoder.
  • the transmission channel is a narrow-band transmission channel in which only the first scaling layer "fits”
  • the second scaling layer can simply be removed from the data stream before the transmission, so that a Decoder is only addressed with the first scaling layer.
  • a "basic decoder" that can only process the psychoacoustically encoded data can simply omit the second scaling layer 82 if it has received it via a broadband transmission channel.
  • the decoder is a fully equipped decoder, which is both a "psychoacoustic Decoding algorithm and an integer decoding algorithm includes, so this fully equipped decoder can use both the first scaling layer and the second scaling layer for decoding to produce a losslessly encoded and decoded output signal.
  • the psychoacoustic becomes again in a first scaling layer. encoded .data, for ..a .. frame.
  • the * second scaling layer of Fig. 8a is now scaled more finely, so that several scaling layers arise from this second scaling layer in Fig. 8a, e.g. a (smaller) second scaling layer, a third scaling layer, a fourth scaling layer, etc.
  • FIG. 9 schematically represents binary coded spectral values.
  • Each line 90 in FIG. 9 represents a binary coded difference spectral value.
  • the difference spectral values are ordered according to frequency, as indicated by an arrow 91 , So a difference Spectral value 92 is a higher frequency than the difference spectral value 90.
  • the first column of the panel in FIG. 9 presents the most significant bit of a difference spectral value.
  • the second digit represents the bit with the MSB-1 value.
  • the third column represents a bit with the MSB-2 value.
  • the third to last column represents a bit with the LSB + 2 value.
  • the penultimate column represents a bit with the Significance LSB + 1.
  • the last column represents a bit with .. Significance LSB, ie the least significant bit of a difference spectral value.
  • accuracy scaling is carried out such that the second scaling layer is e.g. 16 most significant bits of a difference spectral value are taken, then, if desired, entropy encoded by the entropy encoder 60b.
  • a decoder that uses the second scaling layer gets _ output side ... difference spectral values • • - • with an accuracy of 16 bits, so that the second scaling layer together with the first scaling layer produces a losslessly decoded audio signal in CD quality supplies. It is known that CD quality audio samples are 16 bits wide.
  • the encoder can also generate a third scaling layer, which comprises the last eight bits of a difference spectral value and also entropy as required is encoded (device 60 of FIG. 6).
  • a fully equipped decoder which receives the data stream with the first scaling layer, the second scaling layer (16 most significant bits of the difference spectral values) and the third scaling layer (8 least significant bits of a difference spectral value), the decoder can use all three scaling layers Deliver losslessly coded / decoded audio signal in studio quality, i.e. with a word width of 24 bits at the output of the decoder.
  • word width 16 bits for an audio CD, while in the studio area 24 bits or 20 bits are used.
  • the audio signal represented with 24-bit accuracy is represented in the integer spectral range with the aid of the inverse IntMDCT and scalably combined with an ear adapted MDCT-based audio encoder output signal.
  • the transmitted values are preferably scaled back to the original range, for example 24 bits, by multiplying them by, for example, 2 8 .
  • An inverse IntMDCT is then applied to the correspondingly scaled back values.
  • the accuracy scaling according to the invention in the frequency domain, it is further preferred to also use the redundancy in the LSBs. If an audio signal has very little energy, for example in the upper frequency range, this is also expressed in the IntMDCT spectrum in very small values, which are, for example, significantly smaller than the z. B. with 8 bit possible values (-128, ..., 127). This manifests itself in a compressibility of the LSB values of the IntMDCT Spectrum. Furthermore, it is pointed out that with very small difference spectral values, a number of bits from MSB to MSB-n are typically zero, and that only then with a bit with a value MSB-n-1 does the first, leading 1 in a binary coded difference spectral value occurs. In such a case, if a difference spectral value in the second scaling layer comprises only zeros, entropy coding is particularly well suited for further data compression.
  • a sampling rate scalability is preferred for the second scaling layer 82 of FIG. 8a.
  • Sampling rate scalability is achieved in that in the second scaling layer, as shown on the right in FIG. 9, the difference spectral values are contained up to a first cut-off frequency, while in a third scaling layer the difference spectral values with a frequency .. .between the. first ... cut-off frequency ⁇ and the..maximum frequency are included.
  • a further scaling can also be carried out, so that several scaling layers are made from the entire frequency range.
  • the second scaling layer in FIG. 9 comprises differential spectral values up to a frequency of 24 kHz, which corresponds to a sampling rate of 48 kHz.
  • the third scaling layer then contains the difference spectral values from 24 kHz to 48 kHz, which corresponds to a sampling rate of 96 kHz.
  • the second scaling layer and the third scaling layer all bits of a difference spectral value do not necessarily have to be encoded.
  • the second scaling layer could comprise the bits MSB to MSB-x of the difference spectral values up to a certain cut-off frequency.
  • a third scaling layer could then comprise the bits MSB to MSB-x of the difference spectral values from the first cutoff frequency to the maximum frequency.
  • a fourth scaling layer could then include the remaining bits for the difference spectral values up to the cutoff frequency.
  • the last scaling layer could then include the remaining bits of the difference spectral values for the upper frequencies. This concept will result in dividing the tableau in Fig. 9 into four quadrants, each quadrant representing a scaling layer.
  • a scalability between 48 kHz and 96 kHz sampling rate is described in a preferred embodiment of the present invention.
  • the 96 kHz scanning signal is initially only encoded and transmitted up to half in the lossless extension layer in the IntMDCT range. If the upper part is not additionally transmitted, it is assumed to be zero in the decoder. With the inverse IntMDCT (same length as in the encoder), a 96 kHz signal is generated which contains no energy in the upper frequency range and can therefore be undersampled to 48 kHz without loss of quality.
  • the accuracy scaling can be softened to a certain extent.
  • the first scaling layer can also have spectral values with z. B. have more than 16 bits, the next scaling layer then still having the difference.
  • the second scaling layer thus has the difference spectral values with less accuracy, while in the next scaling layer the rest, ie the difference between the complete spectral values and the spectral values contained in the second scaling layer is transmitted. A variable reduction in accuracy is thus achieved.
  • the inventive method for coding or decoding is preferably on a digital storage medium, such as. B. a floppy disk, stored with electronically readable control signals, wherein the control signals can work together with a programmable computer system so that the coding and / or decoding method can / can be carried out.
  • a digital storage medium such as. B. a floppy disk
  • the control signals can work together with a programmable computer system so that the coding and / or decoding method can / can be carried out.
  • the methods according to the invention can thus be implemented in a computer chart with a program code for carrying out the methods according to the invention when the program runs on a computer.
  • the IntMDCT transformation algorithm which is described in "Audio Coding Based on Integer Transforms", 111th AES Assembly, New York, 2001, is dealt with as an example of an integer transformation algorithm.
  • the IntMDCT is particularly favorable because it has the attractive properties of the MDCT, such as a good spectral representation of the audio signal, a critical sampling and a block overlap
  • the good approximation of the MDCT by an IntMDCT also allows only one in the encoder shown in FIG Transform algorithm to use as it through an arrow 62 is shown in FIG. 5.
  • the essential properties of this special form of an integer transformation algorithm are explained with reference to FIGS. 1 to 4.
  • FIG. 1 shows an overview diagram for the device according to the invention for processing discrete-time samples, which represent an audio signal, in order to obtain integer values on which the Int-MDCT integer transformation algorithm is based.
  • the discrete-time samples are windowed by the device shown in FIG. 1 and optionally converted into a spectral representation.
  • the discrete-time samples, which are fed into the device at an input 10, have a window w with a length that is 2N discrete-time
  • the device 14 for executing an integer DCT to be converted into a spectral representation The integer DCT is designed to generate N output values from N input values, which is in contrast to the MDCT function 408 of FIG. 4a, which generates only N spectral values from 2N windowed sample values on the basis of the MDCT equation.
  • a discrete-time sample value which is selected by the device 16, lies in the first quarter of the window.
  • the other discrete-time sample lies in the second quarter of the window, as it is based on 3 is executed in more detail.
  • the vector generated by the device 16 is now subjected to a rotation matrix of the dimension 2 ⁇ 2, this operation not being carried out directly, but by means of several so-called lifting matrices.
  • a lifting matrix has the property that it has only one element which depends on the window w and is not equal to "1" or "0".
  • Each of the three lifting matrices to the right of the equal sign has the value "1" as the main diagonal elements. Furthermore, in each lifting matrix, a secondary diagonal element is equal to 0, and a secondary diagonal element is dependent on the angle of rotation ⁇ .
  • the vector is now mulched with the third lifting matrix, ie the lifting matrix on the far right in the equation above. tiplied to get a first result vector.
  • This is represented in FIG. 1 by a device 18.
  • the first result vector is now rounded with an arbitrary rounding function, which maps the set of real numbers into the set of integers, as represented by a device 20 in FIG. 1.
  • a rounded first result vector is obtained at the output of the device 20.
  • the rounded first result vector is now fed into a device 22 for multiplying it by the middle, ie second, lifting matrix in order to obtain a second result vector which is rounded in a device 24 in order to obtain a rounded second result vector.
  • the rounded second result vector is now fed into a device 26, namely to multiply it by the lifting matrix listed on the left in the above equation, ie first, lifting matrix, in order to obtain a third result vector, which is finally rounded by means of a device 28, and finally to obtain integer windowed sample values at the output 12 which, if a spectral representation thereof is desired, must now be processed by the device 14 in order to obtain integer spectral values at a spectral output 30.
  • the device 14 is preferably designed as an integer DCT or an integer DCT.
  • the coefficients of the DCT-IV form an orthonormal N x N matrix.
  • Each orthogonal N x N matrix can be broken down into N (Nl) / 2 Givens rotations, as stated in the specialist publication PP Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993. It should be noted that there are also other decompositions.
  • DCT-IV includes non-symmetric basis functions, i.e. H. a cosine quarter wave, a cosine 3/4 wave, a cosine 5/4 wave, a cosine 7/4 wave, etc., has the discrete cosine transformation z.
  • DCT-II Type II (DCT-II), axisymmetric and point-symmetric basic functions.
  • the 0th basic function has a constant component, - * the first basic function is a half cosine wave, the second basic function is a complete cosine wave, etc. Due to the fact that the DCT-II takes special account of the constant component, it becomes used for video coding, but not for audio coding, since in contrast to video coding, the direct component is not relevant for audio coding.
  • An MDCT with a window length of 2N can be reduced to a discrete cosine transformation of type IV with a length N. This is achieved by the TDAC Operation is performed explicitly in the time domain, and then the DCT-IV is applied. With a 50% overlap, the left half of the window for a block t overlaps the right half of the previous block, ie block t-1.
  • the overlapping part of two successive blocks t-1 and t is preprocessed in the time domain, ie before the transformation, as follows, ie processed between input 10 and output 12 of FIG. 1: ...
  • the values marked with the tilde are the values at the output 12 of Fig. 1, while without tilde in the above equation denoted x values r -hinte-values at the input 10 and the means' 16 • for selecting sin "d. ' ⁇ 'The Läüf' index k runs from 0 to N / 2-1, while w is the window function provides DAR.
  • window functions w can be used as long as they meet this TDAC condition.
  • a cascaded encoder and decoder is described below with reference to FIG. 2.
  • the discrete-time samples x (0) to x (2N-1), which are "windowed" together by a window, are first selected by the device 16 of FIG. 1 in such a way that the sample value x (0) and the sample value x ( Nl), d. H. a sample from the first quarter of the window and a sample from the second quarter of the window are selected to form the vector at the output of device 16.
  • the intersecting * arrows- represent schematically - the —L-if-t-ing multiplications and subsequent rounding of the devices 18, 20 or 22, 24 or 26, 28 in order to achieve the at the entrance of the DCT-IV blocks to get integer windowed samples.
  • a second vector is further formed from the samples x (N / 2- 1) and x (N / 2), ie again a sample from the first quarter of the window and a sample from the second Quarter of the window, selected and again processed by the algorithm described in FIG. 1. Similarly, all other sample pairs from the first and second quarters of the window are processed. The same processing is done for the third and fourth quarters of the first Window performed. Now there are 2N windowed integer samples at the output 12, which are now fed into a DCT-IV transformation as shown in FIG. 2. In particular, the integer windowed samples of the second and third quarters are fed into a DCT.
  • the windowed integer samples of the first quarter of the window are processed into a previous DCT-IV along with the windowed integer samples of the fourth quarter of the previous window.
  • the fourth quarter of the windowed integer samples in FIG. 2 is fed together with the first quarter of the next window into a DCT-IV transformation.
  • the mean integer DCT-IV transformation 32 shown in FIG. 2 now supplies N integer spectral values y (0) to y (Nl). These integer spectral values may now be entropy encoded, for example, simply, without an intervening quantization is necessary because the windowing and transformation provides integer • output values.
  • a decoder is shown in the right half of FIG.
  • the decoder consisting of inverse transformation and "inverse windowing" works inversely to the encoder. It is known that an inverse DCT-IV can be used for the inverse transformation of a DCT-IV, as shown in FIG. 2.
  • the output values of the decoder DCT-IV 34 are now, as shown in FIG. 2, inversely processed with the corresponding values of the preceding transformation or the subsequent transformation, in order to derive from the integer windowed sample values at the output of the device 34 or the previous and subsequent transformation again to generate discrete-time audio samples x (0) to x (2N-1).
  • Equation 6 The values x, y on the right side of Equation 6 are integers. However, this does not apply to the value x sin ⁇ .
  • the rounding function r must be introduced here, as in the following equation
  • the device 24 carries out this operation.
  • the inverse mapping (in the decoder) is defined as follows:
  • the minus sign before the rounding operation shows that the integer approximation of the lifting step can be reversed without introducing an error. Applying this approximation to each- & r. ⁇ fz-r Hrei Liftin ⁇ steps leads to an integer Approximation of the Givens rotation.
  • the rounded rotation (in the encoder) can be reversed (in the decoder) without introducing an error by going through the inverse rounded lifting steps in reverse order, ie when decoding the algorithm of Fig. 1 from the bottom to the bottom is performed above.
  • Givens rotation is therefore broken down into lifting matrices which are carried out sequentially, with a rounding step being introduced after each lifting matrix multiplication, in such a way that the floating point numbers are rounded off immediately after they have arisen, in such a way that before every multiplication of a result vector by a lifting matrix the result vector only has integers.
  • any PCM samples for example, as they are stored on a CD, are integer number values whose range of values varies depending on the bit width, i. H. depending on whether the discrete-time digital input values are 16-bit values or
  • the transformation shown provides integer output values instead of floating point values. It provides a perfect reconstruction so that no error is introduced when performing a forward and then a reverse transformation.
  • the transformation is a replacement for the modified discrete cosine transformation.
  • other transformation methods can also be carried out in whole numbers, as long as they are broken down into rotations and It is possible to break down the rotations into lifting steps.
  • the integer MDCT has the most favorable properties of the MDCT. It has an overlapping structure, which results in better frequency selectivity than with non-overlapping block transformations. Because of the TDAC function, which is already taken into account in the window before the transformation, a critical sampling is maintained so that the total number of spectral values which represent an audio signal is equal to the total number of input samples.
  • integer processing lends itself to an efficient hardware implementation, since only multiplication steps are used, which can easily be broken down into shift-add steps (shift / add steps), which can be implemented simply and quickly in terms of hardware.
  • Software implementation is of course also possible.
  • the integer transformation provides a good spectral representation of the audio signal and still remains in the range of the integers. When applied to tonal parts of an audio signal, it results in good energy concentration.
  • An efficient lossless coding scheme can thus be built up by simply using the in Fig. 1 windowing / transformation is cascaded with an entropy encoder.
  • stacked coding using escape values as used in MPEG AAC, is favorable. It is preferred to scale down all values by a certain power of two until they fit into a desired code table, and then additionally code the omitted least significant bits. Compared to the alternative of. Using larger code tables, the described alternative is cheaper in terms of memory consumption for storing the code tables.
  • An almost lossless encoder could also be obtained by simply omitting certain of the least significant bits.
  • TNS Open loop prediction
  • TNS Closed Loop Predictor
  • quantization after prediction adapts the resulting quantization noise to the temporal structure of the audio signal and therefore prevents it Pre-echoes in psychoacoustic audio encoders.
  • the second alternative, ie with a closed-loop predictor is more suitable for lossless audio coding, since the closed-loop prediction allows an exact reconstruction of the input signal.
  • middle-side coding can also be used without loss if a rounded rotation with an angle D / 4 is used.
  • the rounded rotation has the advantage of energy conservation.
  • the use of 's'ög' e-called joint stereo coding can be switched for each band on or off, as it is also performed in the standard MPEG AAC. Additional angles of rotation can also be taken into account in order to be able to reduce redundancy between two channels more flexibly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
Beschreibung
Die vorliegende Erfindung bezieht sich auf die Audiocodie- rung/Audiodecodierung und insbesondere auf skalierbare Co- dier/Decodier-Algorithmen mit einer psychoakustischen ersten Skalierungsschicht und einer zweiten Skalierungsschicht, die Zusatzaudiodaten für eine verlustlose Decodie- rung umfaßt .
Moderne Audiocodierverfahren, wie z. B. MPEG Layer3 (MP3) oder MPEG AAC verwenden Transformationen wie beispielsweise die sogenannte modifizierte diskrete Kosinustransformation (MDCT) , um eine blockweise Frequenzdarstellung eines Audiosignals zu erhalten. Ein solcher Audiocodierer erhält übli- cherweise einen Strom von zeitdiskreten Audio-Abtastwerten. Der Strom von Audio-Abtastwerten wird gefenstert, um einen gefensterten Block von beispielsweise 1024 oder 2048 ge- fensterten Audio-Abtastwerten zu erhalten. Zur Fensterung werden verschiedene Fensterfunktionen eingesetzt, wie z. B. ein Sinus-Fenster, etc.
Die gefensterten zeitdiskreten Audio-Abtastwerte werden dann mittels einer Filterbank in eine spektrale Darstellung umgesetzt. Prinzipiell kann hierzu eine Fourier- Transformation, oder aus speziellen Gründen eine Abart der Fourier-Transformation, wie z. B. eine FFT oder, wie es ausgeführt worden ist, eine MDCT eingesetzt werden. Der Block von Audio-Spektralwerten am Ausgang der Filterbank kann dann je nach Bedarf weiter verarbeitet werden. Bei den oben bezeichneten Audio-Codierern folgt eine Quantisierung der Audio-Spektralwerte, wobei die Quantisierungsstufen typischerweise so gewählt werden, daß das durch das Quanti- sieren eingeführt Quantisierungsrauschen unterhalb der psychoakustischen Maskierungsschwelle liegt, d. h. "wegmaskiert" wird. Die Quantisierung ist eine verlustbehaftete Codierung. Um eine weitere Datenmengenreduktion zu erhalten, werden die quantisierten Spektralwerte anschließend beispielsweise mittels einer Huff an-Codierung Entropiecodiert. Durch Hinzufügen von Seiteninformationen, wie z. B. Skalenfaktoren etc. wird aus den Entropie-codierten quantisierten Spektralwerten mittels eines Bitstrom- Multiplexers ein Bitström gebildet, der gespeichert oder übertragen werden kann.
Im Audio-Decodierer wird der Bitstrom mittels eines Bit- strom-Demultiplexers in codierte quantisierte Spektralwerte und Seiteninforiiationen., aufgeteilt . Die Entropie-codierten quantisierten Spektralwerte werden zunächst Entropie- decodiert, um die quantisierten Spektralwerte zu erhalten. Die quantisierten Spektralwerte werden dann invers quanti- siert, um decodierte Spektralwerte zu erhalten, die Quantisierungsrauschen aufweisen, das jedoch unterhalb der psy- choakustischen Maskierungsschwelle liegt und daher unhörbar sein wird. Diese Spektralwerte werden dann mittels eines Synthese-Filterbank in eine zeitliche Darstellung umgesetzt, um zeitdiskrete decodierte Audio-Abtastwerte zu erhalten. In der Synthese-Filterbank muß ein zum Transforma- tions-Algorithmus inverser Transformations-Algorithmus eingesetzt werden. Außerdem muß nach der Frequenz-Zeit- Rücktransformation das Fenstern rückgängig gemacht werden. Um eine gute Frequenzselektivität zu erreichen, verwenden moderne Audio-Codierer typischerweise eine Block- Überlappung. Ein solcher Fall ist in Fig. 4a dargestellt. Zunächst werden beispielsweise 2048 zeitdiskrete Audio- Abtastwerte genommen und mittels einer Einrichtung 402 ge- fenstert. Das Fenster, das die Einrichtung 402 verkörpert, hat eine Fensterlänge von 2N Abtastwerten und liefert aus- gangsseitig einen Block von 2N gefensterten Abtastwerten. Um eine Fensterüberlappung zu erreichen, wird mittels einer Einrichtung 404, die lediglich aus Übersichtlichkeitsgründen in Fig. 4a getrennt von der Einrichtung 402 dargestellt ist, ein zweiter Block von 2N gefensterten Abtastwerten gebildet. Die in die Einrichtung 404 eingespeisten 2048 Abtastwerte sind jedoch nicht die an das erste Fenster unmit- telbar anschließenden zeitdiskreten Audio-Abtastwerte, sondern beinhalten die zweite Hälfte der durch die Einrichtung 402 gefensterten Abtastwerte und beinhalten zusätzlich lediglich 1024 "neue" Abtastwerte. Die Überlappung ist durch eine . Einrichtung 406 in .Fig. 4a symbolisch dargestellt, die einen Überlappungsgrad von 50% bewirkt. Sowohl die durch die Einrichtung 402 ausgegebenen 2N gefensterten Abtastwerte als auch die durch die Einrichtung 404 ausgegebenen 2N gefensterten Abtastwerte werden dann mittels einer Einrichtung 408 bzw. 410 dem MDCT-Algorithmus unterzogen. Die Ein- richtung 408 liefert gemäß dem bekannten MDCT-Algorithmus N Spektralwerte für das erste Fenster, während die Einrichtung 410 ebenfalls N Spektralwerte liefert, jedoch für das zweite Fenster, wobei zwischen dem ersten Fenster und dem zweiten Fenster eine Überlappung von 50% besteht.
Im Decodierer werden die N Spektralwerte des ersten Fensters, wie es in Fig. 4b gezeigt ist, einer Einrichtung 412, die eine inverse modifizierte diskrete Kosinustransformati- on durchführt, zugeführt. Dasselbe gilt für die N Spektralwerte des zweiten Fensters. Diese werden einer Einrichtung 414 zugeführt, die ebenfalls eine inverse modifizierte diskrete Kosinustransformation durchführt. Sowohl die Einrich- tung 412 als auch die Einrichtung 414 liefern jeweils 2N Abtastwerte für das erste Fenster bzw. 2N Abtastwerte für das zweite Fenster.
In einer Einrichtung 416, die in Fig. 4b mit TDAC (TDAC = Time Domain Aliasing Cancellation) bezeichnet ist, wird die Tatsache berücksichtigt, daß die beiden Fenster überlappend sind. Insbesondere wird ein Abtastwert y**. der zweiten Hälfte des ersten Fensters, also mit einem Index N+k, mit einem Abtastwert y2 aus der ersten Hälfte des zweiten Fensters, also mit einem Index k summiert, so daß sich ausgangssei- tig, also im Decodierer, N decodierte zeitliche Abtastwerte ergeben.
Es sei darauf hingewiesen, daß durch die ^Funktion der Ein-- richtung 416, die auch als Add-Funktion bezeichnet wird, die in dem durch Fig. 4a schematisch dargestellten Codierer durchgeführte Fensterung gewissermaßen automatisch berücksichtigt wird, so daß in dem durch Fig. 4b dargestellten Decodierer keine explizite "inverse Fensterung" stattzufin- den hat.
Wenn die durch die Einrichtung 402 oder 404 implementierte Fensterfunktion mit w(k) bezeichnet wird, wobei der Index k den Zeitindex darstellt, bezeichnet wird, so muß die Bedin- gung erfüllt sein, daß. das Fenstergewicht w(k) im Quadrat addiert zu dem Fenstergewicht w(N+k) im Quadrat zusammen 1 ergibt, wobei k von 0 bis N-l läuft. Wenn ein Sinus-Fenster verwendet wird, dessen Fenster-Gewichtungen der ersten Halbwelle der Sinus-Funktion folgen, so ist diese Bedingung immer erfüllt, da das Quadrat des Sinus und das Quadrat des Kosinus für jeden Winkel zusammen den Wert 1 ergeben.
Nachteilig an dem in Fig. 4a beschriebenen Fenster- Verfahren mit anschließender MDCT-Funktion ist die Tatsache, daß die Fensterung durch Multiplikation eines zeitdiskreten Abtastwerts, wenn an ein Sinus-Fenster gedacht wird, mit einer Gleitkommazahl erreicht wird, da der Sinus eines Winkels zwischen 0 und 180 Grad abgesehen von dem Winkel 90 Grad keine Ganzzahl ergibt. Auch wenn ganzzahlige zeitdiskrete Abtastwerte gefenstert werden, entstehen nach dem Fenstern also Gleitkommazahlen.
Daher ist, auch wenn kein psychoakustischer Codierer verwendet wird, d. h. wenn eine verlustlose Codierung erreicht werden soll, am Ausgang der Einrichtungen 408 bzw. 410 eine Quantisierung notwendig, um eine einigermaßen überschaubare Entropie-Codierung durchführen zu können.
Wenn also bekannte Transformationen, wie sie anhand von Fig. 4a betrieben worden sind, für ein verlustloses Audiocodieren eingesetzt werden soll, muß entweder eine sehr feine Quantisierung eingesetzt werden, um den resultieren- den Fehler aufgrund der Rundung der Gleitkommazahlen vernachlässigen zu können, oder das Fehlersignal muß zusätzlich beispielsweise im Zeitbereich codiert werden.
Konzepte der ersteren Art, also bei denen die Quantisierung so fein eingestellt, daß der resultierende Fehler aufgrund der Rundung der Gleitkommazahlen vernachlässigbar ist, sind beispielsweise in der deutschen Patentschrift DE 197 42 201 Cl offenbart. Hier wird ein Audiosignal in seine spektrale Darstellung überführt und quantisiert, um quantisierte Spektralwerte zu erhalten. Die quantisierten Spektralwerte werden wieder invers quantisiert, in den Zeitbereich überführt und mit dem ursprünglichen Audiosignal verglichen. Liegt der Fehler, also der Fehler zwischen dem ursprünglichen Audiosignal und dem quantisierten/invers quantisierten Audiosignal, oberhalb einer Fehlerschwelle, so wird der Quantisierer rückkopplungsmäßig feiner eingestellt, und der Vergleich wird erneut durchgeführt. Die Iteration .ist been- . det, wenn die Fehlerschwelle unterschritten wird. Das dann noch möglicherweise vorhandene Restsignal wird mit einem Zeitbereichscodierer codiert und in einen Bitstrom geschrieben, der neben dem Zeitbereichs-codierten Restsignal auch codierte Spektralwerte umfaßt, die gemäß den Quanti- sierereinstellungen quantisiert worden sind, die zum Zeitpunkt des Abbruchs der Iteration vorhanden waren. Es sei darauf hingewiesen, daß der verwendete Quantisierer nicht von einem psychoakustischen Modell gesteuert werden muß, so daß die codierten Spektral erte, . typischerweise .genauer, quantisiert sind, als dies aufgrund des psychoakustischen Modells sein müßte.
In der Fachveröffentlichung „A Design of Lossy and Lossless Scalable Audio Codingλ T. Moriya u.a., Proc. ICASSP, 2000, ist ein skalierbarer Codierer beschrieben, der als erstes verlustbehaftetes Datenkompressionsmodul z. B. einen MPEG- Codierer umfaßt, der eine blockweise digitale Signalform als Eingangssignal hat und den komprimierten Bitstrom erzeugt. In einem ebenfalls vorhandenen lokalen Decodierer wird die Codierung wieder rückgängig gemacht, und es wird ein codiertes/decodiertes Signal erzeugt. Dieses Signal wird mit dem ursprünglichen Eingangssignal verglichen, indem das codierte/decodierte Signal von dem ursprünglichen Eingangssignal subtrahiert wird. Das Fehlersignal wird dann in ein zweites Modul eingespeist, wo eine verlustlose Bitkonversion verwendet wird. Diese Konversion hat zwei Schritte. Der erste Schritt besteht in einer Konversion von einem- Zweierkomplementformat in ein Vorzeichen-Betrag- Format. Der zweite Schritt besteht in der Umwandlung von einer vertikalen Betragssequenz in eine horizontale Bitsequenz in einem Verarbeitungsblock. Die verlustlose Datenumwandlung wird ausgeführt, um die Anzahl von Nullen zu maxi- mieren oder die Anzahl von aufeinanderfolgenden Nullen in einer Sequenz zu maximieren, um eine möglichst gute Komprimierung des zeitlichen Fehlersignals, das als Folge von digitalen Zahlen vorliegt, zu erreichen. Dieses Prinzip basiert auf einem Bit-Slice-Arithmetic-Coding- (BSAC-) Sche- ma, das in der Fachveröffentlichung „Multi-Layer Bit Sliced Bit Rate Scalable Audio CoderΛ, 103. AES-Convention, Preprint Nr. 4520, 1997, dargestellt ist.
Nachteilig an den vorstehend beschriebenen Konzepten, ist , die Tatsache, daß die Daten für die verlustlose Erweiterungsschicht, d. h. die Zusatzdaten, die benötigt werden, um eine verlustlose Decodierung des Audiosignals zu erreichen, im Zeitbereich gewonnen werden müssen. Dies bedeutet, daß eine vollständige Decodierung einschließlich einer Fre- quenz/Zeit-Umsetzung erforderlich ist, um das codierte/decodierte Signal im Zeitbereich zu erhalten, damit mittels einer Abtastwert-weisen Differenzbildung zwischen dem ursprünglichen Audioeingangssignal und dem codierten/decodierten Audiosignal, das aufgrund der psychoakusti- sehen Codierung verlustbehaftet ist, das Fehlersignal berechnet wird. Dieses Konzept ist insbesondere dahingehend nachteilhaft, daß im Codierer, der den Audiodatenstrom erzeugt, sowohl eine komplette Zeit-Frequenz- Umsetzungseinrichtung, wie z. B. eine Filterbank bzw. z. B. ein MDCT-Algorithmus für die Hintransformation benötigt wird, und gleichzeitig, lediglich um das Fehlersignal zu erzeugen, eine komplette inverse Filterbank bzw. ein kom- pletter Synthesealgorithmus benötigt wird. Der Codierer muß daher zusätzlich zu seinen inhärenten Codiererfunktionalitäten auch die komplette Decodiererfunktionalität enthalten. Wenn der Codierer softwaremäßig implementiert ist, so werden hierfür sowohl Speicherkapazitäten als auch Prozes- sorkapazitäten benötigt, die zu einer Codiererimplementation mit erhöhtem Aufwand führt.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein weniger aufwendiges Konzept zu schaffen, durch das ein Au- diodatenstrom erzeugbar ist, der zumindest nahezu verlustlos decodierbar ist.
Diese Aufgabe wird durch eine Vorrichtung zum Codieren eines zeitdiskreten Audiosignals nach Patentanspruch 1, durch ein Verfahren zum Codieren eines zeitdiskreten Audiosignals nach Patentanspruch 21, durch eine Vorrichtung zum Decodieren von codierten Audiodaten nach Patentanspruch 22, durch ein Verfahren zum Decodieren von codierten Audiodaten nach Patentanspruch 31 oder durch ein Computer-Programm nach An- spruch 32 oder 33 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Zusatzaudiodaten, die eine verlustlose Decodierung des Audiosignals ermöglichen, dadurch gewonnen werden kön- nen, daß ein Block von quantisierten Spektralwerten wie üblich bereitgestellt wird, und dann invers quantisiert wird, um invers quantisierte Spektralwerte zu haben, die aufgrund der Quantisierung mittels eines psychoakustischen Modells verlustbehaftet sind. Diese invers quantisierten Spektralwerte werden dann gerundet, um einen Rundungs-Block von gerundeten invers quantisierten Spektralwerten zu erhalten. Als Referenz zur Differenzbildung wird erfindungsgemäß ein Ganzzahl-Transformationsalgorithmus verwendet, welcher aus einem Block von ganzzahligen zeitdiskreten Abtastwerten einen Ganzzahl-Block von Spektralwerten, der lediglich ganzzahlige Spektralwerte aufweist, erzeugt. Erfindungsgemäß wird nunmehr die Kombination der Spektralwerte im Rundungs- Block und im Ganzzahl-Block spektralwertweise, also im Frequenzbereich durchgeführt, so daß im Codierer selbst kein Synthesealgorithmus, also eine inverse Filterbank oder ein inverser MDCT-Algorithmus etc. benötigt wird. Der Kombinations-Block, der die Differenz-Spektralwerte aufweist, um- faßt aufgrund des Ganzzahl-Transformationsalgorithmus und der gerundeten Quantisierungswerte lediglich ganzzahlige Werte, die auf irgendeine bekannte Art und Weise Entropiecodiert werden können. Es sei darauf hingewiesen, daß zur Entropie-Codierung „des Kombinationsblocks, beliebige. Entro- pie-Codierer eingesetzt werden können, wie z. B. Huffman- Codierer oder arithmetische Codierer etc.
Zur Codierung der quantisierten Spektralwerte des Quantisierungsblocks können ebenfalls beliebige Codierer einge- setzt werden, wie z. B. die bekannten für moderne Audioco- dierer üblichen Werkzeuge.
Es sei darauf hingewiesen, daß das erfindungsgemäße Co- dier/Decodierkonzept kompatibel ist mit modernen Codier- Werkzeugen, wie z. B. Fenster-Umschalten, TNS oder Mitte/Seite-Codierung für mehrkanalige Audiosignale. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird zum Liefern eines Quantisierungsblocks von unter Verwendung eines psychoakustischen Modells quantisierten Spektralwerten eine MDCT eingesetzt. Darüber hinaus wird es bevorzugt, als Ganzzahl-Transformationsalgorithmus eine sogenannte IntMDCT einzusetzen.
Bei einem alternativen Ausführungsbeispiel der vorliegenden Erfindung kann auf die übliche MDCT verzichtet werden, und es kann die IntMDCT als Annäherung für die MDCT verwendet werden, und zwar dahingehend, daß das ganzzahlige Spektrum, das durch den Ganzzahl-Transformationsalgorithmus erhalten wird, einem psychoakustischen Quantisierer zugeführt wird, um quantisierte IntMDCT-Spektralwerte zu erhalten, die dann wieder invers quantisiert und gerundet werden, um mit den ursprünglichen Ganzzahl-Spektralwerten verglichen zu werden. In diesem Fall wird lediglich nur noch eine einzige Transformation benötigt, nämlich die IntMDCT, die aus ganz- , zahligen zeitdiskreten Abtastwerten ganzzahlige Spektral- werte erzeugt.
Typischerweise arbeiten Prozessoren mit ganzen Zahlen, bzw. jede Gleitkommazahl ist als eine ganze Zahl darstellbar. Wenn eine Ganzzahl-Arithmetik in einem Prozessor verwendet wird, so kann auf das Runden der invers quantisierten Spektralwerte verzichtet werden, da aufgrund der Arithmetik des Prozessors ohnehin gerundete Werte, nämlich innerhalb der Genauigkeit des LSB, d. h. des niederstwertigen Bits, vorliegen. In diesem Fall wird eine vollständig verlustlose Verarbeitung erreicht, d. h. eine Verarbeitung innerhalb der Genauigkeit des verwendeten Prozessorsystems. Alternativ kann jedoch eine Rundung auf eine gröbere Genauigkeit durchgeführt werden, dahingehend, daß das Differenzsignal im Kombinationsblock auf die durch eine Rundungsfunktion festgelegte Genauigkeit gerundet ist. Das Einführen einer Rundung über die inhärente Rundung eines Prozessorsystems hinaus ermöglicht eine Flexibilität dahingehend, den „Grad" der Verlustlosigkeit der Codierung zu beeinflussen, um im Sinne einer Datenkompression einen nahezu verlustlosen Codierer zu schaffen.
Der erfindungsgemäße Decodierer zeichnet sich dadurch aus, daß aus den Audiodaten sowohl die psychoakustisch codierten Audiodaten als auch die Zusatzaudiodaten extrahiert werden, einer möglicherweise vorhandenen Entropie-Decodierung unterzogen werden und dann wie folgt verarbeitet werden. Zunächst wird der Quantisierungsblock im Decodierer invers quantisiert und unter Verwendung derselben Rundungsfunkti- on, die auch im Codierer eingesetzt worden ist, gerundet, um dann zu den Entropie-decodierten Zusatzaudiodaten hinzuaddiert zu werden. Im Decodierer liegen dann sowohl eine -psychoakustisch komprimierte spektrale Darstellung des Au- diosignals als auch eine verlustlose Darstellung des Audiosignals vor, wobei die psychoakustisch komprimierte spektrale Darstellung des Audiosignals in den Zeitbereich umzusetzen ist, um ein verlustbehaftetes codiertes/decodiertes Audiosignal zu erhalten, während die verlustlose Darstel- lung unter Verwendung eines zum Ganzzahl- Transformationsalgoritmus inversen Ganzzahl- Transformationsalgorithmus in den Zeitbereich umgesetzt wird, um ein verlustlos oder, wie es ausgeführt worden ist, nahezu verlustlos codiertes/decodiertes Audiosignal zu er- halten. Bevorzugte Ausführungsbeispiele - der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild einer bevorzugten Einrichtung zum Verarbeiten von zeitdiskreten Audio- Abtastwerten, um ganzzahlige Werte zu erhalten, aus denen ganzzahlige Spektralwerte ermittelbar sind;
Fig. 2 eine schematische Darstellung der Zerlegung einer MDCT und einer inversen MDCT in Givens-Rotationen und zwei DCT-IV-Operationen;
Fig. 3 eine Darstellung zur Veranschaulichung der Zerlegung der MDCT mit 50-Prozent-Überlappung in Rotationen und DCT-IV-Operationen;
Fig. 4a ein schematisches Blockschaltbild eines bekannten Codierers mit MDCT und 50 Prozent Überlappung;
Fig. 4b ein Blockschaltbild eines bekannten Decodierers zum Decodieren der durch Fig. 4a erzeugten Werte;
Fig. 5 ein Prinzipblockschaltbild eines bevorzugten erfindungsgemäßen Codierers;
Fig. 6 ein Prinzipblockschaltbild eines alternativen erfindungsgemäß bevorzugten Codierers;
Fig. 7 ein Prinzipblockschaltbild eines erfindungsgemäß bevorzugten Decodierers; Fig. 8a eine schematische Darstellung eines Bitstroms mit einer ersten Skalierungsschicht und einer zweiten Skalierungsschicht;
Fig. 8b eine schematische Darstellung eines Bitstroms mit einer ersten Skalierungsschicht und mehreren weiteren Skalierungsschichten; und
Fig. 9 eine schematische Darstellung von binär codierten Differenz-Spektralwerten zur Verdeutlichung möglicher Skalierungen hinsichtlich der Genauigkeit (Bits) der Differenz-Spektralwerte und/oder hinsichtlich der Frequenz (Abtastrate) der Differenz-Spektralwerte .
Im nachfolgenden wird anhand der Fig. 5 bis 7 auf erfindungsgemäße Codiererschaltungen (Fig. 5 und Fig. 6) bzw. eine erfindungsgemäß bevorzugte DecodiererSchaltung (Fig. 7) eingegangen.. De in Fig. 5 gezeigte erfindungsgemäJie-- Co-_ dierer umfaßt einen Eingang 50, in den ein zeitdiskretes Audiosignal einspeisbar ist, sowie einen Ausgang 52, aus dem codierte Audiodaten ausgebbar sind. Das am Eingang 50 eingespeiste zeitdiskrete Audiosignal wird in eine Einrichtung 52 zum Liefern eines Quantisierungs-Blocks einge- speist, der ausgangsseitig einen Quantisierungs-Block des zeitdiskreten Audiosignals liefert, der unter Verwendung eines psychoakustischen Modells 54 quantisierte Spektralwerte des zeitdiskreten Audiosignals 50 aufweist. Der erfindungsgemäße Codierer umfaßt ferner eine Einrichtung zum Erzeugen eines Ganzzahl-Blocks unter Verwendung eines Ganzzahl-Transformationsalgorithmus 56, wobei der Ganzzahl- Algorithmus wirksam ist, um aus ganzzahligen zeitdiskreten Abtastwerten ganzzahlige Spektralwerte zu erzeugen. Der erfindungsgemäße Codierer umfaßt ferner eine Einrichtung 58 zum inversen Quantisieren des Quantisierungs- Blocks, der von der Einrichtung 52 ausgegeben wird, und, wenn eine andere Genauigkeit als die Prozessorgenauigkeit erforderlich ist, eine Rundungsfunktion. Wenn bis zur Genauigkeit des Prozessorsystems, wie es ausgeführt worden ist, gegangen werden soll, so ist die Rundungsfunktion bereits inhärent bei dem inversen Quantisieren des Quantisie- rungs-Blocks enthalten, da ein Prozessor, der eine Ganzzahlarithmetik hat, ohnehin nicht in der Lage ist, nicht- ganzzahlige Werte zu liefern. Die Einrichtung 58 liefert somit einen sogenannten Rundungs-Block, der invers quanti- sierte Spektralwerte umfaßt, die ganzzahlig sind, d. h. in- härent oder explizit gerundet worden sind. Sowohl der Rundungs-Block als auch der Ganzzahl-Block werden einer Kombinationseinrichtung zugeführt, die unter Verwendung einer Differenzbildung einen Differenz-Block mit Differenz- Spektralwerten ,- liefert,~ wobei.. der Ausdruck—„-Differenz-- Block" darauf hindeuten soll, daß die Differenz- Spektralwerte Werte sind, die Unterschiede zwischen dem Ganzzahl-Block und dem Rundungs-Block umfassen.
Sowohl der Quantisierungs-Block, der aus der Einrichtung 52 ausgegeben wird, als auch der Differenz-Block, der aus der Differenzbildungseinrichtung 58 ausgegeben wird, werden einer Verarbeitungseinrichtung 60 zugeführt, die z. B. eine übliche Verarbeitung des Quantisierungs-Blocks durchführt, und die ferner z. B. eine Entropie-Codierung des Differenz- Blocks bewirkt. Die Einrichtung 60 zum Verarbeiten gibt an dem Ausgang 52 codierte Audiodaten aus, die sowohl Informationen über den Quantisierungs-Block enthalten als auch Informationen über den Differenz-Block umfassen. Bei einem ersten bevorzugten Ausführungsbeispiel wird, wie es in Fig. 6 gezeigt ist, das zeitdiskrete Audiosignal mittels einer MDCT in seine spektrale Darstellung umgesetzt und dann quantisiert. Die Einrichtung 52 zum Liefern des Quahtisierungsblocks besteht somit aus der MDCT-Einrichtung 52a und einem Quantisierer 52b.
Darüber hinaus wird es bevorzugt, den Ganzzahl-Block mit einer IntMDCT 56 als ganzzahligem Transformationsalgorithmus zu erzeugen.
In Fig. 6 ist ferner die in Fig. 5 gezeigte Verarbeitungseinrichtung 60 als Bitstrom-Codiereinrichtung 60a zum Bit- strom-Codieren des Quantisierungs-Blocks, der durch die Einrichtung 52b ausgegeben wird, sowie durch einen Entropie-Codierer 60b zum Entropie-Codieren des Differenz-Blocks dargestellt. Der Bitstrom-Codierer 60a gibt die psychoakus- tisch codierten.. Au.dioda-ten.-_ aus, .. während, der . Entropάe- Codierer 60b einen Entropie-codierten Differenz-Block ausgibt. Die beiden Ausgangsdaten der Blöcke 60a und 60b können in geeigneter Weise in einen Bitstrom kombiniert werden, der als erste Skalierungsschicht die psychoakustisch codierten Audiodaten hat, und der als zweite Skalierungs- Schicht die Zusatzaudiodaten für eine verlustlose Decodierung hat. Der skalierte Bitstrom entspricht dann den in Fig. 5 gezeigten codierten Audiodaten am Ausgang 52 des Codierers .
Bei einem alternativen bevorzugten Ausführungsbeispiel kann auf den MDCT-Block 52a von Fig. 6 verzichtet werden, wie es in Fig. 5 durch einen gestrichelten Pfeil 62 angedeutet ist. In diesem Fall wird das Ganzzahl-Spektrum, das durch die Ganzzahl-Transformationseinrichtung 56 geliefert wird, sowohl in die Differenz-Bildungseinrichtung 58 eingespeist als auch in den Quantisierer 52b von Fig. 6. Die Spektralwerte, die durch die Ganzzahl-Transformation erzeugt wer- den, werden hier gewissermaßen als Annäherung für eine übliches MDCT-Spektrum verwendet. Dieses Ausführungsbeispiel hat den Vorteil, daß nur der IntMDCT-Algorithmus im Codierer vorhanden ist, und daß nicht sowohl der IntMDCT- Algorithmus als auch der MDCT7Algorithmus im Codierer vor- handen sein müssen.
Wieder Bezug nehmend auf Fig. 6 sei darauf hingewiesen, daß die durchgezogenen Blöcke und Linien einen üblichen Audio- codierern nach einem der MPEG-Standards darstellen, während die gestrichelten Blöcke und Linien die Erweiterung eines solchen üblichen MPEG-Codierers darstellen. Es ist also zu sehen, daß keine grundsätzliche Änderung des üblichen MPEG- Codierers erforderlich sind, sondern daß die erfindungsge- _ mäße Gewinnung, der_ Zusatzaudiodaten für-, eine „verlustlose Codierung mittels einer Ganzzahl-Transformation ohne Änderung der Codierer/Decodierer-Grundstruktur hinzugefügt werden können .
Fig. 7 zeigt ein Prinzipblockschaltbild eines erfindungsge- mäßen Decodierers zum Decodieren der an dem Ausgang 52 von Fig. 5 ausgegebenen codierten Audiodaten. Diese werden zunächst in psychoakustisch codierte Audiodaten einerseits und die Zusatzaudiodaten andererseits zerlegt. Die psychoakustisch codierten Audiodaten werden einem üblichen Bit- strom-Decodierer 70 zugeführt, während die Zusatzaudiodaten, wenn sie im Codierer Entropie-codiert worden sind, mittels eines Entropie-Decodierers 72 Entropie-decodiert werden. Am Ausgang des Bitstrom-Decodierers 70 von Fig. 7 liegen quantisierte Spektralwerte vor, die einem inversen Quantisierer 74 zugeführt werden, der prinzipiell identisch zu dem inversen Quantisierer in der Einrichtung von Fig. 6 aufgebaut sein kann. Wird eine Genauigkeit angestrebt, die nicht der Prozessor-Genauigkeit entspricht, so ist im Decodierer ferner eine Rundungseinrichtung 76 vorgesehen, die denselben Rundungsalgorithmus bzw. dieselbe Rundungsfunktion zum Abbilden einer reellen Zahl auf eine Ganzzahl durchführt, wie sie auch in der Einrichtung 58 von Fig. 6 imple- mentiert sein kann. In einem decodiererseitigen Kombinierer 78 werden die gerundeten invers quantisierten Spektralwerte mit den Entropie-codierten Zusatzaudiodaten spektralwert- weise vorzugsweise additiv kombiniert, so daß im Decodierer zum einen invers quantisierte Spektralwerte am Ausgang der Einrichtung 74 vorliegen und zum anderen Ganzzahl- Spektralwerte am Ausgang des Kombinierers 78 vorliegen.
Die ausgangsseitigen Spektralwerte der Einrichtung 74 können dann mittels einer --Einrichtung 80 zum Durchführen, einer inversen modifizierten diskreten Kosinustransformation in den Zeitbereich umgesetzt werden, um ein verlustbehaftetes psychoakustisch codiertes und wieder decodiertes Audisignal zu erhalten. Mittels einer Einrichtung 82 zum Durchführen einer inversen Ganzzahl-MDCT (IntMDCT) wird ferner das Aus- gangssignal des Kombinierers 78 in seine zeitliche Darstellung umgesetzt, um ein verlustlos codiertes/decodiertes Audiosignal oder ein, wenn eine entsprechende gröbere Rundung eingesetzt worden ist, ein nahezu verlustlos codiertes und wieder decodiertes Audiosignal zu erzeugen.
Im nachfolgenden wird auf eine besondere bevorzugte Ausführungsform des Entropie-Codierers 60b von Fig. 6 eingegangen. Nachdem in einem üblichen modernen MPEG-Codierer meh- rere Codetabellen, die abhängig von einer durchschnittlichen Statistik der quantisierten Spektralwerte ausgewählt werden, vorliegen, wird es bevorzugt, dieselben Codetabellen oder Codebooks auch für die Entropie-Codierung des Dif- ferenz-Blocks am Ausgang des Kombinierers 58 zu verwenden. Nachdem der Betrag des Differenz-Blocks, also des Rest- IntMDCT-Spektrums, von der Genauigkeit der Quantisierung abhängt, kann eine Codebuch-Auswahl für den Entropie- Codierer 60b ohne zusätzliche Seiteninformationen durchge- führt werden.
In einem MPEG-2-AAC-Codierer sind die spektralen Koeffizienten, also die quantisierten Spektralwerte im Quantisierungs-Block in Skalenfaktorbänder gruppiert, wobei die Spektralwerte mit einem Verstärkungsfaktor gewichtet sind, der von einem entsprechenden Skalenfaktor, der einem Ska- lenfaktorband zugeordnet ist, abgeleitet ist. Da in diesem bekannten Codiererkonzept ein ungleichmäßiger Quantisierer
_ verwendet, wird, ...um .die . gewichteten, „Spektralwe te zu- quan- tisieren, hängt die Größe der Restwerte, also der Spektralwerte am Ausgang des Kombinierers 58, nicht nur von den Skalenfaktoren ab, sondern auch von den quantisierten Werten selbst. Nachdem jedoch sowohl die Skalenfaktoren als auch die quantisierten Spektralwerte in dem Bitstrom, der von der Einrichtung 60a von Fig. 6 erzeugt wird, also in den psychoakustisch codierten Audiodaten enthalten sind, wird es bevorzugt, eine Codebuch-Auswahl im Codierer abhängig von der Größe der Differenz-Spektralwerte durchzuführen und ferner im Decodierer die im Codierer verwendete Codeta- belle auf der Basis sowohl der im Bitstrom übertragenen Skalenfaktoren als auch der quantisierten Werte zu ermitteln. Nachdem zum Entropie-Codieren der Differenz- Spektralwerte am Ausgang des Kombinierers 58 keine Seiten- Informationen übertragen werden müssen, führt die Entropie- Codierung lediglich zu einer Datenratenkompression ohne daß irgendwelche Signalisierungsbits im Datenstrom als Seiteninformationen für den Entropie-Codierer 60b aufgewendet werden müßten.
In einem Audiocodierer nach dem Standard MPEG-2 AAC wird eine Fensterumschaltung verwendet, um Vorechos in transien- ten Audiosignalbereichen zu vermeiden. Diese Technik ba- siert auf der Möglichkeit, Fensterformen individuell in jeder Hälfte des MDCT-Fensters auszuwählen, und erlaubt es, die Blockgröße in aufeinanderfolgenden Blöcken zu variieren. Auf ähnliche Art und Weise ist der Ganzzahl- Transformationsalgorithmus in Form der IntMDCT, auf die Be- zug nehmend auf die Fig. 1 bis 3 eingegangen wird, ausgeführt, um ebenfalls unterschiedliche Fensterformen beim Fenstern und beim Zeitbereich-Aliasing-Abschnitt der MDCT- Zerlegung zu verwenden. Es wird daher bevorzugt, sowohl für den... Ganzzahi-Tran.s,formation.Ξa.lgorithmus als....auch, für .den. Transformationsalgorithmus zum Erzeugen des Quantisierungsblocks dieselben FensterentScheidungen zu verwenden.
In einem Codierer nach MPEG-2 AAC existieren ferner mehrere weitere Codierwerkzeuge, von denen lediglich TNS (TNS = Temporal Noise Shaping) und Mitte/Seite- (MS) Stereocodierung erwähnt seien. Bei einer TNS-Codierung wird genauso wie bei einer MS-Codierung eine Modifikation der Spektralwerte vor der Quantisierung durchgeführt. Folglich nimmt die Differenz zwischen den IntMDCT-Werten, also dem Ganz- zahl-Block, und den quantisierten MDCT-Werten zu. Erfindungsgemäß ist der Ganzzahl-Transformationsalgorithmus ausgebildet, um sowohl eine TNS-Codierung als auch eine Mitte/Seite-Codierung auch von Ganzzahl-Spektralwerten zuzu- lassen. Die TNS-Technik basiert auf einer adaptiven Vor- wärtsprädiktion der MDCT-Werte über der Frequenz. Dasselbe Prädiktionsfilter, das von einem üblichen TNS-Modul signal- adaptiv berechnet wird, wird vorzugsweise ebenfalls dazu verwendet, die Ganzzahl-Spektralwerte zu prädizieren, wobei, falls dadurch nicht-ganzzahlige Werte entstehen, eine nachgeschaltete Rundung eingesetzt werden kann, um wieder ganzzahlige Werte zu erzeugen. Diese Rundung erfolgt vorzugsweise nach jedem Prädiktionsschritt. In dem Decodierer kann das ursprüngliche Spektrum wieder rekonstruiert werden, indem das inverse Filter und dieselbe Rundungsfunktion eingesetzt werden. Auf ähnliche Art und Weise kann die MS- Codierung ebenfalls auf IntMDCT-Spektralwerte angewendet werden, indem gerundete Givens-Rotationen mit einem Winkel von π/4, basierend auf dem Lifting-Schema, eingesetzt werden. Dadurch können die ursprünglichen IntMDCT-Werte in dem Decodierer wieder rekonstruiert werden.
Es, sei-..darauf-hingewiesen.,« daß- das erfindung-sgemäße -Konzept in seiner bevorzugten Ausprägung mit der IntMDCT als ganzzahligem Transformationsalgorithmus auf alle MDCT-basierten gehörangepaßten Audiocodierer angewendet werden kann. Lediglich beispielhaft sind solche Codierer Codierer nach MPEG-4 AAC Scalable, MPEG-4 AAC Low Delay, MPEG-4 BSAC, MPEG-4 Twin VQ, Dolby AC-3 etc.
Es sei besonders darauf hingewiesen, daß das erfindungsgemäße Konzept rückwärts kompatibel ist. Der gehörangepaßte Codierer bzw. Decodierer wird nicht verändert, sondern nur erweitert. Zusatzinformationen für die verlustlosen Komponenten lassen sich rückwärts kompatibel im gehörangepaßt codierten Bitstrom übertragen, beispielsweise bei MPEG-2 AAC im Feld „Ancilliary Data". Der Zusatz zum bisherigen — __ __ —
gehörangepaßten Decodierer, der in Fig. 7 gestrichelt gezeichnet ist, kann diese Zusatzdaten auswerten und zusammen mit dem quantisierten MDCT-Spektrum vom gehörangepaßten Decodierer das IntMDCT-Spektrum verlustlos rekonstruieren.
Das erfindungsgemäß Konzept der psychoakustischen Codierung, ergänzt um eine verlustlose bzw. nahezu verlustlose Codierung eignet sich besonders für die Erzeugung, Übertragung und Decodierung von skalierbaren Datenströmen. Es ist bekannt, daß skalierbare Datenströme verschiedene Skalierungsschichten umfassen, von denen zumindest die unterste Skalierungsschicht unabhängig von den höheren Skalierungsschichten übertragen und decodiert werden kann. Weitere Skalierungsschichten oder Enhancement Layers werden bei ei- ner skalierbaren Verarbeitung von Daten der ersten Skalie- rungsschicht oder Grundlayer hinzugefügt. Ein voll ausgestatteter Codierer kann einen skalierten Datenstrom erzeugen, der eine erste Skalierungsschicht hat, und der prinzi- p ell beliebig .viele--weitere -Skalierungssch-ichten- aufweist-. - Ein Vorteil des Skalierungskonzepts besteht darin, daß in dem Fall, in dem ein breitbandiger Übertragungskanal zur Verfügung steht, der vom Codierer erzeugte skalierte Datenstrom komplett, also inklusive aller Skalierungsschichten über den breitbandigen Übertragungskanal übertragen werden kann. Ist dagegen lediglich ein schmalbandiger Übertragungskanal vorhanden, so kann das codierte Signal dennoch über den Übertragungskanal übertragen werden, jedoch lediglich in Form der ersten Skalierungsschicht oder einer bestimmten Anzahl von weiteren Skalierungsschichten, wobei die bestimmte Anzahl kleiner als die gesamte vom Codierer erzeugte Anzahl von Skalierungsschichten ist. Selbstverständlich kann der Codierer bereits, angepaßt auf den Kanal, mit dem er verbunden ist, die Grundskalierungsschicht oder erste Skalierungsschicht und eine vom Kanal abhängige Anzahl weiterer Skalierungsschichten erzeugen.
Auf Decodiererseite hat das skalierbare Konzept ferner den Vorteil, daß es rückwärts kompatibel ist. Dies bedeutet, daß ein Decodierer, der nur in der Lage ist, die erste Skalierungsschicht zu verarbeiten, einfach die zweite und weitere Skalierungsschichten im Datenstrom ignoriert und ein nützliches Ausgangssignal erzeugen kann. Ist der Decodierer dagegen ein typischerweise modernerer Decodierer, der mehrere Skalierungsschichten aus dem skalierten Datenstrom verarbeiten kann, so kann dieser Codierer mit demselben Datenstrom wie ein Basis-Decodierer angesprochen werden.
Bei der vorliegenden Erfindung besteht die grundsätzliche Skalierbarkeit darin, daß der Quantisierungsblock, also die Ausgabe des Bitstrom-Codierers 60a in eine erste Skalierungsschicht 81 von Fig. 8 geschrieben wird, die, wenn Fig. 6.. etrachtet, .wird,., psychoakustisch codierte-- Daten- -z »-B-- fü-r- einen Frame umfaßt. Die vorzugsweise Entropie-codierten Differenz-Spektralwerte, die durch die Kombinationseinrichtung 58 erzeugt werden, werden bei einfacher Skalierbarkeit in die zweite Skalierungsschicht geschrieben, die in Fig. 8a mit 82 bezeichnet ist und somit die Zusatzaudiodaten für einen Frame umfaßt.
Ist der Übertragungskanal vom Codierer zum Decodierer ein breitbandiger Übertragungskanal, so können beide Skalierungsschichten 81 und 82 zum Decodierer übertragen werden. Ist jedoch der Übertragungskanal ein schmalbandiger Übertragungskanal, in den nur die erste Skalierungsschicht „paßt", so kann einfach die zweite Skalierungsschicht vor der Übertragung vom Datenstrom entfernt werden, so daß ein Decodierer nur mit der ersten Skalierungsschicht angesprochen wird.
Auf Decodiererseite kann ein „Basis-Decodierer", der nur die psychoakustisch codierten Daten verarbeiten kann, die zweite Skalierungsschicht 82 einfach weglassen, sofern er diese über einen breitbandigen Übertragungskanal empfangen hat. Ist der Decodierer jedoch ein voll ausgestatteter Decodierer, der sowohl einen „psychoakustischen Decodieralgo- rithmus als auch einen Ganzzahl-Decodieralgorithmus umfaßt, so kann dieser voll ausgestattete Decodierer sowohl die erste Skalierungsschicht als auch die zweite Skalierungsschicht zum Decodieren nehmen, um ein verlustlos codiertes und wieder decodiertes Ausgangssignal zu erzeugen.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden, wie es in Fig. 8a schematisch dargestellt ist, wieder in einer ersten Skalierungsschicht die psycho- akustisch . codierten .Daten, für ..einen- ..Frame...sein. Die * zweάte- Skalierungsschicht von Fig. 8a wird nun jedoch feiner skaliert, so daß aus dieser zweiten Skalierungsschicht in Fig. 8a mehrere Skalierungsschichten entstehen, wie z.B. eine (kleinere) zweite Skalierungsschicht, eine dritte Skalierungsschicht, eine vierte Skalierungsschicht, etc.
Die von dem Addierer 58 ausgegebenen Differenz- Spektralwerte eignen sich besonders gut für eine weitere Unter-Skalierung, wie es anhand von Fig. 9 dargestellt wird. Fig. 9 stellt schematisch binär codierte Spektralwer- te dar. Jede Zeile 90 in Fig. 9 stellt einen binär codierten Differenz-Spektralwert dar. In Fig. 9 sind die Differenz-Spektralwerte nach der Frequenz geordnet, wie es durch einen Pfeil 91 angedeutet ist. So hat ein Differenz- Spektralwert 92 eine höhere Frequenz als der Differenz- Spektralwert 90. Die erste Spalte des Tableaus in Fig. 9 stellt das höchstwertige Bit eines Differenz-Spektralwerts vor. Die zweite Stelle stellt das Bit mit der Wertigkeit MSB-1 dar. Die dritte Spalte stellt ein Bit mit der Wertigkeit MSB-2 dar. Die drittletzte Spalte stellt ein Bit mit der Wertigkeit LSB+2 dar. Die vorletzte Spalte stellt ein Bit mit der Wertigkeit LSB+1 dar. Schließlich stellt die letzte Spalte ein Bit mit der.. Wertigkeit LSB, also das nie- derstwertige Bit eines Differenz-Spektralwerts, dar.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Genauigkeits-Skalierung dahingehend vorgenommen, daß als zweite Skalierungsschicht die z.B. 16 höchstwertigsten Bits eines Differenz-Spektralwerts genommen werden, um dann, falls gewünscht, durch den Entropie- Codierer 60b entropie-codiert zu werden. Ein Decodierer, der die zweite Skalierungsschicht verwendet, erhält _ ausgangsseitig ...Differenz-Spektralwerte • •-• mit- ■ -einer Genauigkeit von 16 Bits, so daß die zweite Skalierungsschicht zusammen mit der ersten Skalierungsschicht ein verlustlos decodiertes Audiosignal in CD-Qualität liefert. Es ist bekannt, daß Audioabtastwerte in CD-Qualität mit einer Breite von 16 Bits vorliegen.
Wird in den Codierer dagegen ein Audiosignal in Studioqualität eingespeist, also ein Audiosignal mit Abtastwerten, wobei jeder Abtastwert 24 Bits umfaßt, so kann der Codierer ferner eine dritte Skalierungsschicht erzeugen, die die letzten acht Bit eines Differenz-Spektralwerts umfaßt und ebenfalls je nach Bedarf entropie-codiert wird (Einrichtung 60 von Fig. 6) . Ein voll ausgestatteter Decodierer, der den Datenstrom mit der ersten Skalierungsschicht, der zweiten Skalierungsschicht (16 höchstwertige Bits der Differenz-Spektralwerte) und der dritten Skalierungsschicht (8 niederwertige Bits eines Differenz-Spektralwerts) erhält, so kann der Decodierer unter Verwendung aller drei Skalierungsschichten ein verlustlos codiertes/decodiertes Audiosignal in Studioqualität, also mit einer am Ausgang des Decodierers vorliegenden Wortbreite eines .Abtastwerts von 24 Bits liefern.
Es sei darauf hingewiesen, daß im Studiobereich höhere Wortlängen der Abtastwerte üblich sind als im Consumer- Bereich. Im Consumer-Bereich beträgt die Wortbreite 16 Bits bei einer Audio-CD, während im Studiobereich 24 Bit oder 20 Bit eingesetzt werden.
Basierend auf dem Konzept der Skalierung im IntMDCT-Bereich können somit, wie es dargelegt worden ist, alle drei Genau- igkeiten. ,(16 Bit, 20 Bit oder 24 Bit) oder beliebige -um mi- nimal 1 Bit skalierte Genauigkeiten skalierbar codiert werden.
Hierbei wird das mit 24-Bit-Genauigkeit dargestellte Audiosignal mit Hilfe der inversen IntMDCT im ganzzahligen Spektralbereich dargestellt und mit einem Gehör angepaßt MDCT-basierten Audiocoder-Ausgangssignal skalierbar kombiniert .
Die ganzzahligen Differenzwerte, die zur verlustlosen Dar- Stellung vorhanden sind, werden nun nicht vollständig in einer Skalierungsschicht codiert, sondern zunächst mit geringerer Genauigkeit. Erst in einer weiteren Skalierungsschicht werden die zur exakten Darstellung nötigen Restwer- te übertragen. Alternativ könnte jedoch auch in einer weiteren Skalierungsschicht ein Differenz-Spektralwert insgesamt, also mit 24 Bits beispielsweise, dargestellt sein, so daß zum Decodieren dieser weiteren Skalierungsschicht die darunterliegende Skalierungsschicht nicht benötigt wird. Dieses Szenario führt jedoch insgesamt zu einer höheren Bitstromgröße, kann jedoch dann, wenn die Bandbreite des Übertragungskanals unproblematisch ist, zu einer Vereinfachung im Decodierer beitragen, da im Decodierer dann nicht mehr Skalierungsschichten kombiniert werden müssen, sondern immer eine Skalierungsschicht allein zum Decodieren ausreicht.
Werden beispielsweise die unteren acht LSB, wie es in Fig. 9 dargestellt ist, zunächst nicht übertragen, so erreicht man eine Skalierbarkeit zwischen 24 Bit und 16 Bit.
Zur Rücktransformation der mit geringerer Genauigkeit übertragenen . Wert.e .in ., en .Zeithereich werden die- übertragenen Werte bevorzugt auf den ursprünglichen Bereich, beispielsweise 24 Bit, zurückskaliert, indem dieselben beispielsweise mit 28 multipliziert werden. Auf die entsprechend zurückskalierten Werte wird dann eine inverse IntMDCT angewandt .
Bei der erfindungsgemäßen Genauigkeitsskalierung im Frequenzbereich wird es ferner bevorzugt, auch die Redundanz in den LSBs zu nützen. Hat ein Audiosignal beispielsweise im oberen Frequenzbereich sehr wenig Energie, so äußert sich dies auch beim IntMDCT-Spektrum in sehr kleinen Werten, die beispielsweise deutlich kleiner als die z. B. bei 8 Bit möglichen Werten (-128 , ... , 127 ) sind. Dies äußert sich in einer Komprimierbarkeit der LSB-Werte des IntMDCT- Spektrums. Ferner wird darauf hingewiesen, daß bei sehr kleinen Differenz-Spektralwerten typischerweise eine Anzahl von Bits von MSB bis MSB-n gleich Null sind, und daß dann erst bei einem Bit mit einer Wertigkeit MSB-n-1 die erste, führende 1 in einem binär codierten Differenz-Spektralwert auftritt. In einem solchen Fall, wenn ein Differenz- Spektralwert in der zweiten Skalierungsschicht nur Nullen umfaßt, eignet sich eine Entropie-Codierung zur weiteren Datenkomprimierung besonders gut.
Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird für die zweite Skalierungsschicht 82 von Fig. 8a eine Abtastraten-Skalierbarkeit bevorzugt. Eine Abtastraten-Skalierbarkeit wird dadurch erreicht, daß in der zweiten Skalierungsschicht, wie es in Fig. 9 rechts dargestellt ist, die Differenz-Spektralwerte bis zu einer ersten Grenzfrequenz enthalten sind, während in einer dritten Skalierungsschicht die Differenz-Spektralwerte mit einer Frequenz ...zwischen der. ersten...Grenzfrequenz ■ und der..maximalen Frequenz enthalten sind. Natürlich kann auch eine weitere Skalierung durchgeführt werden, so daß aus dem gesamten Frequenzbereich mehrere Skalierungsschichten gemacht werden.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung umfaßt die zweite Skalierungsschicht in Fig. 9 Differenz-Spektralwerte bis zu einer Frequenz von 24 kHz, was einer Abtastrate von 48 kHz entspricht. Die dritte Skalierungsschicht enthält dann die Differenz-Spektralwerte von 24 kHz bis 48 kHz, was einer Abtastrate von 96 kHz entspricht. Es sei ferner darauf hingewiesen, daß in der zweiten Skalierungsschicht und der dritten Skalierungsschicht nicht notwendigerweise sämtliche Bits eines Differenz- Spektralwertes codiert sein müssen. So könnten in einer weiteren Form der kombinierten Skalierbarkeit die zweite Skalierungsschicht, die Bits MSB bis MSB-x der Differenz- Spektralwerte bis zu einer bestimmten Grenzfrequenz umfassen. Eine dritte Skalierungsschicht könnte dann die Bits MSB bis MSB-x der Differenz-Spektralwerte von der ersten Grenzfrequenz bis zur maximalen Frequenz umfassen. Eine vierte Skalierungsschicht könnte dann die restlichen Bits für die Differenz-Spektralwerte bis zur Grenzfrequenz umfassen. Die letzte Skalierungsschicht könnte dann die restlichen Bits der Differenz-Spektralwerte für die oberen Fre- quenzen umfassen. Dieses Konzept wird zu einer Aufteilung des Tableaus in Fig. 9 in vier Quadranten führen, wobei jeder Quadrant eine Skalierungsschicht darstellt.
Bei der „,frequenzmäßigen Skalierbarkeit wird—bei -einem* *be- vorzugtem Ausführungsbeispiel der vorliegenden Erfindung eine Skalierbarkeit zwischen 48 kHz und 96 kHz Abtastrate beschrieben. Das 96 kHz-Abtastsignal wird im IntMDCT- Bereich in der verlustlosen Erweiterungsschicht zunächst nur bis zu Hälfte codiert und übertragen. Falls der obere Teil nicht zusätzlich übertragen wird, wird er im Decodierer zu Null angenommen. Bei der inversen IntMDCT (gleiche Länge wie im Encoder) entsteht dann ein 96 kHz-Signal, das im oberen Frequenzbereich keine Energie enthält und daher ohne Qualitätsverluste auf 48 kHz unter-abgetastet werden kann.
Die vorstehende Skalierung der Differenz-Spektralwerte in Quadranten von Fig. 9 mit festen Grenzen ist hinsichtlich der Größe der Skalierungsschichten günstig, da in einer Skalierungsschicht tatsächlich lediglich z. B. 16 Bits bzw. 8 Bits oder die Spektralwerte bis zu der Grenzfrequenz bzw. über der Grenzfrequenz enthalten sein müssen.
Eine alternative Skalierung besteht darin, die Quadrantengrenzen in Fig. 9 gewissermaßen „aufzuweichen". Am Beispiel der Frequenzskalierbarkeit würde das bedeuten, nicht einen sogenannten „Brickwall-Tiefpaß" anzuwenden, dahingehend, daß die Differenz-Spektralwerte vor einer Grenzfrequenz unverändert sind und nach der Grenzfrequenz gleich Null sind. Stattdessen könnten die Differenz-Spektralwerte auch mit irgendeinem beliebigen Tiefpaß gefiltert sein, der die Spektralwerte unterhalb der Grenzfrequenz schon etwas be- einträchtigt, aber oberhalb der Grenzfrequenz dazu führt, daß hier ebenfalls noch Energie vorhanden ist, obgleich die Differenz-Spektralwerte energiemäßig abnehmend sind. In einer solchermaßen erzeugten Skalierungsschicht sind dann auch Spektralwert-e. -.oberhalb der Grenzfrequenz • enthalten-. Da•■ diese Spektralwerte jedoch relativ klein sind, sind sie durch eine Entropie-Codierung effizient codierbar. Die höchste Skalierungsschicht hätte in diesem Fall die Differenz zwischen den kompletten Differenz-Spektralwerten und den in der zweiten Skalierungsschicht enthaltenen Spektral- werten.
Ähnlich kann auch die Genauigkeitsskalierung gewissermaßen aufgeweicht werden. So kann die erste Skalierungsschicht auch Spektralwerte mit z. B. mehr als 16 Bit haben, wobei nächste Skalierungsschicht dann noch die Differenz hat. Allgemein gesagt hat die zweite Skalierungsschicht somit die Differenz-Spektralwerte mit geringerer Genauigkeit, während in der nächsten Skalierungsschicht der Rest, also die Differenz zwischen den kompletten Spektralwerten und den in der zweiten Skalierungsschicht enthaltenen Spektralwerten übertragen wird. Damit wird eine variable Genauigkeitsreduzierung erreicht.
Das erfindungsgemäße Verfahren zum Codieren bzw. Decodieren ist vorzugsweise auf einem digitalen Speichermedium, wie z. B. einer Diskette, mit elektronisch auslesbaren Steuersig- nalen gespeichert, wobei die Steuersignale so mit einem programmierbaren Computersystem zusammenarbeiten können, dass das Codier- und/oder Decodierverfahren ausgeführt werden kann/können. In anderen Worten ausgedrückt liegt also ein Computer-Programm-Produkt mit auf einem maschinenlesba- ren Träger gespeichertem Programmcode zur Durchführen des Codierverfahrens und/oder des Decodierverfahrens vor, wenn das Programmprodukt auf einem Rechner abläuft. Die erfindungsgemäßen Verfahren können also in einem Computer- Oqramm mit einem Programmcode zur Durchführen der erfin- dungsgemäßen Verfahren, wenn das Programm auf einem Computer abläuft, realisiert sein.
Im nachfolgenden wird als Beispiel für einen ganzzahligen Transformationsalgorithmus auf den IntMDCT- Transformationsalgorithmus eingegangen, der in „Audio Co- ding Based on Integer Transforms" 111-te AES-Versammlung, New York, 2001, beschrieben ist. Die IntMDCT ist besonders günstig, da sie die attraktiven Eigenschaften der MDCT hat, wie z. B. eine gute spektrale Darstellung des Audiosignals, eine kritische Abtastung und eine Blocküberlappung aufweist. Die gute Approximation der MDCT durch eine IntMDCT erlaubt es ferner, bei dem in Fig. 5 gezeigten Codierer nur einen Transformationsalgorithmus zu verwenden, wie es durch einen Pfeil 62 in Fig. 5 dargestellt ist. Anhand der Fig. 1 bis 4 werden die wesentlichen Eigenschaften dieser speziellen Form eines ganzzahligen Transformationsalgorithmus erklärt.
Fig. 1 zeigt ein Übersichtsdiagramm für die erfindungsgemäß bevorzugte Vorrichtung zum Verarbeiten von zeitdiskreten Abtastwerten, die ein Audiosignal darstellen, um ganzzahlige Werte zu erhalten, auf denen aufbauend der Int-MDCT- Ganzzahl-Transformationsalgorithmus arbeitet. Die zeitdiskreten Abtastwerte werden durch die in Fig. 1 gezeigte Vorrichtung gefenstert und optional in eine spektrale Darstellung umgesetzt. Die zeitdiskreten Abtastwerte, die an einem Eingang 10 in die Vorrichtung eingespeist werden, werden mit einem Fenster w mit einer Länge, die 2N zeitdiskreten
Abtastwerten entspricht, gefenstert, um an einem Ausgang 12 ganzzahlige gefensterte Abtastwerte zu erreichen, welche dazu geeignet sind, um mittels einer Transformation und
„insbesondere .der Einrichtung- 14 zum Ausführen einer ganz- zahligen DCT in eine spektrale Darstellung umgesetzt zu werden. Die ganzzahlige DCT ist ausgebildet, um aus N Eingangswerten N Ausgangswerte zu erzeugen, was im Gegensatz zu der MDCT-Funktion 408 von Fig. 4a steht, die aus 2N gefensterten Abtastwerten aufgrund der MDCT-Gleichung ledig- lieh N Spektralwerte erzeugt.
Zum Fenstern der zeitdiskreten Abtastwerte werden zunächst in einer Einrichtung 16 zwei zeitdiskrete Abtastwerte ausgewählt, die zusammen einen Vektor von zeitdiskreten Ab- tastwerten darstellen. Ein zeitdiskreter Abtastwert, der durch die Einrichtung 16 ausgewählt wird, liegt im ersten Viertel des Fensters. Der andere zeitdiskrete Abtastwert liegt in dem zweiten Viertel des Fensters, wie es anhand von Fig. 3 noch detaillierter ausgeführt wird. Der durch die Einrichtung 16 erzeugte Vektor wird nunmehr mit einer Drehmatrix der Dimension 2 x 2 beaufschlagt, wobei diese Operation nicht unmittelbar durchgeführt wird, sondern mit- tels mehrerer sogenannten Lifting-Matrizen.
Eine Lifting-Matrix hat die Eigenschaft, daß sie nur ein Element aufweist, das von dem Fenster w abhängt und ungleich "1" oder "0" .ist. .
Die Faktorisierung von Wavelet-Transformationen in Lifting- Schritte ist in der Fachveröffentlichung "Factoring Wavlet Transforms Into Lifting Steps", Ingrid Daubechies und Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996, dargestellt. Allgemein ist ein Lifting-Schema eine einfache Beziehung zwischen perfekt rekonstruierenden Filterpaaren, die dasselbe Tiefpaß- oder Hochpaßfilter haben. Jedes Paar komplementärer Filter kann in Lifting-Schritte fautorisiert . werden.. Insbesondere gilt -dies für -*G-ivens— Rotationen. Es sei der Fall betrachtet, bei dem die Polyphasenmatrix eine Givens-Rotation ist. Es gilt dann:
COS ÖΓ sin« (1 cosα-l r ι o i cosαr-I sinαr
( 1 ) sma cosα j 0 1 , V sino. 1 0 1
Jede der drei rechts des Gleichheitszeichens stehenden Lifting-Matrizen hat als Hauptdiagonalelemente den Wert "1". Ferner ist in jeder Lifting-Matrix ein Nebendiagonalelement gleich 0, und ein Nebendiagonalelement vom Drehwinkel α abhängig.
Der Vektor wird nunmehr mit der dritten Lifting-Matrix, d. h. der Liftingmatrix ganz rechts in obiger Gleichung, mul- tipliziert, um einen ersten Ergebnisvektor zu erhalten. Dies ist in Fig. 1 durch eine Einrichtung 18 dargestellt. Es wird nunmehr der erste Ergebnisvektor mit einer beliebigen Rundungsfunktion, die die Menge der reellen Zahlen in die Menge der ganzen Zahlen abbildet, gerundet, wie es in Fig. 1 durch eine Einrichtung 20 dargestellt ist. Am Ausgang der Einrichtung 20 wird ein gerundeter erster Ergebnisvektor erhalten. Der gerundete erste Ergebnisvektor wird nunmehr in eine Einrichtung 22 zum Multiplizieren desselben mit der mittleren, d. h. zweiten, Lifting-Matrix eingespeist, um einen zweiten Ergebnisvektor zu erhalten, der in einer Einrichtung 24 wiederum gerundet wird, um einen gerundeten zweiten Ergebnisvektor zu erhalten. Der gerundete zweite Ergebnisvektor wird nunmehr in eine Einrichtung 26 eingespeist, und zwar zum Multiplizieren desselben mit der links in der obigen Gleichung aufgeführten, d. h. ersten, Liftingmatrix, um einen dritten Ergebnisvektor zu erhalten, der schließlich noch mittels einer Einrichtung 28 gerundet wird, um schließlich an dem Ausgang 12 -ganzzahlige ge- fensterte Abtastwerte zu erhalten, die nun, wenn eine spektrale Darstellung derselben gewünscht wird, durch die Einrichtung 14 verarbeitet werden müssen, um an einem Spektralausgang 30 ganzzahlige Spektralwerte zu erhalten.
Vorzugsweise ist die Einrichtung 14 als Ganzzahl-DCT oder Integer-DCT ausgeführt.
Die diskrete Kosinus-Transformation gemäß Typ 4 (DCT-IV) mit einer Länge N ist durch folgende Gleichung gegeben:
Die Koeffizienten der DCT-IV bilden eine orthonormale N x N Matrix. Jede orthogonale N x N-Matrix kann in N (N-l) /2 Givens-Rotationen zerlegt werden, wie es in der Fachveröffentlichung P. P. Vaidyanathan, "Multirate Systems And Fil- ter Banks", Prentice Hall, Englewood Cliffs, 1993, ausgeführt ist. Es sei darauf hingewiesen, daß auch weitere Zerlegungen existieren.
Bezüglich der Klassifikationen der verschiedenen DCT- Algorithmen sei auf H. S. Malvar, "Signal Processing With Lapped Transforms", Artech House, 1992, verwiesen. Allgemein unterscheiden sich die DCT-Algorithmen durch die Art ihrer Basisfunktionen. Während die DCT-IV, die hier bevorzugt wird, nicht-symmetrische Basisfunktionen umfaßt, d. h. eine Kosinus-Viertelwelle, eine Cosinus-3/4-Welle, eine Co- sinus-5/4-Welle, eine Cosinus-7/4-Welle, etc., hat die diskrete Kosinustransformation z. B. vom Typ II (DCT-II) , achsensymmetrische und punktsymmetrische Basisfunktionen. Die 0-te Basisfunktion .hat einen Gleichanteil,- * die erste -Basis-" funktion ist eine halbe Kosinuswelle, die zweite Basisfunktion ist eine ganze Kosinuswelle, usw. Aufgrund der Tatsache, daß die DCT-II den Gleichanteil besonders berücksichtigt, wird sie bei der Videocodierung verwendet, nicht aber bei der Audiocodierung, da bei der Audiocodierung im Gegen- satz zur Videocodierung der Gleichanteil nicht von Relevanz ist.
Im nachfolgend wird darauf eingegangen, wie der Drehwinkel α der Givens-Rotation von der Fensterfunktion abhängt.
Eine MDCT mit einer Fensterlänge von 2N kann in eine diskrete Kosinustransformation vom Typ IV mit einer Länge N reduziert werden. Dies wird dadurch erreicht, daß die TDAC- Operation explizit im Zeitbereich durchgeführt wird, und daß dann die DCT-IV angewandt wird. Bei einer 50%igen Überlappung überlappt die linke Hälfte des Fensters für einen Block t mit der rechten Hälfte des vorausgehenden Blocks, d. h. des Blocks t-1. Der überlappende Teil zwei aufeinanderfolgender Blöcke t-1 und t wird im Zeitbereich, d. h. vor der Transformation, folgendermaßen vorverarbeitet, d. h. zwischen dem Eingang 10 und dem Ausgang 12 von Fig. 1 verarbeitet: .. .
Die mit der Tilde bezeichneten Werte sind die Werte am Ausgang 12 von Fig. 1, während die ohne Tilde in der obigen Gleichung bezeichnete x Werte die Werte am Eingang 10 bzw. -hinte-r der Einrichtung ' 16 zum Auswählen sin"d.'~"Der Läüf'index k läuft von 0 bis N/2-1, während w die Fensterfunktion dar- stellt.
Aus der TDAC-Bedingung für die Fensterfunktion w gilt folgender Zusammenhang:
Für bestimmte Winkel αk, k = 0, .'.. , N/2-1 kann diese Vorverarbeitung im Zeitbereich als Givens-Rotation geschrieben werden, wie es ausgeführt worden ist. Der Winkel α der Givens-Rotation hängt folgendermaßen von der Fensterfunktion w ab:
D = arctan[w(N/2-l-k) / w (N/2 + k) ] (5)
Es sei darauf hingewiesen, daß beliebige Fensterfunktionen w eingesetzt werden können, solange sie diese TDAC- Bedingung erfüllen.
Im nachfolgenden wird anhand von Fig. 2 ein kaskadierter Codierer und Decodierer beschrieben. Die zeitdiskreten Abtastwerte x(0) bis x(2N-l), die durch ein Fenster gemeinsam "gefenstert" werden, werden zunächst derart durch die Einrichtung 16 von Fig. 1 ausgewählt, daß der Abtastwert x(0) und der Abtastwert x(N-l), d. h. ein Abtastwert aus dem ersten Viertel des Fensters und ein Abtastwert aus dem zweiten Viertel des Fensters, ausgewählt werden, um den Vektor am Ausgang der Einrichtung 16 zu bilden. Die sich überkreuzenden* Pfeile- stellen schematisch - die— L-if-t-ing- Multiplikationen und anschließenden Rundungen der Einrichtungen 18, 20 bzw. 22, 24 bzw. 26, 28 dar, um am Eingang der DCT-IV-Blöcke die ganzzahligen gefensterten Abtastwerte zu erhalten.
Wenn der erste Vektor wie oben beschrieben verarbeitet ist, wird ferner ein zweiter Vektor aus den Abtastwerten x(N/2- 1) und x(N/2), d. h. wieder ein Abtastwert aus dem ersten Viertel des Fenster und ein Abtastwert aus dem zweiten Viertel des Fensters, ausgewählt und wiederum durch den in Fig. 1 beschriebenen Algorithmus verarbeitet. Analog dazu werden sämtliche anderen Abtastwertpaare aus dem ersten und zweiten Viertel des Fensters bearbeitet. Die selbe Verarbeitung wird für das dritte und vierte Viertel des ersten Fensters durchgeführt. Nunmehr liegen am Ausgang 12 2N ge- fensterte ganzzahlige Abtastwerte vor, die nunmehr so, wie es in Fig. 2 dargestellt ist, in eine DCT-IV-Transformation eingespeist werden. Insbesondere werden die ganzzahligen gefensterten Abtastwerte des zweiten und dritten Viertels in eine DCT eingespeist. Die gefensterten ganzzahligen Abtastwerte des ersten Viertels des Fensters werden in eine vorausgehende DCT-IV zusammen mit den gefensterten ganzzahligen Abtastwerten des vierten Viertels des vorausgehenden Fensters verarbeitet. Analog dazu wird das vierte Viertel der gefensterten ganzzahligen Abtastwerte in Fig. 2 mit dem ersten Viertel des nächsten Fensters zusammen in eine DCT- IV-Transformation eingespeist. Die mittlere in Fig. 2 gezeigte ganzzahlige DCT-IV-Transformation 32 liefert nunmehr N ganzzahlige Spektralwerte y(0) bis y(N-l). Diese ganzzahligen Spektralwerte können nunmehr beispielsweise einfach Entropie-codiert werden, ohne daß eine dazwischenliegende Quantisierung erforderlich ist, da die Fensterung und Transformation ganzzahlige Ausgangswerte liefert.
In der rechten Hälfte von Fig. 2 ist ein Decodierer dargestellt. Der Decodierer bestehend aus Rücktransformation und "inverser Fensterung" arbeitet invers zum Codierer. Es ist bekannt, daß zur Rücktransformation einer DCT-IV eine in- verse DCT-IV verwendet werden kann, wie es in Fig. 2 dargestellt ist. Die Ausgangswerte der Decodierer-DCT-IV 34 werden nunmehr, wie es in Fig. 2 dargestellt ist, mit den entsprechenden Werten der vorausgehenden Transformation bzw. der nachfolgenden Transformation invers verarbeitet, um aus den ganzzahligen gefensterten Abtastwerten am Ausgang der Einrichtung 34 bzw. der vorausgehenden und nachfolgenden Transformation wieder zeitdiskrete Audio-Abtastwerte x(0) bis x(2N-l) zu erzeugen. Die ausgangsseitige Operation geschieht durch eine inverse Givens-Rotation, d. h. derart, daß die Blöcke 26, 28 bzw. 22, 24 bzw. 18, 20 in der entgegengesetzten Richtung durch- laufen werden. Dies sei anhand der zweiten Lifting-Matrix von Gleichung 1 näher dargestellt. Wenn (im Codierer) der zweite Ergebnisvektor durch Multiplikation des gerundeten ersten Ergebnisvektors mit der zweiten Liftingmatrix (Einrichtung 22) gebildet wird, so ergibt sich folgender Aus- druck:
(x,v)ι→(x,^+xsinor) (6)
Die Werte x, y auf der rechten Seite von Gleichung 6 sind Ganzzahlen. Dies trifft jedoch für den Wert x sin α nicht zu. Hier muß die Rundungsfunktion r eingeführt werden, wie es in der nachfolgenden Gleichung
(x, y) -> (x, y + r(xsin a)) (7 )
dargestellt ist. Diese Operation führt die Einrichtung 24 aus .
Die inverse Abbildung (im Decodierer) ist folgendermaßen definiert:
(x',y )h- (x',y'-r(x s a)) (8 )
Aufgrund dem Minuszeichens vor der Rundungsoperation wird ersichtlich, daß die ganzzahlige Approximierung des Lif- ting-Schritts umgekehrt werden kann, ohne daß ein Fehler eingeführt wird. Die Anwendung dieser Approximation auf je- ή&r. ήfz-r Hrei Liftinα-Schritte führt zu einer ganzzahligen Approximation der Givens-Rotation. Die gerundete Rotation (im Codierer) kann umgekehrt werden (im Decodierer) , ohne daß ein Fehler eingeführt wird, und zwar indem die inversen gerundeten Lifting-Schritte in umgekehrter Reihenfolge durchlaufen werden, d. h. wenn beim Decodieren der Algorithmus von Fig. 1 von unten nach oben durchgeführt wird.
Wenn die Rundungsfunktion r punktsymmetrisch ist, ist die inverse gerundete, Rotation . identisch zu der gerundeten Ro- tation mit dem Winkel -α und lautet folgendermaßen:
Die Lifting-Matrizen für den Decodierer, d. h. für die in- verse Givens-Rotation, ergibt sich in diesem Fall unmittelbar aus Gleichung (1) , indem lediglich der Ausdruck "sin " durch den Ausdruck "-sin oc" ersetzt wird.
Im nachfolgenden wird anhand von Fig. 3 noch einmal die Zerlegung einer üblichen MDCT mit überlappenden Fenstern 40 bis 46 dargelegt. Die Fenster 40 bis 46 überlappen jeweils zu 50%. Pro Fenster werden zunächst Givens-Rotationen innerhalb des ersten und zweiten Viertels eines Fensters bzw. innerhalb des dritten und vierten Viertels eines Fensters ausgeführt, wie es durch die Pfeile 48 schematisch dargestellt ist. Dann werden die rotierten Werte, d. h. die gefensterten ganzzahligen Abtastwerte derart in eine N-zu-N- DCT eingespeist, daß immer das zweite und dritte Viertel eines Fensters bzw. das vierte und erste Viertel eines dar- auffolgenden Fensters gemeinsam mittels eines DCT-IV- Algorithmus in eine spektrale Darstellung umgesetzt wird. Es werden daher die üblichen Givens-Rotation in Lifting- Matrizen zerlegt, die sequentiell ausgeführt werden, wobei nach jeder Lifting-Matrix-Multiplikation ein Rundungsschritt eingeführt wird, derart, daß die Gleitkomma-Zahlen unmittelbar nach ihrer Entstehung gerundet werden, derart, daß vor jeder Multiplikation eines Ergebnisvektors mit einer Lifting-Matrix der Ergebnisvektor lediglich Ganzzahlen hat.
Die Ausgangswerte bleiben also immer ganzzahlig, wobei es bevorzugt wird, auch ganzzahlige Eingangswerte zu verwenden. Dies stellt keine Einschränkung dar, da jegliche beispielsweise PCM-Abtastwerte, wie sie auf einer CD abgespeichert sind, ganzzahlige Zahlenwerte sind, deren Wertebe- reich je nach Bitbreite variiert, d. h. abhängig davon, ob die zeitdiskreten digitalen Eingangswerte 16-Bit-Werte oder
24-Bit-Werte sind. Dennoch ist, wie es ausgeführt worden ist, der gesamte Prozeß invertierbar, indem die inversen
-.tatlonen in umgekehrter Reihenfolge ausgeführt-werden. Es - existiert somit eine ganzzahlige Approximation der MDCT mit perfekter Rekonstruktion, also eine verlustlose Transformation.
Die gezeigte Transformation liefert ganzzahlige Ausgangs- werte statt Gleitkommawerte. Sie liefert eine perfekte Rekonstruktion, so daß kein Fehler eingeführt wird, wenn eine Vorwärts- und dann eine Rückwärtstransformation ausgeführt werden. Die Transformation ist gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ein Ersatz für die modifizierte diskrete Cosinustransformation. Auch andere Transformationsverfahren können jedoch ganzzahlig ausgeführt werden, so lange eine Zerlegung in Rotationen und ei- ne Zerlegung der Rotationen in Lifting-Schritte möglich ist.
Die ganzzahlige MDCT hat die meisten günstigen Eigenschaf- ten der MDCT. Sie hat eine überlappende Struktur, wodurch eine bessere Frequenzselektivität als bei nicht- überlappenden Blocktransformationen erhalten wird. Aufgrund der TDAC-Funktion, die bereits beim Fenstern vor der Transformation , erücksichtigt wird, wird eine kritische Abtas- tung beibehalten, so daß die Gesamtanzahl von Spektralwer- ten, die ein Audiosignal darstellen, gleich der Gesamtanzahl von Eingangs-Abtastwerten ist.
Verglichen mit einer normalen MDCT, die Gleitkomma- Abtastwerte liefert, zeigt sich bei der beschriebenen bevorzugten ganzzahligen Transformation, daß lediglich in dem Spektralbereich, in dem wenig Signalpegel ist, das Rauschen im Vergleich zur normalen MDCT erhöht ist, während sich Lese Rauscherhöhung., bei- signifikanten Signalpegeln "nicht" bemerkbar macht. Dafür bietet sich die ganzzahlige Verarbeitung für eine effiziente Hardware-Implementation an, da lediglich Multiplikationsschritte verwendet werden, die ohne weiteres in Verschieben-Addieren-Schritte (Shift/Add- Schritte) zerlegt werden können, welche einfach und schnell hardwaremäßig implementiert werden können. Selbstverständlich ist auch eine Software-Implementation möglich.
Die ganzzahlige Transformation liefert eine gute spektrale Darstellung des Audiosignals und bleibt dennoch im Bereich der ganzen Zahlen. Wenn sie auf tonale Teile eines Audiosignals angewandt wird, resultiert dies in einer guten E- nergiekonzentrierung. Damit kann ein effizientes verlustloses Codierschema aufgebaut werden, indem einfach die in Fig. 1 dargestellte Fensterung/Transformation mit einem Entropiecodierer kaskadiert wird. Insbesondere ein gestapeltes Codieren (Stacked Coding) unter Verwendung von Escape-Werten, wie es in MPEG AAC eingesetzt wird, ist günstig. Es wird bevorzugt, alle Werte um eine bestimmte Potenz von zwei herunterzuskalieren, bis sie in eine erwünschte Codetabelle passen, und dann die weggelassenen niederstwertigen Bits zusätzlich zu codieren. Im Vergleich zu der Alternative der. Verwendung von größeren- Codetabellen ist die be- schriebene Alternative hinsichtlich des Speicherverbrauchs zum Speichern der Codetabellen günstiger. Ein nahezu verlustloser Codierer könnte auch dadurch erhalten werden, daß einfach bestimmte der niederstwertigen Bits weggelassen werden.
Insbesondere für tonale Signale ermöglicht eine Entropie- Codierung der ganzzahligen Spektralwerte einen hohen Codiergewinn. Für transiente Teile des Signals ist der Co- ergew-inn- niedrig, und zwar aufgrund- des ' fl chen' Spektrums transienter Signale, d. h. aufgrund einer geringen Anzahl von Spektralwerten, die gleich oder nahezu 0 sind. Wie es in J. Herre, J. D. Johnston: "Enhancing the Performance of
Perceptual Audio Coders by Using Temporal Noise Shaping
(TNS)" 101. AES Convention, Los Angeles, 1996, Preprint 4384, beschrieben ist, kann diese Flachheit jedoch verwendet werden, indem eine lineare Prädiktion im Frequenzbereich verwendet wird. Eine Alternative ist eine Prädiktion mit offener Schleife. Eine andere Alternative ist der Prä- diktor mit geschlossener Schleife. Die erste Alternative, d. h. der Prädiktor mit offener Schleife, wird TNS genannt. Die Quantisierung nach der Prädiktion führt zu einer Adaption des resultierenden Quantisierungsrauschens an die zeitliche Struktur des Audiosignals und verhindert daher Vorechos in psychoakustischen Audiocodierern. Für ein verlustloses Audiocodieren ist die zweite Alternative, d. h. mit einem Prädiktor mit geschlossener Schleife, geeigneter, da die Prädiktion mit geschlossener Schleife eine genaue Rekonstruktion des Eingangssignals erlaubt. Wenn diese Technik auf ein erzeugtes Spektrum angewendet wird, muß ein Rundungsschritt nach jedem Schritt des Prädiktionsfilters durchgeführt werden, um im Bereich der Ganzzahlen zu bleiben. Durch Verwenden des inversen Filters und- derselben Rundungsfunktion kann das ursprüngliche Spektrum genau wieder hergestellt werden.
Um die Redundanz zwischen zwei Kanälen zur Datenreduktion auszunutzen, kann auch eine Mitte-Seite-Codierung ver- lustlos eingesetzt werden, wenn eine gerundete Rotation mit einem Winkel D/4 verwendet wird. Im Vergleich zur Alternative des Berechnens der Summe und Differenz des linken und rechten Kanals eines Stereosignals hat die gerundete Rotation den -Vorteil der Energieerhaltung. Die Verwendung' s'ög'e- nannter Joint-Stereo-Codiertechniken kann für jedes Band ein- oder ausgeschaltet werden, wie es auch im Standard MPEG AAC durchgeführt wird. Weitere Drehwinkel können ebenfalls berücksichtigt werden, um eine Redundanz zwischen zwei Kanälen flexibler reduzieren zu können.

Claims

Patentansprüche
1. Vorrichtung zum Codieren eines zeitdiskreten Audiosignals, um codierte Audiodaten zu erhalten, mit folgen- den Merkmalen:
einer Einrichtung (52) zum Liefern eines Quantisierungs-Blocks von unter Verwendung eines psychoakustischen Modells (54),. quantisierten Spektralwerten -des zeitdiskreten Audiosignals;
einer Einrichtung (58) zum inversen Quantisieren des Quantisierungsblocks und zum Runden der invers quantisierten Spektralwerte, um einen Rundungs-Block von ge- rundeten invers quantisierten Spektralwerten zu erhalten;
einer Einrichtung (56) zum Erzeugen eines Ganzzahl- . Blocks von -ganzzahligen Spektralwerten unter - Verwen-- ; düng eines Ganzzahl-Transformationsalgorithmus, der ausgebildet ist, um aus einem Block von ganzzahligen zeitdiskreten Abtastwerten den Ganzzahl-Block von Spektralwerten zu erzeugen;
eine Kombinationseinrichtung (58) zum Bilden eines Differenz-Blocks, der von einer spektralwertweisen Differenz zwischen dem Rundungs-Block und dem Ganzzahl-Block abhängt, um einen Differenz-Block mit Differenz-Spektralwerten zu erhalten; und
einer Einrichtung (60) zum Verarbeiten des Quantisierungs-Blocks und des Differenz-Blocks, um codierte Audiodaten zu erzeugen, die Informationen über den Quan- tisierungs-Block und Informationen über den Differenz- Block umfassen.
2. Vorrichtung nach Anspruch 1, bei der die Einrichtung
(52) zum Liefern ausgebildet ist,
um aus einem Zeit-Block von zeitlichen Audiosignalwerten mittels einer MDCT einen MDCT-Block von MDCT- Spektralwerten .zu erzeugen,, und - -
um den MDCT-Block unter Verwendung eines psychoakustischen Modells zu quantisieren, um den Quantisierungs- Block zu erzeugen, der quantisierte MDCT-Spektralwerte aufweist.
3. Vorrichtung nach Anspruch 2,
bei der die Einrichtung (56) zum Erzeugen des Ganzzahl-Blocks- ausgebildet ist,- um eine IntMDCT auf de Zeit-Block auszuführen, um den Ganzzahl-Block zu erzeugen, der IntMDCT-Spektralwerte aufweist.
4. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Einrichtung (52) zum Liefern ausgebildet ist, um unter Verwendung eine Gleitkomma- Transformationsalgorithmus den Quantisierungs-Block zu berechnen.
5. Vorrichtung nach einem der Ansprüche 1 bis 3,
bei der die Einrichtung (52) zum Liefern ausgebildet ist, um den Quantisierungs-Block unter Verwendung des von der Einrichtung (56) zum Erzeugen erzeugten Ganzzahl-Blocks zu berechnen.
6. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Einrichtung (60) zum Verarbeiten ausgebildet ist, um den Quantisierungs-Block einer Entropie- Codierung zu unterziehen (60a), um einen Entropie- codierten Quantis.ierungs-Block zu erhalten,
um den Rundungs-Block einer Entropie-Codierung zu unterziehen (60b), um einen Entropie-codierten Rundungs- Block zu erhalten, und
um den Entropie-codierten Quantisierungs-Block in eine erste Skalierungsschicht eines skalierten Datenstroms, der die codierten Audiodaten darstellt, zu überführen, und um den Entropie-codierten Rundungs-Block in eine zweite ._ Skalierungsschicht - des skalierten Datenstroms1 zu überführen.
7. Vorrichtung nach Anspruch 6,
bei der die Einrichtung (60) zum Verarbeiten ferner ausgebildet ist, um für die Entropie-Codierung des Quantisierungs-Blocks eine aus einer Mehrzahl von Codetabellen abhängig von den quantisierten Spektralwerten zu verwenden, und
bei der die Einrichtung (60) zum Verarbeiten ferner ausgebildet ist, um für die Entropie-Codierung des Differenz-Blocks eine aus einer Mehrzahl von Codetabellen abhängig von einer Eigenschaft eines Quantisie- rers auszuwählen, der bei einer Quantisierung zum Erzeugen des Quantisierungs-Blocks verwendbar ist.
8. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Einrichtung (52) zum Liefern ausgebildet ist, um abhängig von einer Beschaffenheit des Audiosignals eines einer Mehrzahl von Fenstern zum Fenstern eines zeitlichen Blocks von Audiosignalwerten zu ver- wenden, und
bei der die Einrichtung (56) zum Erzeugen ausgebildet ist, um für den ganzzahligen Transformationsalgorithmus dieselbe Fensterauswahl zu treffen.
Vorrichtung nach einem der Ansprüche 1 bis
bei der die Einrichtung zum Erzeugen ausgebildet ist, um einen ganzzahligen Transformationsalgorithmus zu verwenden, der folgende Schritte aufweist:
Fenstern der zeitdiskreten Abtastwerte mit einem Fenster (w) mit einer Länge, die 2N zeitdiskreten Abtastwerten entspricht, um gefensterte zeitdiskrete Abtast- werte für eine Umsetzung der zeitdiskreten Abtastwerte in eine spektrale Darstellung mittels einer Transformation zu liefern, die aus N Eingangswerten N Ausgangswerte erzeugen kann, wobei das Fenstern folgende Teilschritte aufweist:
Auswählen (16) eines zeitdiskreten Abtastwerts aus einem Viertel des Fensters und eines zeitdiskreten Abtastwerts aus einem anderen Viertel des Fensters, um einen Vektor von zeitdiskreten Abtastwerten zu erhalten;
Beaufschlagen des Vektors mit einer quadratischen Drehmatrix, deren Dimension mit der Dimension des
Vektors übereinstimmt, wobei die Drehmatrix durch eine Mehrzahl von Lifting-Matrizen darstellbar ist, wobei eine Lifting-Matrix nur ein Element
_ aufweist, das von dem Fenster (w) abhängt und u*n- gleich 1 oder 0 ist, wobei der Teilschritt des
Beaufschlagens folgende Unterschritte aufweist:
Multiplizieren (18) des Vektors mit einer Lifting-Matrix, um einen ersten Ergebnisvek- tor zu erhalten;
Runden (20) einer Komponente des ersten Ergebnisvektors mit einer Rundungsfunktion (r)-, . die eine . reelle Zahl auf - eine ganze Zahl abbildet, um einen gerundeten ersten
Ergebnisvektor zu erhalten; und
sequentielles Durchführen der Schritte des Multiplizierens (22) und Rundens (24) mit einer anderen Lif- ting-Matrix, bis alle Lifting-Matrizen abgearbeitet sind, um einen gedrehten Vektor zu erhalten, der einen ganzzahligen gefensterten Abtastwert aus dem Viertel des Fensters und einen ganzzahligen gefensterten Abtastwert aus dem anderen Viertel des Fensters auf- weist, und
Durchführen des Schritt des Fensterns für alle zeitdiskreten Abtastwerte der verbleibenden Viertel des Fensters, um 2N gefilterte ganzzahlige Abtastwerte zu erhalten; und
Umsetzen (14) von N gefensterten ganzzahligen Abtastwerten in eine spektrale Darstellung durch eine Ganzzahl-DCT für Werte mit den gefilterten ganzzahligen Abtastwerten des zweiten Viertels und des dritten Viertels des Fensters, um N ganzzahlige Spektralwerte . z.U.. erhalten. . ..
10. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Einrichtung (52) zum Liefern des Quantisierungs-Blocks ausgebildet ist, um vor einem Quanti- sierungsschritt (52b) eine Prädiktion von Spektralwerten über der Frequenz unter Verwendung eines Prädiktionsfilters durchzuführen, um Prädiktionsrestspektral- werte zu erhalten, die nach einer Quantisierung den Quantisierungs-Block darstellen;
bei der ferner eine Prädiktionseinrichtung vorgesehen ist, die ausgebildet ist, um eine Prädiktion über der Frequenz der ganzzahligen Spektralwerte des Ganzzahl- Blocks durchzuführen, wobei ferner eine Rundungsein- richtung vorgesehen ist, um Prädiktionsrestspektral- werte aufgrund der Ganzzahl-Spektralwerte zu runden, die den Rundungs-Block darstellen.
11. Verfahren nach einem der vorhergehenden Ansprüche,
bei der das zeitdiskrete Audiosignal zumindest zwei Kanäle aufweist, bei der die Einrichtung (52) zum Liefern ausgebildet ist, um eine Mitte/Seite-Codierung mit Spektralwerten des zeitdiskreten Audiosignals durchzuführen, um nach einer Quantisierung von Mitte/Seite-Spektralwerten den Quantisierungs-Block zu erhalten, und
bei der die Einrichtung (56) zum Erzeugen des Ganzzahl-Blocks ausgebildet ist, um ebenfalls eine Mitte/Seite-Codierung durchzuführen, die- der Mitte/Seite-' Codierung der Einrichtung (52) zum Liefern entspricht.
12. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Einrichtung (60) zum Verarbeiten ausgebil- det ist, um einen MPEG-2-AAC-Datenstrom zu erzeugen, wobei in einem Feld Ancilliary Data Zusatzinformationen für den Ganzzahl-Transformationsalgorithmus eingebracht sind.
13. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Einrichtung zum Verarbeiten (60) ausgebildet ist, um die codierten Audiodaten als Datenstrom mit einer Mehrzahl von Skalierungsschichten aus- zugeben.
14. Vorrichtung nach Anspruch 13,
bei der die Einrichtung zum Verarbeiten (60) ausgebil- det ist, um in eine erste Skalierungsschicht (81) Informationen über den Quantisierungsblock einzufügen, und um in eine zweite Skalierungsschicht (82) Informationen über den Differenzblock einzufügen.
15. Vorrichtung nach Anspruch 13,
bei der die Einrichtung zum Verarbeiten (60) ausgebildet ist, um in eine erste Skalierungsschicht Informationen über den Quantisierungsblock einzufügen, und um die Informationen über den Differenzblock in zumindest eine zweite und eine dritte Skalierungsschicht einzufügen.
16. Vorrichtung nach Anspruch 15,
bei der in der zweiten Skalierungsschicht Differenz- Spektralwerte mit reduzierter Genauigkeit enthalten sind, und in einer oder mehreren höheren Skalierungsschichten ein restlicher Teil der Differenz- Spektralwerte enthalten ist.
Vorrichtung nach Anspruch 15 oder 16,
bei der die Informationen über den Differenzblock binär codierte Differenz-Spektralwerte umfassen,
bei der die zweite Skalierungsschicht für Differenz- Spektralwerte eine Anzahl von Bits von einem höchstwertigen Bit (MSB) zu einem niederwertigen Bit (MSB-x) für einen Differenz-Spektralwert umfaßt, und
bei der die dritte Skalierungsschicht eine Anzahl von Bits ausgehend von einem niederwertigen Bit (MSB-x-1) bis zu einem niederstwertigen Bit (LSB) umfaßt.
18. Vorrichtung nach Anspruch 17, bei der das zeitdiskrete Audiosignal in einer Form von Abtastwerten mit einer Breite von 24 Bits vorliegt, und
bei der die Einrichtung zum Verarbeiten (60) ausgebildet ist, um höherwertige 16 Bits der Differenz- Spektralwerte in die zweite Skalierungsschicht einzufügen, und um restliche -8 Bits eines Differenz- Spektralwerts in die dritte Skalierungsschicht einzufügen, so daß ein Decodierer unter Verwendung der zweiten Skalierungsschicht eine CD-Qualität erreicht, wobei ein Decodierer unter Verwendung auch der dritten Skalierungsschicht eine Studio-Qualität erreicht.
19. Vorrichtung nach Anspruch 15,
bei der die Einrichtung (60) zum Verarbeiten ausgebildet ist, um in eine zweite Skalierungsschicht" zumin- dest einen Teil von Differenz-Spektralwerten zur Darstellung eines tiefpaß-gefilterten Signals einzufügen und in zumindest eine weitere Skalierungsschicht eine Differenz zwischen den Differenz-Spektralwerten in der zweiten Skalierungsschicht und ursprünglichen Diffe- renz-Spektralwerten einzufügen.
20. Vorrichtung nach Anspruch 15 oder 19,
bei der die Einrichtung (60) zum Verarbeiten ausgebil- det ist, um in eine zweite Skalierungsschicht zumindest einen Teil von Differenz-Spektralwerten bis zu einer bestimmten Grenzfrequenz einzufügen, und um in einer dritten Skalierungsschicht zumindest einen Teil von Differenz-Spektralwerten ab der bestimmten Grenzfrequenz zu einer höheren Frequenz einzufügen.
21. Verfahren zum Codieren eines zeitdiskreten Audiosig- nals, um codierte Audiodaten zu erhalten, mit folgenden Schritten:
Liefern (52) eines Quantisierungs-Blocks von unter Verwendung eines psychoakustischen Modells (54-) quan-' tisierten Spektralwerten des zeitdiskreten Audiosignals;
inverses Quantisieren (58) des Quantisierungsblocks und zum Runden der invers quantisierten Spektralwerte, um einen Rundungs-Block von gerundeten invers quantisierten Spektralwerten zu erhalten;
Erzeugen (56) eines Ganzzahl-Blocks von ganzzahligen Spektralwerten --unter- Verwendung "eines " Ganzzahl-- Transformationsalgorithmus, der ausgebildet ist, um aus einem Block von ganzzahligen zeitdiskreten Abtastwerten den Ganzzahl-Block von Spektralwerten zu erzeugen;
Bilden (58) eines Differenz-Blocks, der von einer spektralwertweisen Differenz zwischen dem Rundungs- Block und dem Ganzzahl-Block abhängt, um einen Differenz-Block mit Differenz-Spektralwerten zu erhalten; und
Verarbeiten (60) des Quantisierungs-Blocks und des Differenz-Blocks, um codierte Audiodaten zu erzeugen, die Informationen über den Quantisierungs-Block und Informationen über den Differenz-Block umfassen.
22. Vorrichtung zum Decodieren von codierten Audiodaten, die aus einem zeitdiskreten Audiosignal durch Liefern (52) eines Quantisierungs-Blocks von unter Verwendung eines psychoakustischen Modells (54) quantisierten Spektralwerten des zeitdiskreten Audiosignals, durch inverses Quantisieren (58) des Quantisierungsblocks und Runden der invers quantisierten Spektralwerte, um einen Rundungs-Block von gerundeten invers quantisierten Spektralwerten zu erhalten, durch Erzeugen (56) eines Ganzzahl-Blocks von ganzzahligen Spektralwerten unter Verwendung eines Ganzzahl-Trans- formationsalgorithmus, der ausgebildet ist, um aus einem Block von ganzzahligen zeitdiskreten Abtastwerten den Ganzzahl-Block von Spektralwerten zu erzeugen, und durch Bilden (58) eines Differenz-Blocks, der von einer, spektralwertweisen Differenz zwischen" dem Run=" dungs-Block und dem Ganzzahl-Block abhängt, um einen Differenz-Block mit Differenz-Spektralwerten zu erhalten, erzeugt worden sind, mit folgenden Merkmalen:
einer Einrichtung (70) zum Verarbeiten der codierten Audiodaten, um einen Quantisierungs-Block und einen Differenz-Block zu erhalten;
einer Einrichtung (74) zum inversen Quantisieren und Runden des Quantisierungs-Blocks, um einen ganzzahli- gen invers quantisierten Quantisierungs-Block zu erhalten; einer Einrichtung (78) zum spektralwertweisen Kombinieren des ganzzahligen Quantisierungs-Blocks und des Differenz-Blocks, um einen Kombinations-Block zu erhalten; und
einer Einrichtung (82) zum Erzeugen einer zeitlichen Darstellung des zeitdiskreten Audiosignals unter Verwendung des Kombinations-Blocks und unter Verwendung eines zu dem Ganzzahl-Transformationsalgorithmus- in- versen Ganzzahl-Transformationsalgorithmus.
23. Vorrichtung zum Decodieren nach Anspruch 22,
bei der die codierten Audiodaten skaliert sind und ei- ne Mehrzahl von Skalierungsschichten umfassen,
bei der die Einrichtung (70) zum Verarbeiten der codierten Audiodaten ausgebildet ist, um als erste Skalierungsschicht den Quantisierungsblock aus den' co- dierten Audiodaten zu ermitteln, und um als zweite
Skalierungsschicht den Differenzblock aus den codierten Audiodaten zu ermitteln.
24. Vorrichtung nach Anspruch 22,
bei der die Informationen über den Differenzblock binär codierte Differenz-Spektralwerte umfassen,
bei der die codierten Audiodaten skaliert sind und ei- ne Mehrzahl von Skalierungsschichten umfassen,
bei der die Einrichtung (70) zum Verarbeiten der codierten Audiodaten ausgebildet ist, um als erste Ska- lierungsschicht den Quantisierungsblock aus den codierten Audiodaten zu ermitteln, und um als zweite Skalierungsschicht eine Darstellung der Differenz- Spektralwerte mit reduzierter Genauigkeit zu extrahie- ren.
25. Vorrichtung nach Anspruch 24,
. .. bei der- die Einrichtung (70) zum Verarbeiten der- co- - dierten Audiodaten ausgebildet ist, um als zweite Skalierungsschicht eine Anzahl von Bits ausgehend von einem höchstwertigen Bit bis zu einem niederwertigen Bit, das höherwertig als ein niederstwertiges Bit eines Differenz-Spektralwerts ist, zu extrahieren, und
bei der die Einrichtung (82) zum Erzeugen einer zeitlichen Darstellung des zeitdiskreten Audiosignals ausgebildet ist, um vor einer Verwendung des Ganzzahl- Transformationsalgorithmus fehlende Bits für einen"= Differenz-Spektralwert synthetisch zu erzeugen.
26. Vorrichtung nach Anspruch 25,
bei der die Einrichtung (82) ausgebildet ist, um zur synthetischen Erzeugung eine HeraufSkalierung der zweiten Skalierungsschicht durchzuführen, wobei bei der Heraufskalierung ein Skalierungsfaktor verwendet wird, der gleich 2n ist, wobei n gleich der Anzahl von niederwertigen Bits ist, die in der zweiten Skalie- rungsschicht nicht enthalten sind, oder um zur synthetischen Erzeugung einen Dithering-Algorithmus einzusetzen.
27. Vorrichtung nach Anspruch 22,
bei der die codierten Audiodaten skaliert sind und eine Mehrzahl von Skalierungsschichten umfassen, und
bei der die Einrichtung (70) zum Verarbeiten der codierten Audiodaten ausgebildet ist, um als erste Skalierungsschicht den Quantisierungsblock aus den codierten Audi.oda.ten zu ermitteln,- und um als zweite Skalierungsschicht tiefpassgefilterte Differenz- Spektralwerte zu ermitteln.
28. Vorrichtung nach Anspruch 22 oder 27,
bei der die codierten Audiodaten skaliert sind und eine Mehrzahl von Skalierungsschichten umfassen, und
bei der die Einrichtung (70) zum Verarbeiten der codierten Audiodaten ausgebildet ist, um als -e ste* Ska- lierungsschicht den Quantisierungsblock aus den codierten Audiodaten zu ermitteln, und um als zweite Skalierungsschicht Differenz-Spektralwerte bis zu einer ersten Grenzfrequenz zu ermitteln, wobei die erste Grenzfrequenz kleiner als eine maximale Frequenz eines Differenz-Spektralwerts ist, der in einem Codierer erzeugbar ist.
29. Vorrichtung nach Anspruch 28,
bei der die Einrichtung (82) zum Erzeugen einer zeitlichen Darstellung ausgebildet ist, um Eingangswerte in einen Ganzzahl-Transformationsalgorithmus voller Länge, die oberhalb der Grenzfrequenz der zweiten Ska- lierungsschicht sind, auf einen vorbestimmten Wert zu setzen, und um die zeitliche Darstellung des zeitdiskreten Audiosignals nach dem Verwenden des inversen Ganzzahl-Transformationsalgorithmus mit einem Faktor herunter-abzutasten, der entsprechend einem Verhältnis einer maximalen Frequenz eines Differenz- Spektralwerts, der von einem Codierer erzeugbar ist, und der Grenzfrequenz gewählt wird.
30. Vorrichtung nach Anspruch 29,
bei der der vorbestimmte Wert für alle Eingangswerte oberhalb der Grenzfrequenz gleich Null ist.
31. Verfahren zum Decodieren von codierten Audiodaten, die aus einem zeitdiskreten Audiosignal durch Liefern, in- verses Quantisieren, Erzeugen, Bilden und Verarbeiten erzeugt worden sind, mit folgenden Schritten:
Verarbeiten (70) der codierten Audiodaten, um einen Quantisierungs-Block und einen Differenz-Block zu erhalten;
inverses Quantisieren (74) des Quantisierungs-Blocks und Runden, um einen ganzzahligen invers quantisierten Quantisierungs-Block zu erhalten;
spektralwertweises Kombinieren (78) des ganzzahligen Quantisierungs-Blocks und des Differenz-Blocks, um ei- nen Kombinations-Block zu erhalten; und
Erzeugen (82) einer zeitlichen Darstellung des zeitdiskreten Audiosignals unter Verwendung des Kombina- tions-Blocks und unter Verwendung eines zu dem Ganzzahl-Transformationsalgorithmus inversen Ganzzahl- Transformationsalgorithmus .
32. Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens zum Codieren nach Anspruch 21, wenn das Programm auf einem Computer abläuft.
33. Computer-Programm mit einem Programmcode zur Durchfüh- rung des Verfahrens zum Decodieren nach Anspruch 31, wenn das Programm auf einem Computer abläuft.
EP02792858A 2002-04-18 2002-12-02 Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten Expired - Lifetime EP1495464B1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10217297 2002-04-18
DE10217297A DE10217297A1 (de) 2002-04-18 2002-04-18 Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
PCT/EP2002/013623 WO2003088212A1 (de) 2002-04-18 2002-12-02 Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten

Publications (2)

Publication Number Publication Date
EP1495464A1 true EP1495464A1 (de) 2005-01-12
EP1495464B1 EP1495464B1 (de) 2005-09-28

Family

ID=28798541

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02792858A Expired - Lifetime EP1495464B1 (de) 2002-04-18 2002-12-02 Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten

Country Status (9)

Country Link
EP (1) EP1495464B1 (de)
JP (1) JP4081447B2 (de)
KR (1) KR100892152B1 (de)
CN (1) CN1258172C (de)
AT (1) ATE305655T1 (de)
CA (1) CA2482427C (de)
DE (2) DE10217297A1 (de)
HK (1) HK1077391A1 (de)
WO (1) WO2003088212A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO341615B1 (no) * 2006-11-02 2017-12-11 Fraunhofer Ges Forschung Innretning og fremgangsmåte for etterbehandling av spektralverdier, samt koder og dekoder for audiosignaler

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA06003508A (es) * 2003-09-29 2007-01-25 Agency Science Tech & Res Metodo para transformar una senal digital del dominio de tiempo al dominio de frecuencia y viceversa.
JP4849466B2 (ja) * 2003-10-10 2012-01-11 エージェンシー フォー サイエンス, テクノロジー アンド リサーチ デジタル信号をスケーラブルビットストリームにエンコードする方法、及びスケーラブルビットストリームをデコードする方法
DE102004007184B3 (de) * 2004-02-13 2005-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Quantisieren eines Informationssignals
DE102004007200B3 (de) * 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
DE102004059979B4 (de) 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals
US8494667B2 (en) 2005-06-30 2013-07-23 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
US7761303B2 (en) 2005-08-30 2010-07-20 Lg Electronics Inc. Slot position coding of TTT syntax of spatial audio coding application
KR100878828B1 (ko) 2005-10-05 2009-01-14 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
US7761289B2 (en) 2005-10-24 2010-07-20 Lg Electronics Inc. Removing time delays in signal paths
EP1852849A1 (de) * 2006-05-05 2007-11-07 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung für verlustfreie Kodierung eines Quellensignals unter Verwendung eines verlustbehafteten kodierten Datenstroms und eines verlustfreien Erweiterungsdatenstroms
EP1883067A1 (de) * 2006-07-24 2008-01-30 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung für verlustfreie Kodierung eines Quellsignals, unter Benutzung eines verlustbehafteten kodierten Datenstroms und eines verlustfreien Erweiterungsdatenstroms.
EP1903559A1 (de) 2006-09-20 2008-03-26 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Transkodierung von Tonsignalen
DE102007003187A1 (de) * 2007-01-22 2008-10-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines zu sendenden Signals oder eines decodierten Signals
KR101149448B1 (ko) * 2007-02-12 2012-05-25 삼성전자주식회사 오디오 부호화 및 복호화 장치와 그 방법
EP2015293A1 (de) * 2007-06-14 2009-01-14 Deutsche Thomson OHG Verfahren und Vorrichtung zur Kodierung und Dekodierung von Audiosignalen über adaptiv geschaltete temporäre Auflösung in einer Spektraldomäne
ES2658942T3 (es) * 2007-08-27 2018-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Análisis espectral/síntesis de baja complejidad utilizando resolución temporal seleccionable
EP2063417A1 (de) * 2007-11-23 2009-05-27 Deutsche Thomson OHG Formung des Rundungsfehlers für die auf ganzzahligen Transformationen basierende Kodierung und Dekodierung
EP2144230A1 (de) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiokodierungs-/Audiodekodierungsschema geringer Bitrate mit kaskadierten Schaltvorrichtungen
JP5555707B2 (ja) * 2008-10-08 2014-07-23 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン マルチ分解能切替型のオーディオ符号化及び復号化スキーム
JP5863765B2 (ja) 2010-03-31 2016-02-17 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 符号化方法および装置、そして、復号化方法および装置
US8924222B2 (en) 2010-07-30 2014-12-30 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coding of harmonic signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
JP5799707B2 (ja) * 2011-09-26 2015-10-28 ソニー株式会社 オーディオ符号化装置およびオーディオ符号化方法、オーディオ復号装置およびオーディオ復号方法、並びにプログラム
EP2830058A1 (de) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequenzbereichsaudiocodierung mit Unterstützung von Transformationslängenschaltung
CN105632503B (zh) * 2014-10-28 2019-09-03 南宁富桂精密工业有限公司 信息隐藏方法及系统
US10354667B2 (en) 2017-03-22 2019-07-16 Immersion Networks, Inc. System and method for processing audio data
EP3471271A1 (de) * 2017-10-16 2019-04-17 Acoustical Beauty Verbesserte konvolutionen von digitalen signalen mit verwendung einer bitanforderungsoptimierung eines digitalen zielsignals
WO2019091576A1 (en) * 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
CN107911122A (zh) * 2017-11-13 2018-04-13 南京大学 基于分解压缩的分布式光纤振动传感数据无损压缩方法
US11281312B2 (en) 2018-01-08 2022-03-22 Immersion Networks, Inc. Methods and apparatuses for producing smooth representations of input motion in time and space
WO2019199995A1 (en) 2018-04-11 2019-10-17 Dolby Laboratories Licensing Corporation Perceptually-based loss functions for audio encoding and decoding based on machine learning
DE102019204527B4 (de) * 2019-03-29 2020-11-19 Technische Universität München Kodierungs-/dekodierungsvorrichtungen und verfahren zur kodierung/dekodierung von vibrotaktilen signalen
KR102250835B1 (ko) * 2019-08-05 2021-05-11 국방과학연구소 수동 소나의 협대역 신호를 탐지하기 위한 lofar 또는 demon 그램의 압축 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03088212A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO341615B1 (no) * 2006-11-02 2017-12-11 Fraunhofer Ges Forschung Innretning og fremgangsmåte for etterbehandling av spektralverdier, samt koder og dekoder for audiosignaler

Also Published As

Publication number Publication date
CA2482427A1 (en) 2003-10-23
EP1495464B1 (de) 2005-09-28
DE50204426D1 (de) 2005-11-03
AU2002358578A1 (en) 2003-10-27
JP2005527851A (ja) 2005-09-15
CN1625768A (zh) 2005-06-08
WO2003088212A1 (de) 2003-10-23
JP4081447B2 (ja) 2008-04-23
ATE305655T1 (de) 2005-10-15
CA2482427C (en) 2010-01-19
DE10217297A1 (de) 2003-11-06
CN1258172C (zh) 2006-05-31
KR20050007312A (ko) 2005-01-17
HK1077391A1 (en) 2006-02-10
KR100892152B1 (ko) 2009-04-10

Similar Documents

Publication Publication Date Title
EP1495464B1 (de) Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten
EP1502255B1 (de) Vorrichtung und verfahren zum skalierbaren codieren und vorrichtung und verfahren zum skalierbaren decodieren eines audiosignales
EP1647009B1 (de) Vorrichtung und verfahren zum verarbeiten eines signals
EP1609084B1 (de) Vorrichtung und verfahren zum umsetzen in eine transformierte darstellung oder zum inversen umsetzen der transformierten darstellung
DE19747132C2 (de) Verfahren und Vorrichtungen zum Codieren von Audiosignalen sowie Verfahren und Vorrichtungen zum Decodieren eines Bitstroms
DE60310716T2 (de) System für die audiokodierung mit füllung von spektralen lücken
DE102006022346B4 (de) Informationssignalcodierung
DE602004004818T2 (de) Audiosignalcodierung oder -decodierung
DE19811039B4 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
DE69731677T2 (de) Verbessertes Kombinationsstereokodierverfahren mit zeitlicher Hüllkurvenformgebung
EP1397799B1 (de) Verfahren und vorrichtung zum verarbeiten von zeitdiskreten audio-abtastwerten
DE69737489T2 (de) Formung des erkennbaren Rauschsignals in der Zeitdomäne mittels LPC-Voraussage im Frequenzraum
EP1654674B1 (de) Vorrichtung und verfahren zum verarbeiten von wenigstens zwei eingangswerten
DE4320990B4 (de) Verfahren zur Redundanzreduktion
DE102006051673A1 (de) Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale
DE19959156C2 (de) Verfahren und Vorrichtung zum Verarbeiten eines zu codierenden Stereoaudiosignals
DE102019204527B4 (de) Kodierungs-/dekodierungsvorrichtungen und verfahren zur kodierung/dekodierung von vibrotaktilen signalen
DE102020210917B4 (de) Verbesserter M/S-Stereo-Codierer und -Decodierer
DE19742201C1 (de) Verfahren und Vorrichtung zum Codieren von Audiosignalen
DE19829284C2 (de) Verfahren und Vorrichtung zum Verarbeiten eines zeitlichen Stereosignals und Verfahren und Vorrichtung zum Decodieren eines unter Verwendung einer Prädiktion über der Frequenz codierten Audiobitstroms
DE10065363A1 (de) Vorrichtung und Verfahren zum Decodieren eines codierten Datensignals

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20041013

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SI SK TR

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050928

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050928

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050928

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050928

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050928

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REF Corresponds to:

Ref document number: 50204426

Country of ref document: DE

Date of ref document: 20051103

Kind code of ref document: P

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051202

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051228

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051228

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051228

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20051231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060108

REG Reference to a national code

Ref country code: SE

Ref legal event code: TRGR

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060228

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20060629

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 15

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: LU

Payment date: 20211217

Year of fee payment: 20

Ref country code: IE

Payment date: 20211220

Year of fee payment: 20

Ref country code: GB

Payment date: 20211222

Year of fee payment: 20

Ref country code: FI

Payment date: 20211216

Year of fee payment: 20

Ref country code: FR

Payment date: 20211220

Year of fee payment: 20

Ref country code: SE

Payment date: 20211220

Year of fee payment: 20

Ref country code: AT

Payment date: 20211216

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20211217

Year of fee payment: 20

Ref country code: CH

Payment date: 20211222

Year of fee payment: 20

Ref country code: BE

Payment date: 20211217

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20211220

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20211230

Year of fee payment: 20

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 50204426

Country of ref document: DE

REG Reference to a national code

Ref country code: NL

Ref legal event code: MK

Effective date: 20221201

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20221201

REG Reference to a national code

Ref country code: BE

Ref legal event code: MK

Effective date: 20221202

REG Reference to a national code

Ref country code: FI

Ref legal event code: MAE

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK07

Ref document number: 305655

Country of ref document: AT

Kind code of ref document: T

Effective date: 20221202

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20221201

REG Reference to a national code

Ref country code: SE

Ref legal event code: EUG

REG Reference to a national code

Ref country code: IE

Ref legal event code: MK9A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20221202