EP1495464B1 - Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data - Google Patents
Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data Download PDFInfo
- Publication number
- EP1495464B1 EP1495464B1 EP02792858A EP02792858A EP1495464B1 EP 1495464 B1 EP1495464 B1 EP 1495464B1 EP 02792858 A EP02792858 A EP 02792858A EP 02792858 A EP02792858 A EP 02792858A EP 1495464 B1 EP1495464 B1 EP 1495464B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- block
- integer
- difference
- spectral values
- quantization
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
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)
Abstract
Description
Die vorliegende Erfindung bezieht sich auf die Audiocodierung/Audiodecodierung und insbesondere auf skalierbare Codier/Decodier-Algorithmen mit einer psychoakustischen ersten Skalierungsschicht und einer zweiten Skalierungsschicht, die Zusatzaudiodaten für eine verlustlose Decodierung umfaßt.The present invention relates to audio coding / audio decoding and more particularly to scalable encoding / decoding algorithms with a psychoacoustic first Scaling layer and a second scaling layer, the additional audio data for lossless decoding includes.
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 üblicherweise einen Strom von zeitdiskreten Audio-Abtastwerten. Der Strom von Audio-Abtastwerten wird gefenstert, um einen gefensterten Block von beispielsweise 1024 oder 2048 gefensterten Audio-Abtastwerten zu erhalten. Zur Fensterung werden verschiedene Fensterfunktionen eingesetzt, wie z. B. ein Sinus-Fenster, etc.Modern audio coding methods, such. Eg MPEG Layer3 (MP3) or MPEG AAC use transforms such as the so-called modified discrete cosine transformation (MDCT), to a block-wise frequency representation of an audio signal to obtain. Such an audio encoder usually receives a stream of time discrete audio samples. The stream of audio samples is windowed to one windowed block of, for example, 1024 or 2048 windowed To obtain audio samples. To the fenestration different window functions are used, such as B. a sine window, 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 Quantisieren 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 Huffman-Codierung Entropie-codiert. Durch Hinzufügen von Seiteninformationen, wie z. B. Skalenfaktoren etc. wird aus den Entropie-codierten quantisierten Spektralwerten mittels eines Bitstrom-Multiplexers ein Bitstrom gebildet, der gespeichert oder übertragen werden kann.The windowed discrete-time audio samples are then by means of a filter bank in a spectral representation implemented. In principle, a Fourier transformation, or for special reasons a variety of Fourier transform, such as. B. an FFT or, as it has been executed, an MDCT be used. Of the Block of audio spectral values at the output of the filter bank can then be further processed as needed. Both The above-mentioned audio coders are followed by quantization the audio spectral values, the quantization levels typically be chosen so that by quantizing introduced quantization noise below the psychoacoustic Masking threshold is, d. H. "Masked away" becomes. The quantization is a lossy one Encoding. To get a further data volume reduction, the quantized spectral values are subsequently added entropy-coded for example by means of a Huffman coding. By adding page information, such as B. scale factors, etc. is from the entropy-coded quantized spectral values by means of a bitstream multiplexer a bitstream is formed, which is stored or can be transferred.
Im Audio-Decodierer wird der Bitstrom mittels eines Bitstrom-Demultiplexers in codierte quantisierte Spektralwerte und Seiteninformationen aufgeteilt. Die Entropie-codierten quantisierten Spektralwerte werden zunächst Entropie-decodiert, um die quantisierten Spektralwerte zu erhalten. Die quantisierten Spektralwerte werden dann invers quantisiert, um decodierte Spektralwerte zu erhalten, die Quantisierungsrauschen aufweisen, das jedoch unterhalb der psychoakustischen 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 Transformations-Algorithmus inverser Transformations-Algorithmus eingesetzt werden. Außerdem muß nach der Frequenz-Zeit-Rücktransformation das Fenstern rückgängig gemacht werden. In the audio decoder, the bitstream is by means of a bit stream demultiplexer in coded quantized spectral values and split page information. The entropy-coded quantized spectral values are first entropy-decoded, to obtain the quantized spectral values. The quantized spectral values are then inversely quantized, to obtain decoded spectral values, the quantization noise but below the psychoacoustic level Masking threshold is and therefore inaudible will be. These spectral values are then determined by means of a Synthesis filter bank converted into a temporal representation, to obtain time discrete decoded audio samples. In the synthesis filter bank must be a transformation algorithm used inverse transformation algorithm become. In addition, after the frequency-time inverse transformation the windows are undone.
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 gefenstert.
Das Fenster, das die Einrichtung 402 verkörpert,
hat eine Fensterlänge von 2N Abtastwerten und liefert ausgangsseitig
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 unmittelbar
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 Einrichtung
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.To achieve good frequency selectivity, use
Modern audio coders typically have a block overlap.
Such a case is shown in Fig. 4a.
First, for example, 2048 become discrete-time audio samples
taken and windowed by
Im Decodierer werden die N Spektralwerte des ersten Fensters,
wie es in Fig. 4b gezeigt ist, einer Einrichtung 412,
die eine inverse modifizierte diskrete Kosinustransformation
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 Einrichtung
412 als auch die Einrichtung 414 liefern jeweils 2N
Abtastwerte für das erste Fenster bzw. 2N Abtastwerte für
das zweite Fenster.In the decoder, the N spectral values of the first window,
as shown in Figure 4b, means 412,
which is an inverse modified discrete cosine transformation
performs, fed. The same applies to the N spectral values
of the second window. These become a
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 y1 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 ausgangsseitig,
also im Decodierer, N decodierte zeitliche Abtastwerte
ergeben.In a
Es sei darauf hingewiesen, daß durch die Funktion der Einrichtung
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" stattzufinden
hat.It should be noted that by the function of the
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 Bedingung
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-1 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.When implemented by
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.A disadvantage of the window method described in FIG. 4a
with subsequent MDCT function is the fact
that the fenestration by multiplying a discrete-time
Sample when thinking of a sine window,
is achieved with a floating-point number, since the sine of a
Angle between 0 and 180 degrees apart from the
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.Therefore, even if no psychoacoustic encoder is used
is, d. H. when a lossless coding is achieved
is to be at the output of the
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 resultierenden Fehler aufgrund der Rundung der Gleitkommazahlen vernachlässigen zu können, oder das Fehlersignal muß zusätzlich beispielsweise im Zeitbereich codiert werden.So if known transformations, as based on 4a have been operated for lossless audio coding must be used, either a very fine quantization can be used to the resulting Neglect errors due to the rounding of floating point numbers to be able to, or the error signal must additionally for example, be coded in the time domain.
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 C1 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 beendet, 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 Quantisierereinstellungen 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 Spektralwerte typischerweise genauer quantisiert sind, als dies aufgrund des psychoakustischen Modells sein müßte.Concepts of the former kind, that is to say quantization adjusted so fine that the resulting error due the rounding of floating point numbers is negligible For example, in German Patent DE 197 42 201 C1 discloses. Here is an audio signal in its spectral Presentation converted and quantized to quantized To obtain spectral values. The quantized spectral values are again inversely quantized, transferred to the time domain and compared to the original audio signal. Is the error, so the error between the original Audio signal and the quantized / inverse quantized Audio signal, above an error threshold, then the Quantizer feedback set finer, and the Comparison is performed again. The iteration is over, if the error threshold is fallen below. That then still possibly existing residual signal is with a Time domain encoder encoded and written to a bitstream, the next to the time domain encoded residual signal also includes coded spectral values corresponding to the quantizer settings have been quantified at the time the termination of the iteration were present. It was noted that the quantizer used is not must be controlled by a psychoacoustic model, so that the coded spectral values are typically more accurate are quantized as this is due to the psychoacoustic Model would have to be.
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 maximieren 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-) Schema, das in der Fachveröffentlichung "Multi-Layer Bit Sliced Bit Rate Scalable Audio Coder", 103. AES-Convention, Preprint Nr. 4520, 1997, dargestellt ist.In the technical publication "A Design of Lossy and Lossless Scalable Audio Coding ", T. Moriya et al., Proc. ICASSP, 2000, a scalable encoder is described first lossy data compression module z. As an MPEG encoder comprising a block-wise digital waveform as input and generates the compressed bitstream. In an existing local decoder the coding is undone again, and it will generates a coded / decoded signal. This signal is compared with the original input signal by the coded / decoded signal from the original one Input signal is subtracted. The error signal then becomes fed into a second module where a lossless bit conversion is used. This conversion has two Steps. The first step is a conversion of a two's complement format in a sign magnitude format. The second step is the conversion of a vertical magnitude sequence into a horizontal bit sequence in a processing block. The lossless data conversion is executed to maximize the number of zeros or the number of consecutive zeros in a sequence to maximize compression as much as possible the temporal error signal due to digital Numbers to reach. This principle is based on a bit-slice arithmetic coding (BSAC) scheme, in the technical publication "Multi-Layer Bit Sliced Bit Rate Scalable Audio Coder ", 103rd AES Convention, Preprint No. 4520, 1997.
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 Frequenz/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 psychoakustischen 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 kompletter 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 Prozessorkapazitäten benötigt, die zu einer Codiererimplementation mit erhöhtem Aufwand führt.A disadvantage of the concepts described above the fact that the data for the lossless enhancement layer, d. H. the additional data that is needed to achieve a lossless decoding of the audio signal, must be won in the time domain. This means, that is a complete decoding including a frequency / time conversion required to encode / decode Receive signal in the time domain, so by means of a sample-wise difference between the original audio input signal and the encoded / decoded one Audio signal due to the psychoacoustic Coding is lossy, the error signal is calculated becomes. This concept is particularly relevant disadvantageous that in the encoder which generates the audio data stream, both a complete time-frequency converter, such as B. a filter bank or z. B. requires an MDCT algorithm for the forward transformation is, and at the same time, only to the error signal generate, a complete inverse filter bank or a complete Synthesis algorithm is needed. The encoder must therefore in addition to its inherent encoder functionality also contain the complete decoder functionality. If the encoder is implemented by software, so For this purpose, both storage capacities and processor capacities are used needed to an encoder implementation leads with increased effort.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein weniger aufwendiges Konzept zu schaffen, durch das ein Audiodatenstrom erzeugbar ist, der zumindest nahezu verlustlos decodierbar ist.The object of the present invention is a less elaborate concept by which an audio stream can be generated, which is at least almost lossless is decodable.
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 Anspruch
32 oder 33 gelöst.This object is achieved by a device for coding a
Discrete-time audio signal according to
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Zusatzaudiodaten, die eine verlustlose Decodierung des Audiosignals ermöglichen, dadurch gewonnen werden können, 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, umfaßt aufgrund des Ganzzahl-Transformationsalgorithmus und der gerundeten Quantisierungswerte lediglich ganzzahlige Werte, die auf irgendeine bekannte Art und Weise Entropie-codiert werden können. Es sei darauf hingewiesen, daß zur Entropie-Codierung des Kombinationsblocks beliebige Entropie-Codierer eingesetzt werden können, wie z. B. Huffman-Codierer oder arithmetische Codierer etc.The present invention is based on the knowledge that the additional audio data, a lossless decoding allow the audio signal to be obtained thereby that a block of quantized spectral values as usual is provided, and then inversely quantized, to have inverse quantized spectral values due to quantization by means of a psychoacoustic model are lossy. These inverse quantized spectral values are then rounded to a rounding block of rounded to obtain inverse quantized spectral values. As a reference for difference formation according to the invention a Integer transformation algorithm uses which a block of integer discrete-time samples Integer block of spectral values, which is only integer Spectral values generated. According to the invention now becomes the combination of the spectral values in the rounding block and spectral valuewise in the integer block, ie in the frequency domain performed so that in the encoder itself no Synthesis algorithm, ie an inverse filter bank or a inverse MDCT algorithm etc. is needed. The combination block, which comprises the difference spectral values due to the integer transform algorithm and of the rounded quantization values are only integer ones Values that entropy-encode in some known manner can be. It should be noted that the Entropy coding of the combination block of any entropy coder can be used, such. Huffman coder or arithmetic coders etc.
Zur Codierung der quantisierten Spektralwerte des Quantisierungsblocks können ebenfalls beliebige Codierer eingesetzt werden, wie z. B. die bekannten für moderne Audiocodierer üblichen Werkzeuge.For coding the quantized spectral values of the quantization block can also be used any encoder be such. B. the well-known for modern audio encoder usual tools.
Es sei darauf hingewiesen, daß das erfindungsgemäße Codier/Decodierkonzept kompatibel ist mit modernen Codierwerkzeugen, wie z. B. Fenster-Umschalten, TNS oder Mitte/Seite-Codierung für mehrkanalige Audiosignale. It should be noted that the inventive coding / decoding concept compatible with modern coding tools, such as Window switching, TNS or center / page encoding for multi-channel audio signals.
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.In a preferred embodiment of the present invention Invention is used to provide a quantization block of quantized using a psychoacoustic model Spectral values used an MDCT. Furthermore it is preferred as an integer transform algorithm to use a so-called IntMDCT.
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 ganzzahligen zeitdiskreten Abtastwerten ganzzahlige Spektralwerte erzeugt.In an alternative embodiment of the present invention Invention can be dispensed with the usual MDCT, and it can use the IntMDCT as an approach to the MDCT to the effect that the integer spectrum, that is obtained by the integer transform algorithm is fed to a psychoacoustic quantizer, to obtain quantized IntMDCT spectral values, then again inversely quantized and rounded to coincide with the original integer spectral values. In this case, only a single Transformation is needed, namely the IntMDCT, which is integer discrete-time samples integer spectral values generated.
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.Typically, processors work with integers, or Each floating-point number can be represented as an integer. When using integer arithmetic in a processor is, so can on the rounds of the inverse quantized Spectral values are waived because of arithmetic of the processor anyway rounded values, namely within the accuracy of the LSB, d. H. the least significant bit, available. In this case, a completely lossless Processing achieved, d. H. a processing within the accuracy of the processor system used. alternative However, a rounding to a coarser accuracy be performed, in that the difference signal in the combination block on the by a rounding function specified accuracy is rounded. Introducing a Rounding over the inherent rounding of a processor system in addition, flexibility allows the "degree" to influence the losslessness of the coding in the Meaning of a data compression, a nearly lossless encoder to accomplish.
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 Rundungsfunktion, 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 Audiosignals 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 Darstellung 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 erhalten. The decoder according to the invention is characterized that from the audio data both the psychoacoustically coded Audio data as well as the additional audio data are extracted, subject to possibly existing entropy decoding and then processed as follows. First the quantization block in the decoder becomes inverse quantized and using the same rounding function, which has also been used in the encoder, rounded, then added to the entropy-decoded auxiliary audio data to become. The decoder then has both a psychoacoustically compressed spectral representation of the audio signal as well as a lossless representation of the audio signal before, the psychoacoustically compressed spectral Representation of the audio signal in the time domain implement is a lossy coded / decoded To receive audio signal while the lossless presentation using an integer transform algorithm inverse integer transformation algorithm implemented in the time domain is going to be a lossless or, as it has been stated, to obtain almost lossless coded / decoded audio signal.
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.
- Fig. 1
- a block diagram of a preferred means for processing discrete-time audio samples to obtain integer values from which integer spectral values can be determined;
- Fig. 2
- a schematic representation of the decomposition of an MDCT and an inverse MDCT in Givens rotations and two DCT-IV operations;
- Fig. 3
- a representation to illustrate the decomposition of the MDCT with 50 percent overlap in rotations and DCT-IV operations;
- Fig. 4a
- a schematic block diagram of a known coder with MDCT and 50 percent overlap;
- Fig. 4b
- a block diagram of a known decoder for decoding the values generated by Fig. 4a;
- Fig. 5
- a schematic block diagram of a preferred encoder according to the invention;
- Fig. 6
- a schematic block diagram of an alternative preferred encoder according to the invention;
- Fig. 7
- a schematic block diagram of a preferred according to the invention decoder;
- Fig. 8a
- a schematic representation of a bit stream having a first scaling layer and a second scaling layer;
- Fig. 8b
- a schematic representation of a bit stream with a first scaling layer and a plurality of other scaling layers; and
- Fig. 9
- a schematic representation of binary coded difference spectral values to illustrate possible scaling in terms of accuracy (bits) of the difference spectral values and / or in terms of the frequency (sampling rate) of the difference spectral values.
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. Der in Fig. 5 gezeigte erfindungsgemäße Codierer
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 eingespeist,
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. In the following, with reference to FIGS. 5 to 7 according to the invention
Encoder circuits (FIGS. 5 and 6) or
an inventively preferred decoder circuit (Fig.
7). The inventive encoder shown in Fig. 5
includes an
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 Quantisierungs-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 quantisierte
Spektralwerte umfaßt, die ganzzahlig sind, d. h. inhä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.The encoder according to the invention further comprises a
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. Both the quantization block resulting from the
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
Quantisierungsblocks besteht somit aus der MDCT-Einrichtung
52a und einem Quantisierer 52b.In a first preferred embodiment, such as
it is shown in Fig. 6, the discrete-time audio signal by means of
an MDCT converted into its spectral representation
and then quantized. The
Darüber hinaus wird es bevorzugt, den Ganzzahl-Block mit
einer IntMDCT 56 als ganzzahligem Transformationsalgorithmus
zu erzeugen.In addition, it is preferred to use the integer block
an
In Fig. 6 ist ferner die in Fig. 5 gezeigte Verarbeitungseinrichtung
60 als Bitstrom-Codiereinrichtung 60a zum Bitstrom-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 psychoakustisch
codierten Audiodaten aus, während der Entropie-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 Skalierungsschicht
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.FIG. 6 also shows the processing device shown in FIG
60 as
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 werden,
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 MDCT-Algorithmus im Codierer vorhanden
sein müssen.In an alternative preferred embodiment
the
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 erfindungsgemäße Gewinnung der Zusatzaudiodaten für eine verlustlose Codierung mittels einer Ganzzahl-Transformation ohne Änderung der Codierer/Decodierer-Grundstruktur hinzugefügt werden können.Referring again to Fig. 6, it should be noted that the solid blocks and lines a conventional audio encoders to represent one of the MPEG standards while the dashed blocks and lines the extension of a represent such conventional MPEG encoder. So it's too see that no fundamental change of the usual MPEG encoder are required, but that the inventive Obtaining the additional audio data for a lossless Encoding using an integer transformation without change be added to the encoder / decoder framework can.
Fig. 7 zeigt ein Prinzipblockschaltbild eines erfindungsgemäß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 Bitstrom-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 implementiert
sein kann. In einem decodiererseitigen Kombinierer
78 werden die gerundeten invers quantisierten Spektralwerte
mit den Entropie-codierten Zusatzaudiodaten spektralwertweise
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.Fig. 7 shows a schematic block diagram of an inventive
Decoder for decoding at the
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 Ausgangssignal
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.The output spectral values of the
Im nachfolgenden wird auf eine besondere bevorzugte Ausführungsform
des Entropie-Codierers 60b von Fig. 6 eingegangen.
Nachdem in einem üblichen modernen MPEG-Codierer mehrere
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 Differenz-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 durchgeführt
werden.In the following, a particular preferred embodiment
of the
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 Skalenfaktorband
zugeordnet ist, abgeleitet ist. Da in diesem
bekannten Codiererkonzept ein ungleichmäßiger Quantisierer
verwendet wird, um die gewichteten Spektralwerte zu quantisieren,
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 Codetabelle
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 Seiteninformationen
ü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 an MPEG-2 AAC encoder, the spectral coefficients are
ie the quantized spectral values in the quantization block
grouped into scale factor bands, where the
Spectral values are weighted by a gain factor,
that of a corresponding scale factor, which is a scale factor band
is assigned, is derived. Because in this
known coder concept an uneven quantizer
is used to quantize the weighted spectral values,
depends on the size of the residual values, ie the spectral values
at the output of
In einem Audiocodierer nach dem Standard MPEG-2 AAC wird
eine Fensterumschaltung verwendet, um Vorechos in transienten
Audiosignalbereichen zu vermeiden. Diese Technik basiert
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 Bezug
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 Ganzzahl-Transformationsalgorithmus als auch für den
Transformationsalgorithmus zum Erzeugen des Quantisierungsblocks
dieselben Fensterentscheidungen zu verwenden.In an audio encoder according to the MPEG-2 AAC standard
used a window switch to transpose Vorechos into transients
Avoid audio signal areas. This technique is based
on the possibility of individual window forms in each
Half of the MDCT window, and allows you to
to vary the block size in successive blocks.
Similarly, the integer transform algorithm
in the form of IntMDCT, to the
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 Ganzzahl-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 zuzulassen. Die TNS-Technik basiert auf einer adaptiven Vorwärtsprädiktion der MDCT-Werte über der Frequenz. Dasselbe Prädiktionsfilter, das von einem üblichen TNS-Modul signaladaptiv 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.In a coder according to MPEG-2 AAC moreover exist several other coding tools, of which only TNS (TNS = Temporal Noise Shaping) and center / side (MS) stereo encoding be mentioned. In a TNS encoding will be the same as with MS coding, a modification of the spectral values performed before quantization. Consequently, take the difference between the IntMDCT values, ie the integer block, and the quantized MDCT values. According to the invention is the integer transformation algorithm designed around both TNS coding and center / page coding also allow integer spectral values. The TNS technique is based on adaptive forward prediction the MDCT values over the frequency. The same thing Prediction filter that is signal adaptive from a standard TNS module is calculated, is preferably also to used to predict the integer spectral values, where if this results in non-integer values, one Downstream rounding can be used to get back to generate integer values. This rounding is preferably done after each prediction step. In the decoder the original spectrum can be reconstructed again, by the inverse filter and the same rounding function be used. In a similar way, the MS encoding also applied to IntMDCT spectral values be done by making rounded Givens rotations at an angle of π / 4, based on the lifting scheme. This allows the original IntMDCT values in the Decoders are reconstructed again.
Es sei darauf hingewiesen, daß das erfindungsgemäß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.It should be noted that the inventive concept in its preferred form with the IntMDCT as integer Transformation algorithm on all MDCT-based audio-coded encoder. Only By way of example, such coders are coders 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.It should be particularly noted that the inventive Concept is backwards compatible. The hearse fitted Encoder or decoder is not changed, only extended. Additional information for the lossless components can be backward compatible in listening coded bitstream transmitted, for example, MPEG-2 AAC in the field "Ancillary Data". The addition to the previous one Hearing-matched decoder, which is shown in dashed lines in Fig. 7 is, these additional data can evaluate and together with the quantized MDCT spectrum from the listener-matched decoder reconstruct the IntMDCT spectrum without loss.
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 einer skalierbaren Verarbeitung von Daten der ersten Skalierungsschicht oder Grundlayer hinzugefügt. Ein voll ausgestatteter Codierer kann einen skalierten Datenstrom erzeugen, der eine erste Skalierungsschicht hat, und der prinzipiell beliebig viele weitere Skalierungsschichten 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.The inventive concept of psychoacoustic coding, supplemented by a lossless or almost lossless Coding is particularly suitable for generation, transmission and decoding scalable data streams. It is It is known that scalable data streams have different scaling layers include, at least the lowest Scaling layer independent of the higher scaling layers can be transmitted and decoded. Further Scaling layers or enhancement layers are used in a Scalable processing of data from the first scaling layer or base layer added. A fully equipped Encoder can produce a scaled data stream which has a first scaling layer and which in principle Any number of other scaling layers has. An advantage of the scaling concept is that in In the case where a broadband transmission channel for Available is the scaled data stream generated by the encoder complete, including all scaling layers be transmitted over the broadband transmission channel can. On the other hand, it is only a narrowband transmission channel present, so the coded signal can nevertheless transmitted over the transmission channel, but only in the form of the first scaling layer or a specific one Number of further scaling layers, where the certain number smaller than the whole of the encoder generated number of scaling layers. Of course can the encoder already adapted to the channel, to which he is connected, the basic scaling layer or first scaling layer and one dependent on the channel Create number of further scaling layers.
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.On the decoder side, the scalable concept also has the Advantage that it is backwards compatible. This means, a decoder that is only capable of the first scaling layer to process, just the second and more Scaling layers in the data stream are ignored and on can produce useful output signal. Is the decoder on the other hand, a typically more modern decoder that has multiple Scaling layers from the scaled data stream can process this encoder with the same data stream how a basic decoder is addressed.
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 betrachtet 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.In the present invention, the basic
Scalability in that the quantization block, so the
Output of the
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.Is the transmission channel from the encoder to the decoder on
broadband transmission channel, so both scaling
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 Decodieralgorithmus
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.On the decoder side can be a "basic decoder", which only
can process the psychoacoustically encoded data that
simply omit the
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden, wie es in Fig. 8a schematisch dargestellt ist, wieder in einer ersten Skalierungsschicht die psychoakustisch codierten Daten für einen Frame sein. Die zweite-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.In a preferred embodiment of the present invention Invention, as shown schematically in Fig. 8a is again psychoacoustically in a first scaling layer encoded data for one frame. The second scaling layer of Fig. 8a is now scaled finer, so that from this second scaling layer in FIG. 8a, several scaling layers arise, such as e.g. a (smaller) second scaling layer, a third scaling layer, a fourth scaling layer, 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 Spektralwerte
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 niederstwertige
Bit eines Differenz-Spektralwerts, dar.The difference spectral values output by the
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). In a preferred embodiment of the present invention, precision scaling is performed by taking, for example, the 16 most significant bits of a difference spectral value as the second scaling layer to then be entropy coded by the
On the other hand, if a studio quality audio signal is input to the encoder, that is, an audio sample having samples, each sample comprising 24 bits, the encoder may further generate a third scale layer comprising the last eight bits of a difference spectral value and also entropy as needed is encoded (means 60 of 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.A full-featured decoder that uses the data stream 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 a difference spectral value), so the decoder using all three scale layers lossless coded / decoded audio signal in studio quality, So with one present at the output of the decoder Word width of a sample of 24 bits.
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.It should be noted that higher in the studio area
Word lengths of the samples are common than in the consumer sector.
In the consumer sector, the word width is 16 bits
in an audio CD, while in the
Basierend auf dem Konzept der Skalierung im IntMDCT-Bereich können somit, wie es dargelegt worden ist, alle drei Genauigkeiten (16 Bit, 20 Bit oder 24 Bit) oder beliebige um minimal 1 Bit skalierte Genauigkeiten skalierbar codiert werden.Based on the concept of scaling in the IntMDCT range Thus, as has been shown, all three accuracies (16-bit, 20-bit or 24-bit) or any at minimum 1-bit scaled accuracies are scalable scalable.
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.This will be the audio signal presented with 24-bit accuracy with the help of the inverse IntMDCT in integer Spectral range shown and fitted with an ear MDCT-based audio encoder output scalable combined.
Die ganzzahligen Differenzwerte, die zur verlustlosen Darstellung 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 Restwerte ü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.The integer difference values, the lossless representation are present, are now not completely in a scaling layer coded, but first with lesser Accuracy. Only in another scaling layer become the residual values necessary for the exact representation transfer. Alternatively, however, could also be in another Scaling layer a difference spectral value total, So with 24 bits, for example, be represented, so that for decoding this further scaling layer underlying scaling layer is not needed. However, this scenario leads to a higher overall Bitstream size, but may be when the bandwidth of the Transmission channel is unproblematic, to a simplification in the decoder, because in the decoder then not more scaling layers must be combined, but always only one scaling layer is sufficient for decoding.
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.If, for example, the lower eight LSBs, as shown in FIG. 9 is shown, not initially transmitted, so achieved one scalability between 24 bits and 16 bits.
Zur Rücktransformation der mit geringerer Genauigkeit übertragenen Werte in den Zeitbereich 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.For retransforming the lower-precision transmitted values into the time domain, the transmitted values are preferably scaled back to the original range, for example 24 bits, by multiplying them by 2 8, for example. An inverse IntMDCT is then applied to the corresponding scaled-back values.
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.In the inventive accuracy scaling in the frequency domain it is also preferred, the redundancy in the LSBs. Has an audio signal, for example in the upper frequency range very little energy, so expresses this also applies to the IntMDCT spectrum in very small values, for example, much smaller than the z. B. at 8 bits are possible values (-128, ..., 127). This expresses in compressibility of the LSB values of the IntMDCT spectrum. It should also be noted that at very small difference spectral values typically a number of bits from MSB to MSB-n are equal to zero, and then that first with a bit with a weight MSB-n-1 the first, leading 1 in a binary coded difference spectral value occurs. In such a case, if a difference spectral value only zeros in the second scaling layer includes an entropy coding is suitable for further Data compression especially good.
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.According to another embodiment of the present invention
Invention is for the
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. In a preferred embodiment of the present invention The invention includes the second scaling layer in FIG. 9 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.
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 Frequenzen umfassen. Dieses Konzept wird zu einer Aufteilung des Tableaus in Fig. 9 in vier Quadranten führen, wobei jeder Quadrant eine Skalierungsschicht darstellt.It should also be noted that in the second scaling layer and the third scale layer not necessarily all bits of a difference spectral value must be coded. So could in one another form of combined scalability the second Scaling layer, the bits MSB to MSB-x of the difference spectral values up to a certain cutoff frequency. A third scaling layer could then be the bits MSB to MSB-x of the difference spectral values from the first one Limit frequency up to the maximum frequency include. A fourth scaling layer could then be the remaining bits for the difference spectral values up to the cutoff frequency. The last scaling layer could then be the rest Bits of the difference spectral values for the upper frequencies include. This concept becomes a division of the panel in Fig. 9 in four quadrants, each Quadrant represents a scaling layer.
Bei der frequenzmäßigen Skalierbarkeit wird bei einem bevorzugtem 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.In the frequency scalability is at a preferred Embodiment of the present invention a scalability between 48 kHz and 96 kHz sampling rate described. The 96 kHz sample signal is in the IntMDCT range in the lossless extension layer first only up to half coded and transmitted. If the upper Part is not transmitted in addition, it is in the decoder assumed to be zero. In the case of the inverse IntMDCT (same Length as in the encoder) then creates a 96 kHz signal, the in the upper frequency range contains no energy and therefore be scanned to 48 kHz without loss of quality can.
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.The above scaling of the difference spectral values in Quadrant of Fig. 9 with fixed limits is in terms the size of the scaling layers low, because in one Scaling layer actually only z. B. 16 bits or 8 bits or the spectral values up to the cutoff frequency or must be included over the cutoff frequency.
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 beeinträ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 Spektralwerte 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 Spektralwerten.An alternative scaling is the quadrant boundaries in Fig. 9 in a sense "soften". Exemplary frequency scalability would mean that, not one so-called "brickwall low-pass filter" to apply, that the difference spectral values before a cutoff frequency unchanged are equal to zero after the cutoff frequency. Instead, the difference spectral values could also be used with be filtered by any low-pass filter that the Spectral values below the cutoff frequency already somewhat impaired, but above the cutoff frequency leads to that energy is still present here as well, although the Differential spectral values are decreasing in terms of energy. In a then generated scaling layer are also contain spectral values above the cutoff frequency. There however, these spectral values are relatively small, they are efficiently encoded by entropy coding. The highest scaling layer would have the difference in this case between the complete difference spectral values and the spectral values contained in the second scaling layer.
Ä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.The accuracy scaling can be similar in a sense be softened. So can the first scaling layer also spectral values with z. B. have more than 16 bits, where next scaling layer then has the difference. Generally speaking, the second scaling layer thus the difference spectral values with lower accuracy, while in the next scaling layer the rest, so the difference between the complete spectral values and the spectral values contained in the second scaling layer is transmitted. This is a variable accuracy reduction reached.
Das erfindungsgemäße Verfahren zum Codieren bzw. Decodieren ist vorzugsweise auf einem digitalen Speichermedium, wie z. B. einer Diskette, mit elektronisch auslesbaren Steuersignalen 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 maschinenlesbaren 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-Pogramm mit einem Programmcode zur Durchführen der erfindungsgemäßen Verfahren, wenn das Programm auf einem Computer abläuft, realisiert sein.The inventive method for encoding or decoding is preferably on a digital storage medium such. As a floppy disk, with electronically readable control signals stored, the control signals so with a programmable computer system can work together, that the coding and / or decoding method are carried out can / can. In other words, that is a computer program product with on a machine readable Carrier stored program code for performing the Coding method and / or the decoding method, if the program product runs on a computer. The invention So procedures can be in a computer program with a program code for carrying out the invention Procedure if the program is on a computer expires, be realized.
Im nachfolgenden wird als Beispiel für einen ganzzahligen
Transformationsalgorithmus auf den IntMDCT-Transformationsalgorithmus
eingegangen, der in "Audio Coding
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.The following is an example of an integer
Transformation algorithm to the IntMDCT transformation algorithm
entered in "Audio Coding
Based on Integer Transforms' 111th AES Assembly,
New York, 2001, is described. The IntMDCT is special
cheap because it has the attractive features of MDCT,
such as B. a good spectral representation of the audio signal,
has a critical scan and a block overlap.
The good approximation of MDCT by an IntMDCT
further allows, in the encoder shown in Fig. 5 only
to use a transformation algorithm as determined by
an
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 ganzzahligen
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 lediglich
N Spektralwerte erzeugt.Fig. 1 shows an overview diagram for the invention
preferred device for processing discrete-time
Samples that represent an audio signal to integer ones
Obtaining values based on the int MDCT integer transform algorithm
is working. The discrete-time ones
Samples are passed through the device shown in FIG
fenestrated and optionally in a spectral representation
implemented. The discrete-time samples that are connected to a
Zum Fenstern der zeitdiskreten Abtastwerte werden zunächst
in einer Einrichtung 16 zwei zeitdiskrete Abtastwerte ausgewählt,
die zusammen einen Vektor von zeitdiskreten Abtastwerten
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 mittels
mehrerer sogenannten Lifting-Matrizen.For windowing the discrete-time samples are first
in a
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.A lifting matrix has the property of being only one Element, which depends on the window w and unequal Is "1" or "0".
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 faktorisiert werden. Insbesondere gilt dies für Givens Rotationen. Es sei der Fall betrachtet, bei dem die Polyphasenmatrix eine Givens-Rotation ist. Es gilt dann: Factorization of wavelet transforms in lifting steps is presented in the technical publication "Factoring Wavlet Transforms Into Lifting Steps", Ingrid Daubechies and Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996. Generally, a lifting scheme is a simple relationship between perfectly reconstructive filter pairs having the same low pass or high pass filter. Each pair of complementary filters can be factored into lifting steps. This applies in particular to Givens Rotations. Consider the case where the polyphase matrix is a Givens rotation. It then applies:
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.Each of the three lifting matrices to the right of the equals sign has the value "1" as main diagonal elements. Furthermore, in each lifting matrix is a secondary diagonal element equal to 0, and a minor diagonal element from the rotational angle α dependent.
Der Vektor wird nunmehr mit der dritten Lifting-Matrix, d.
h. der Liftingmatrix ganz rechts in obiger Gleichung, multipliziert,
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 gefensterte
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.The vector is now filled with the third lifting matrix, i.
H. the lifting matrix on the far right in the above equation, multiplied,
to get a first result vector.
This is illustrated in FIG. 1 by a
Vorzugsweise ist die Einrichtung 14 als Ganzzahl-DCT oder
Integer-DCT ausgeführt.Preferably, the
Die diskrete Kosinus-Transformation gemäß Typ 4 (DCT-IV) mit einer Länge N ist durch folgende Gleichung gegeben: The Discrete Cosine Transform of Type 4 (DCT-IV) of length N is given by the following equation:
Die Koeffizienten der DCT-IV bilden eine orthonormale N x N Matrix. Jede orthogonale N x N-Matrix kann in N (N-1)/2 Givens-Rotationen zerlegt werden, wie es in der Fachveröffentlichung P. P. Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993, ausgeführt ist. Es sei darauf hingewiesen, daß auch weitere Zerlegungen existieren.The coefficients of the DCT-IV form an orthonormal N x N Matrix. Each orthogonal N x N matrix can be transformed into N (N-1) / 2 Givens rotations be decomposed, as in the technical publication P. P. Vaidyanathan, "Multirate Systems And Filter Banks ", Prentice Hall, Englewood Cliffs, 1993 is. It should be noted that also further decompositions exist.
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 Cosinus-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 Basisfunktion
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 Gegensatz
zur Videocodierung der Gleichanteil nicht von Relevanz
ist.Regarding the classifications of the different DCT algorithms
to H. S. Malvar, "Signal Processing With
Lapped Transforms, "Artech House, 1992. General
the DCT algorithms differ by type
their basic functions. While the DCT-IV, which prefers here
is comprised of non-symmetric basis functions, i. H.
a cosine quarter-wave, a
Im nachfolgend wird darauf eingegangen, wie der Drehwinkel α der Givens-Rotation von der Fensterfunktion abhängt.In the following will be discussed how the angle of rotation α of the Givens rotation depends on the window function.
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:
An MDCT with a window length of 2N can be reduced into a discrete cosine transformation of type IV with a length N. This is accomplished by explicitly performing the TDAC operation in the time domain and then applying the DCT-IV. For a 50% overlap, the left half of the window for a block t overlaps the right half of the previous block, ie, the block t-1. The overlapping part of two consecutive blocks t-1 and t is preprocessed in the time domain, ie before the transformation, as follows, ie processed between the
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.
hinter der Einrichtung 16 zum Auswählen sind. Der Laufindex
k läuft von 0 bis N/2-1, während w die Fensterfunktion darstellt.The values denoted by the tilde are the values at the
Aus der TDAC-Bedingung für die Fensterfunktion w gilt folgender Zusammenhang: From the TDAC condition for the window function w, the following relationship applies:
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. For certain angle α k, k = 0, ..., N / 2-1, this preprocessing may be written in the time domain as a Givens rotation, as it has been executed.
Der Winkel α der Givens-Rotation hängt folgendermaßen von
der Fensterfunktion w ab:
Es sei darauf hingewiesen, daß beliebige Fensterfunktionen w eingesetzt werden können, solange sie diese TDAC-Bedingung erfüllen.It should be noted that any window functions w can be used as long as they have this TDAC condition fulfill.
Im nachfolgenden wird anhand von Fig. 2 ein kaskadierter
Codierer und Decodierer beschrieben. Die zeitdiskreten Abtastwerte
x(0) bis x(2N-1), 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-1), 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 Lifting-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.In the following, with reference to FIG. 2, a cascaded
Encoder and decoder described. The discrete-time samples
x (0) to x (2N-1), which share a window
"windowed", are initially so through the
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 gefensterte
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-1). 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.If the first vector is processed as described above,
Furthermore, a second vector of the samples x (N / 2-1)
and x (N / 2), d. H. again a sample from the first one
Quarter of the window and one sample from the second
Quarter of the window, selected and in turn by the in
Fig. 1 described algorithm processed. Similarly
all other pairs of samples from the first and
second quarter of the window worked. The same processing
will be for the third and fourth quarters of the first
Window performed. Now there are 2N windowed windows at the
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 inverse 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-1) zu erzeugen. In the right half of Fig. 2, a decoder is shown. The decoder consisting of inverse transformation and "inverse windowing" works inverse to the encoder. It is it is known that an inverse of the reverse transformation of a DCT-IV DCT-IV can be used as shown in FIG is. The output values of the decoder DCT-IV 34 become now, as shown in Fig. 2, with the corresponding Values of the previous transformation or the subsequent transformation is inversely processed to the integer windowed samples at the output of the Device 34 or the preceding and following Transformation again discrete-time audio samples x (0) to produce x (2N-1).
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 durchlaufen
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 Ausdruck:
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
Die inverse Abbildung (im Decodierer) ist folgendermaßen
definiert:
Aufgrund dem Minuszeichens vor der Rundungsoperation wird ersichtlich, daß die ganzzahlige Approximierung des Lifting-Schritts umgekehrt werden kann, ohne daß ein Fehler eingeführt wird. Die Anwendung dieser Approximation auf jeden der drei Lifting-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.Due to the minus sign before the rounding operation becomes It can be seen that the integer approximation of the lifting step can be reversed without an error is introduced. The application of this approximation to each The three lifting steps leads to an integer Approximation of the Givens rotation. The rounded rotation (in the encoder) can be reversed (in the decoder), without that an error is introduced by the inverse ones rounded lifting steps in reverse order to go through, d. H. when decoding the algorithm of Fig. 1 is carried out from bottom to top.
Wenn die Rundungsfunktion r punktsymmetrisch ist, ist die inverse gerundete Rotation identisch zu der gerundeten Rotation mit dem Winkel -α und lautet folgendermaßen: If the rounding function r is point symmetric, then the inverse rounded rotation is identical to the rounded rotation with the angle -α and reads as follows:
Die Lifting-Matrizen für den Decodierer, d. h. für die inverse Givens-Rotation, ergibt sich in diesem Fall unmittelbar aus Gleichung (1), indem lediglich der Ausdruck "sin" durch den Ausdruck "-sin α" ersetzt wird.The lifting matrices for the decoder, d. H. for the inverse Givens rotation, arises in this case immediately from equation (1), merely using the expression "sin" is replaced by the term "-sin α".
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 darauffolgenden
Fensters gemeinsam mittels eines DCT-IV-Algorithmus
in eine spektrale Darstellung umgesetzt wird. In the following, with reference to FIG. 3 again
Disassembly of a standard MDCT with overlapping
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.It therefore becomes the usual Givens rotation in lifting matrices decomposed, which are executed sequentially, where after each lifting matrix multiplication a rounding step is introduced, such that the floating point numbers be rounded immediately after their formation, that before each multiplication of a result vector with a Lifting matrix the result vector only integers Has.
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 Wertebereich 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 Rotationen in umgekehrter Reihenfolge ausgeführt werden. Es existiert somit eine ganzzahlige Approximation der MDCT mit perfekter Rekonstruktion, also eine verlustlose Transformation.The output values therefore always remain integer, whereby it it is preferred to also use integer input values. This is not a limitation, as any example PCM samples as stored on a CD are, are integer numerical values whose value range varies depending on the bit width, d. H. depending on whether the time-discrete digital input values 16-bit values or 24-bit values are. Still, that's how it's been done is, the entire process is invertible by the inverse Rotations are performed in reverse order. It Thus there exists an integer approximation of the MDCT perfect reconstruction, ie a lossless transformation.
Die gezeigte Transformation liefert ganzzahlige Ausgangswerte 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 eine Zerlegung der Rotationen in Lifting-Schritte möglich ist.The transformation shown provides integer output values instead of floating-point values. It provides a perfect reconstruction, so no mistake is introduced if one Forward and then a reverse transformation executed become. The transformation is according to a preferred embodiment the present invention is a substitute for the modified discrete cosine transformation. Others too However, transformation techniques can be performed in integers be as long as a decomposition into rotations and one Disassembly of the rotations in lifting steps possible is.
Die ganzzahlige MDCT hat die meisten günstigen Eigenschaften 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 berücksichtigt wird, wird eine kritische Abtastung beibehalten, so daß die Gesamtanzahl von Spektralwerten, die ein Audiosignal darstellen, gleich der Gesamtanzahl von Eingangs-Abtastwerten ist.The integer MDCT has the most favorable features the MDCT. It has an overlapping structure, which means a better frequency selectivity than non-overlapping ones Block transformations is obtained. by virtue of the TDAC function already in the window before the transformation is taken into account, becomes a critical scan maintained so that the total number of spectral values, which represent an audio signal, equal to the total number of input samples.
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 diese 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.Compared to a normal MDCT, the floating-point samples shows, shows in the described preferred integer transformation that only in the Spectral range in which there is little signal level, the noise compared to normal MDCT is increased while up this Rauscherhöhung not at significant signal levels makes noticeable. This is the integer processing for an efficient hardware implementation, since only multiplication steps are used without more in move-add steps (shift / add steps) can be disassembled, which is easy and fast can be implemented in hardware. Of course is also a software implementation possible.
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 beschriebene 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.The integer transformation provides a good spectral Presentation of the audio signal and still remains in the range the whole numbers. When referring to tonal parts of an audio signal is applied, this results in a good E-nergiekonzentrierung. This can be an efficient lossless Coding scheme can be constructed by simply placing the in Fig. 1 shown fenestration / transformation with a Entropy coder is cascaded. In particular, a stacked Coding (Stacked Coding) Using Escape Values, as it is used in MPEG AAC, is favorable. It is preferable to set all values by a certain power of Shorten two until they are in a desired code table fit, and then the omitted low-order ones Code bits in addition. Compared to the alternative the use of larger code tables is the one described Alternative in terms of memory consumption to save the code tables cheaper. An almost lossless Encoder could also be obtained by: simply omit certain of the least significant bits become.
Insbesondere für tonale Signale ermöglicht eine Entropie-Codierung der ganzzahligen Spektralwerte einen hohen Codiergewinn. Für transiente Teile des Signals ist der Coergewinn niedrig, und zwar aufgrund des flachen 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.In particular for tonal signals allows entropy coding the integer spectral values have a high coding gain. For transient parts of the signal is the Coergewinn low, due to the flat spectrum transient signals, d. H. due to a small number spectral values that are equal or close to zero. Like it in J. Herre, J.D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS) "101st AES Convention, Los Angeles, 1996, Preprint 4384, however, this flatness can be used be, by a linear prediction in the frequency domain is used. An alternative is a prediction with open loop. Another alternative is the predictor with closed loop. The first alternative, d. H. the open-loop predictor is called TNS. The quantization after the prediction leads to an adaptation of the resulting quantization noise to the temporal structure of the audio signal and therefore prevents Vorechos in psychoacoustic audio encoders. For a lossless Audio coding is the second alternative, d. H. with a closed loop predictor, more appropriate, because closed-loop prediction is accurate Reconstruction of the input signal allowed. If those Technique applied to a generated spectrum must be Rounding step after each step of the prediction filter be performed to stay in the range of integers. By using the inverse filter and the same Rounding function can accurately restore the original spectrum getting produced.
Um die Redundanz zwischen zwei Kanälen zur Datenreduktion auszunutzen, kann auch eine Mitte-Seite-Codierung verlustlos eingesetzt werden, wenn eine gerundete Rotation mit einem Winkel □/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 sogenannter 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.To the redundancy between two channels for data reduction can also exploit a mid-page coding lossless be used when a rounded rotation with an angle □ / 4 is used. Compared to the alternative of calculating the sum and difference of the left and right channel of a stereo signal has the rounded rotation the advantage of energy conservation. The use of so-called Joint-stereo coding techniques can be used for each band be turned on or off, as it is in the standard MPEG AAC is performed. Other angles of rotation can also be taken into account for a redundancy between two channels more flexible to reduce.
Claims (33)
- Apparatus for coding a time-discrete audio signal to obtain coded audio data, comprising:means (52) for providing a quantization block of spectral values of the time-discrete audio signal quantized using a psychoacoustic model (54);means (58) for inversely quantizing the quantization block and for rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values;means (56) for generating an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples;combination means (58) for forming a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values; andmeans (60) for processing the quantization block and the difference block to generate coded audio data including information on the quantization block and information on the difference block.
- Apparatus of claim 1, wherein means (52) for providing is formed to
generate a MDCT block of MDCT spectral values from a time block of temporal audio signal values by means of an MDCT, and
quantize the MDCT block using a psychoacoustic model to generate the quantization block comprising quantized MDCT spectral values. - Apparatus of claim 2,
wherein the means (56) for generating the integer block is formed to execute an IntMDCT on the time block to generate the integer block comprising IntMDCT spectral values. - Apparatus of one of the preceding claims,
wherein the means (52) for providing is formed to calculate the quantization block using a floating-point transform algorithm. - Apparatus of one of claims 1 to 3,
wherein the means (52) for providing is formed to calculate the quantization block using the integer block generated by means (56) for generating. - Apparatus of one of the preceding claims,
wherein the means (60) for processing is formed to subject (60a) the quantization block to entropy coding, to obtain an entropy-coded quantization block,
to subject (60b) the rounding block to entropy coding, to obtain an entropy-coded rounding block, and
to convert the entropy-coded quantization block to a first scaling layer of a scaled data stream representing the coded audio data, and to convert the entropy-coded rounding block to a second scaling layer of the scaled data stream. - Apparatus of claim 6,
wherein the means (60) for processing is further formed to use one of the plurality of code tables depending on the quantized spectral values for the entropy coding of the quantization block, and
wherein the means (60) for processing is further formed to select one of a plurality of code tables depending on a property of a quantizer usable in a quantization for generating the quantization block for the entropy coding of the difference block. - Apparatus of one of the preceding claims,
wherein the means (52) for providing is formed to use one of a plurality of windows for windowing a temporal block of audio signal values depending on a property of the audio signal, and
wherein the means (56) for generating is formed to make the same window selection for the integer transform algorithm. - Apparatus of one of claims 1 to 8,
wherein the means for generating is formed to use an integer transform algorithm, comprising:windowing the time-discrete samples with a window (w) with a length corresponding to 2N time-discrete samples, to provide windowed time-discrete samples for a conversion of the time-discrete samples to a spectral representation by means of a transform capable of generating N output values from N input values, wherein the windowing comprises the following substeps:selecting (16) a time-discrete sample from a quarter of the window and a time-discrete sample from another quarter of the window to obtain a vector of time-discrete samples;applying a square rotation matrix the dimension of which matches the dimension of the vector to the vector, wherein the rotation matrix is representable by a plurality of lifting matrices, wherein a lifting matrix only comprises one element dependent on the window (w) and being unequal to 1 or 0, wherein the substep of applying comprises the following substeps:multiplying (18) the vector by a lifting matrix to obtain a first result vector;rounding (20) a component of the first result vector with a rounding function (r) mapping a real number to an integer to obtain a rounded first result vector; andsequentially performing the steps of multiplying (22) and rounding (24) with another lifting matrix, until all lifting matrices are processed, to obtain a rotated vector comprising an integer windowed sample from the quarter of the window and an integer windowed sample from the other quarter of the window, andperforming the step of windowing for all time-discrete samples of the remaining quarters of the window to obtain 2N filtered integer values; andconverting (14) N windowed integer samples to a spectral representation by an integer DCT for values with the filtered integer samples of the second quarter and the third quarter of the window, to obtain N integer spectral values. - Apparatus of one of the preceding claims,
wherein the means (52) for providing the quantization block is formed to perform a prediction of spectral values over the frequency using a prediction filter prior to a quantization step (52b), to obtain prediction residual spectral values representing the quantization block after a quantization;
wherein also a prediction means is provided, which is formed to perform a prediction over the frequency of the integer spectral values of the integer block, wherein also rounding means is provided to round prediction residual spectral values due to the integer spectral values representing the rounding block. - Apparatus of one of the preceding claims,
wherein the time-discrete audio signal comprises at least two channels,
wherein the means (52) for providing is formed to perform center/side coding with spectral values of the time-discrete audio signal to obtain the quantization block after quantization of center/side spectral values, and
wherein the means (56) for generating the integer block is formed to also perform center/side coding corresponding to the center/side coding of the means (52) for providing. - Apparatus of one of the preceding claims,
wherein the means (60) for processing is formed to generate a MPEG-2 AAC data stream, wherein in a field Ancillary Data ancillary information for the integer transform algorithm is introduced. - Apparatus of one of the preceding claims,
wherein the means for processing (60) is formed to output the coded audio data as data stream with a plurality of scaling layers. - Apparatus of claim 13,
wherein the means for processing (60) is formed to insert information on the quantization block into a first scaling layer (81), and to insert information on the difference block into a second scaling layer (82). - Apparatus of claim 13,
wherein the means for processing (60) is formed to insert information on the quantization block into a first scaling layer, and to insert the information on the difference block into at least a second and a third scaling layer. - Apparatus of claim 15,
wherein in the second scaling layer difference spectral values with reduced accuracy are contained, and in one or more higher scaling layers a residual part of the difference spectral values is contained. - Apparatus of claim 15 or 16,
wherein the information on the difference block includes binarily coded difference spectral values,
wherein the second scaling layer for difference spectral values includes a number of bits from a most significant bit (MSB) to a less significant bit (MSB-x) for a difference spectral value, and
wherein the third scaling layer includes a number of bits starting from a less significant bit (MSB-x-1) to a least significant bit (LSB). - Apparatus of claim 17,
wherein the time-discrete audio signal is present in form of samples with a width of 24 bits, and
wherein the means for processing (60) is formed to insert more significant 16 bits of difference spectral values into the second scaling layer, and to insert residual 8 bits of a difference spectral value into the third scaling layer, so that a decoder reaches CD quality using the second scaling layer, wherein a decoder reaches studio quality using also the third scaling layer. - Apparatus of claim 15,
wherein the means (60) for processing is formed to insert at least part of difference spectral values for representation of a low-pass filtered signal into a second scaling layer, and to insert a difference between the difference spectral values in the second scaling layer and original difference spectral values into at least one further scaling layer. - Apparatus of claim 15 or 19,
wherein the means (60) for processing is formed to insert at least part of different spectral values up to a certain cut-off frequency into a second scaling layer, and to insert at least part of difference spectral values from the certain cut-off frequency to a higher frequency into a third scaling layer. - Method of coding a time-discrete audio signal to obtain coded audio data, comprising:providing (52) a quantization block of spectral values of a time-discrete audio signal quantized using a psychoacoustic model (54);inversely quantizing (58) the quantization block and rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values;generating (56) an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples;forming (58) a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values; andprocessing (60) the quantization block and the difference block to generate coded audio data including information on the quantization block and information on the difference block.
- Apparatus for decoding coded audio data having been generated from a time-discrete audio signal by providing (52) a quantization block of spectral values of the time-discrete audio signal quantized using a psychoacoustic model (54), by inversely quantizing (58) the quantization block and rounding the inversely quantized spectral values to obtain a rounding block of rounded inversely quantized spectral values, by generating (56) of an integer block of integer spectral values using an integer transform algorithm formed to generate the integer block of spectral values from a block of integer time-discrete samples, and by forming (58) a difference block depending on a spectral value-wise difference between the rounding block and the integer block, to obtain a difference block with difference spectral values, comprising:means (70) for processing the coded audio data to obtain a quantization block and a difference block;means (74) for inversely quantizing and rounding the quantization block to obtain an integer inversely quantized quantization block;means (78) for spectral value-wise combining the integer quantization block and the difference block to obtain a combination block; andmeans (82) for generating a temporal representation of the time-discrete audio signal using the combination block and using an integer transform algorithm inverse to the integer transform algorithm.
- Apparatus for decoding of claim 22,
wherein the coded audio data is scaled and includes a plurality of scaling layers,
wherein the means (70) for processing the coded audio data is formed to ascertain the quantization block from the coded audio data as first scaling layer, and to ascertain the difference block from the coded audio data as second scaling layer. - Apparatus of claim 22,
wherein the information on the difference block includes binarily coded difference spectral values,
wherein the coded audio data is scaled and includes a plurality of scaling layers,
wherein the means (70) for processing the coded audio data is formed to ascertain the quantization block from the coded audio data as first scaling layer, and to extract a representation of the difference spectral values with reduced accuracy as second scaling layer. - Apparatus of claim 24,
wherein the means (70) for processing the coded audio data is formed to extract a number of bits starting from a most significant bit to a less significant bit, which is more significant than a least significant bit of a difference spectral value, as second scaling layer, and
wherein the means (82) for generating a temporal representation of the time-discrete audio signal is formed to synthetically generate missing bits for a difference spectral value before using the integer transform algorithm. - Apparatus of claim 25,
wherein the means (82) is formed to perform an upscaling of the second scaling layer for the synthetical generation, wherein in the upscaling a scale factor is used, which equals 2n, wherein n is the number of less significant bits not contained in the second scaling layer, or to employ a dithering algorithm for the synthetical generation. - Apparatus of claim 22,
wherein the coded audio data is scaled and includes a plurality of scaling layers, and
wherein the means (70) for processing coded audio data is formed to ascertain the quantization block from the coded audio data as first scaling layer, and to ascertain low-pass filtered difference spectral values as second scaling layer. - Apparatus of claim 22 or 27,
wherein the coded audio data is scaled and includes a plurality of scaling layers, and
wherein the means (70) for processing the coded audio data is formed to ascertain the quantization block of the coded data as first scaling layer, and to ascertain difference spectral values up to a first cut-off frequency as second scaling layer, wherein the first cut-off frequency is smaller than the maximum frequency of a difference spectral value, which may be generated in a coder. - Apparatus of claim 28,
wherein the means (82) for generating a temporal representation is formed to set input values in an integer transform algorithm of full length, which are above the cut-off frequency of the second scaling layer, to a predetermined value, and to downsample the temporal representation of the time-discrete audio signal after using the inverse integer transform algorithm by a factor chosen corresponding to a ratio of a maximum frequency of a difference spectral value, which may be generated by a coder, and the cut-off frequency. - Apparatus of claim 29,
wherein the predetermined value for all input values above the cut-off frequency is zero. - Method of decoding coded audio data having been generated from a time-discrete audio signal by providing, inversely quantizing, generating, forming, and processing, comprising:processing (70) the coded audio data to obtain a quantization block and a difference block;inversely quantizing (74) the quantization block and rounding to obtain an integer inversely quantized quantization block;spectral value-wise combining (78) the integer quantization block and the difference block to obtain a combination block; andgenerating (82) a temporal representation of the time-discrete audio signal using a combination block and using an integer transform algorithm inverse to the integer transformation algorithm.
- Computer program with a program code for performing the method of coding of claim 21, when the program is executed on a computer.
- Computer program with a program code for performing the method of decoding of claim 31, when the program is executed on a computer.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10217297A DE10217297A1 (en) | 2002-04-18 | 2002-04-18 | Device and method for coding a discrete-time audio signal and device and method for decoding coded audio data |
DE10217297 | 2002-04-18 | ||
PCT/EP2002/013623 WO2003088212A1 (en) | 2002-04-18 | 2002-12-02 | Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1495464A1 EP1495464A1 (en) | 2005-01-12 |
EP1495464B1 true EP1495464B1 (en) | 2005-09-28 |
Family
ID=28798541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP02792858A Expired - Lifetime EP1495464B1 (en) | 2002-04-18 | 2002-12-02 | Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP1495464B1 (en) |
JP (1) | JP4081447B2 (en) |
KR (1) | KR100892152B1 (en) |
CN (1) | CN1258172C (en) |
AT (1) | ATE305655T1 (en) |
CA (1) | CA2482427C (en) |
DE (2) | DE10217297A1 (en) |
HK (1) | HK1077391A1 (en) |
WO (1) | WO2003088212A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008052627A1 (en) * | 2006-11-02 | 2008-05-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device and method for postprocessing spectral values and encoder and decoder for audio signals |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007507790A (en) * | 2003-09-29 | 2007-03-29 | エージェンシー フォー サイエンス,テクノロジー アンド リサーチ | Method for converting a digital signal from time domain to frequency domain and vice versa |
US8446947B2 (en) * | 2003-10-10 | 2013-05-21 | Agency For Science, Technology And Research | Method for encoding a digital signal into a scalable bitstream; method for decoding a scalable bitstream |
DE102004007200B3 (en) * | 2004-02-13 | 2005-08-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device for audio encoding has device for using filter to obtain scaled, filtered audio value, device for quantizing it to obtain block of quantized, scaled, filtered audio values and device for including information in coded signal |
DE102004007184B3 (en) * | 2004-02-13 | 2005-09-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for quantizing an information signal |
DE102004059979B4 (en) | 2004-12-13 | 2007-11-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device and method for calculating a signal energy of an information signal |
JP2009500657A (en) | 2005-06-30 | 2009-01-08 | エルジー エレクトロニクス インコーポレイティド | Apparatus and method for encoding and decoding audio signals |
US7765104B2 (en) | 2005-08-30 | 2010-07-27 | Lg Electronics Inc. | Slot position coding of residual signals of spatial audio coding application |
KR100857120B1 (en) | 2005-10-05 | 2008-09-05 | 엘지전자 주식회사 | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
US7716043B2 (en) | 2005-10-24 | 2010-05-11 | Lg Electronics Inc. | Removing time delays in signal paths |
EP1852849A1 (en) * | 2006-05-05 | 2007-11-07 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream |
EP1883067A1 (en) * | 2006-07-24 | 2008-01-30 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream |
EP1903559A1 (en) | 2006-09-20 | 2008-03-26 | Deutsche Thomson-Brandt Gmbh | Method and device for transcoding audio signals |
DE102007003187A1 (en) * | 2007-01-22 | 2008-10-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating a signal or a signal to be transmitted |
KR101149448B1 (en) | 2007-02-12 | 2012-05-25 | 삼성전자주식회사 | Audio encoding and decoding apparatus and method thereof |
EP2015293A1 (en) * | 2007-06-14 | 2009-01-14 | Deutsche Thomson OHG | Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain |
ES2658942T3 (en) * | 2007-08-27 | 2018-03-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Low complexity spectral analysis / synthesis using selectable temporal resolution |
EP2063417A1 (en) * | 2007-11-23 | 2009-05-27 | Deutsche Thomson OHG | Rounding noise shaping for integer transform based encoding and decoding |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
BRPI0914056B1 (en) * | 2008-10-08 | 2019-07-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | MULTI-RESOLUTION SWITCHED AUDIO CODING / DECODING SCHEME |
CN102918590B (en) * | 2010-03-31 | 2014-12-10 | 韩国电子通信研究院 | Encoding method and device, and decoding method and device |
US20120029926A1 (en) | 2010-07-30 | 2012-02-02 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
JP5799707B2 (en) * | 2011-09-26 | 2015-10-28 | ソニー株式会社 | Audio encoding apparatus, audio encoding method, audio decoding apparatus, audio decoding method, and program |
EP2830058A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Frequency-domain audio coding supporting transform length switching |
CN105632503B (en) * | 2014-10-28 | 2019-09-03 | 南宁富桂精密工业有限公司 | Information concealing method and system |
US10339947B2 (en) | 2017-03-22 | 2019-07-02 | Immersion Networks, Inc. | System and method for processing audio data |
EP3471271A1 (en) * | 2017-10-16 | 2019-04-17 | Acoustical Beauty | Improved convolutions of digital signals using a bit requirement optimization of a target digital signal |
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 (en) * | 2017-11-13 | 2018-04-13 | 南京大学 | Based on the distributed optical fiber vibration sensing data lossless compression method for decomposing compression |
EP3738074A4 (en) | 2018-01-08 | 2021-10-13 | Immersion Networks, Inc. | Methods and apparatuses for producing smooth representations of input motion in time and space |
US11817111B2 (en) | 2018-04-11 | 2023-11-14 | Dolby Laboratories Licensing Corporation | Perceptually-based loss functions for audio encoding and decoding based on machine learning |
DE102019204527B4 (en) * | 2019-03-29 | 2020-11-19 | Technische Universität München | CODING / DECODING DEVICES AND METHODS FOR CODING / DECODING VIBROTACTILE SIGNALS |
KR102250835B1 (en) * | 2019-08-05 | 2021-05-11 | 국방과학연구소 | A compression device of a lofar or demon gram for detecting a narrowband of a passive sonar |
-
2002
- 2002-04-18 DE DE10217297A patent/DE10217297A1/en not_active Withdrawn
- 2002-12-02 KR KR1020047016744A patent/KR100892152B1/en active IP Right Grant
- 2002-12-02 JP JP2003585070A patent/JP4081447B2/en not_active Expired - Lifetime
- 2002-12-02 WO PCT/EP2002/013623 patent/WO2003088212A1/en active IP Right Grant
- 2002-12-02 CN CNB028289749A patent/CN1258172C/en not_active Expired - Lifetime
- 2002-12-02 DE DE50204426T patent/DE50204426D1/en not_active Expired - Lifetime
- 2002-12-02 AT AT02792858T patent/ATE305655T1/en active
- 2002-12-02 CA CA002482427A patent/CA2482427C/en not_active Expired - Lifetime
- 2002-12-02 EP EP02792858A patent/EP1495464B1/en not_active Expired - Lifetime
-
2005
- 2005-10-20 HK HK05109316A patent/HK1077391A1/en not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008052627A1 (en) * | 2006-11-02 | 2008-05-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device and method for postprocessing spectral values and encoder and decoder for audio signals |
EP2264699A2 (en) | 2006-11-02 | 2010-12-22 | Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. | Device and method for postprocessing spectral values and encoder and decoder for audio signals |
CN101553870B (en) * | 2006-11-02 | 2012-07-18 | 弗劳恩霍夫应用研究促进协会 | Device and method for postprocessing spectral values and encoder and decoder for audio signals |
EP2264699A3 (en) * | 2006-11-02 | 2012-10-10 | Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. | Device and method for postprocessing spectral values and encoder and decoder for audio signals |
US8321207B2 (en) | 2006-11-02 | 2012-11-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Device and method for postprocessing spectral values and encoder and decoder for audio signals |
Also Published As
Publication number | Publication date |
---|---|
KR100892152B1 (en) | 2009-04-10 |
CN1258172C (en) | 2006-05-31 |
WO2003088212A1 (en) | 2003-10-23 |
CA2482427C (en) | 2010-01-19 |
JP4081447B2 (en) | 2008-04-23 |
AU2002358578A1 (en) | 2003-10-27 |
HK1077391A1 (en) | 2006-02-10 |
DE50204426D1 (en) | 2005-11-03 |
ATE305655T1 (en) | 2005-10-15 |
DE10217297A1 (en) | 2003-11-06 |
CN1625768A (en) | 2005-06-08 |
JP2005527851A (en) | 2005-09-15 |
CA2482427A1 (en) | 2003-10-23 |
KR20050007312A (en) | 2005-01-17 |
EP1495464A1 (en) | 2005-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1495464B1 (en) | Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data | |
EP1502255B1 (en) | Device and method for scalable coding and device and method for scalable decoding | |
EP1647009B1 (en) | Device and method for processing a signal | |
DE19811039B4 (en) | Methods and apparatus for encoding and decoding audio signals | |
EP1609084B1 (en) | Device and method for conversion into a transformed representation or for inversely converting the transformed representation | |
EP2022043B1 (en) | Information signal coding | |
US7275036B2 (en) | Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data | |
EP1397799B1 (en) | Method and device for processing time-discrete audio sampled values | |
EP2054884B1 (en) | Device for encoding and decoding | |
DE19747132C2 (en) | Methods and devices for encoding audio signals and methods and devices for decoding a bit stream | |
DE69731677T2 (en) | Improved combination stereo coding with temporal envelope shaping | |
EP1654674B1 (en) | Device and method for processing at least two input values | |
DE102006051673A1 (en) | Apparatus and method for reworking spectral values and encoders and decoders for audio signals | |
EP1697931A1 (en) | Device and method for determining an estimated value | |
DE102020210917B4 (en) | Improved M/S stereo encoder and decoder | |
DE19742201C1 (en) | Method of encoding time discrete audio signals, esp. for studio use |
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 |