Gebiet der
ErfindungTerritory of
invention
Die
Erfindung bezieht sich auf die Signalkompression, bei der ein Informationssignal
unter Heranziehung einer verminderten Anzahl von Bits dargestellt
wird, sowie auf eine Signaldehnung, bei der die Anzahl von Bits,
welche das Informationssignal darstellen, wieder hergestellt wird.The
The invention relates to signal compression in which an information signal
using a reduced number of bits
as well as a signal stretching in which the number of bits,
which represent the information signal is restored.
Hintergrund
der Erfindungbackground
the invention
Wenn
ein digitales Informationssignal zur Speicherung und/oder Übertragung
bei einer verringerten Bitrate komprimiert wird, werden die Abtastproben
des Informationssignals häufig
unter Heranziehung einer verringerten Wortlänge requantisiert. Die Verringerung
der Wortlänge,
durch die die Abtastproben jeweils dargestellt sind, verringert
die Anzahl der Bits, die zur Darstellung der Information erforderlich
sind, auf Kosten einer Zunahme der Quantisierungsfehler. Die Requantisierung
erfolgt üblicherweise
linear durch gleichmäßige Verteilung
von Quantisierungswerten entsprechend den verfügbaren Quantisierungspegeln über den
Bereich von Werten des Informationssignals und durch Requantisierung
jeder Abtastprobe des Informationssignals am dichtesten bzw. nächsten Quantisierungswert.
Dieselbe Technik bzw. dasselbe Verfahren kann zur Requantisierung
von Transformationskoeffizienten herangezogen werden, welche das
Informationssignal darstellen.If
a digital information signal for storage and / or transmission
is compressed at a reduced bit rate, the samples become
the information signal often
requantized using a reduced word length. The reduction
the word length,
by which the samples are respectively shown reduced
the number of bits required to represent the information
are at the expense of an increase in quantization errors. The requantization
usually takes place
linear through even distribution
of quantization values corresponding to the available quantization levels over the
Range of values of the information signal and by requantization
each sample of the information signal closest to nearest quantization value.
The same technique or procedure can be used for requantization
of transformation coefficients are used, which is the
Represent information signal.
Bei
einigen Anwendungen, wie beim so genannten ISO/MPEG-Schicht-3-Audiocodierungsstandard,
werden bzw. sind die Quantisierungswerte entsprechend den verfügbaren Quantisierungspe geln
ungleichmäßig verteilt.
Die ungleichmäßige Verteilung
der Quantisierungswerte ermöglicht,
dass gewisse Werte des Informationssignals genauer als andere Werte
quantisiert werden. Dies liefert bessere Ergebnisse als eine lineare
Quantisierung, wenn beispielsweise die Werte, die genauer quantisiert
werden, häufiger
auftreten als die Werte, die mit geringerer Genauigkeit quantisiert
werden, oder es sind Fehler in den Werten, die genauer quantisiert
werden, stärker
bemerkbar. Beide dieser Möglichkeiten
können
bei einer Audio-Kompression mit niedriger Bitrate auftreten.at
some applications, such as the so-called ISO / MPEG Layer 3 audio coding standard,
are or are the quantization values according to the available quantization levels
distributed unevenly.
The uneven distribution
allows the quantization values,
that certain values of the information signal are more accurate than other values
be quantized. This gives better results than a linear one
Quantization, for example, the values that quantizes more accurately
become, more often
occur as the values that are quantized with less accuracy
or there are errors in the values that are quantized more accurately
become, stronger
noticeable. Both of these possibilities
can
occur during low-bit-rate audio compression.
Viele
Audiokompressionssysteme nehmen vor einer Quantisierung eine orthogonale
Transformation des Audio-Eingangssignals in den Frequenzbereich
vor. Wenn dies geschieht, treten bei den gängigsten Eingangssignalen eine
geringe Amplitude aufweisende Spektralkoeffizienten häufiger auf
als eine hohe Amplitude besitzende Spektralkomponenten. Da das psychoakustische
Phänomen
des gleichzeitigen Maskierens zwischen den Gliedern einer Gruppe
von aufeinander folgenden bzw. aneinandergrenzenden Spektralkoeffizienten
auftritt, ist darüber hinaus
ein Rauschen aufgrund von Quantisierungsfehlern bei Vorhandensein
von eine große
Amplitude aufweisenden Koeffizienten mit geringerer Wahrscheinlichkeit
zu hören
als bei Vorhandensein von eine geringe Amplitude aufweisenden Koeffizienten. Aus
diesem Grunde kann ein nichtlineares Quantisierungssystem, welches
mehr Quantisierungspegel bei geringen Amplituden konzentriert, zu
einer signifikanten Verbesserung in der Klangqualität führen.Lots
Audio compression systems take an orthogonal quantization before
Transformation of the audio input signal into the frequency domain
in front. When this happens, one of the most common input signals will occur
low amplitude spectral coefficients more frequently
as high amplitude spectral components. Because the psychoacoustic
phenomenon
concurrent masking between the members of a group
of consecutive spectral coefficients
is beyond that
noise due to quantization errors in the presence
from a big one
Amplitude having lower likelihood coefficients
to listen
as in the presence of low amplitude coefficients. Out
For this reason, a nonlinear quantization system, which
more quantization level at low amplitudes concentrated, too
lead to a significant improvement in sound quality.
Eine
nichtlineare Quantisierung wird normalerweise dadurch realisiert,
dass eine lineare Quantisierung auf eine nichtlinearisierte Version
der Daten angewandt wird, die Gegenstand der Quantisierung sind.
Die Daten, die zu quantisieren sind, sind normalerweise ein Block
oder ein Satz von Daten, wie ein Satz von Spektralkoeffizienten,
die unter Heranziehung derselben Anzahl von Quantisierungspegeln, oder
derselben Wortlänge
zu quantisieren sind. Bei der nichtlinearen Quantisierung werden
die Daten, die Gegenstand der Quantisierung sind, durch eine nichtlineare
Funktion vorverarbeitet, und die resultierenden vorverarbeiteten
Daten werden dann unter Heranziehung von gleichmäßig in Abstand voneinander
vorgesehenen Quantisierungswerten quantisiert. Falls Q[x] eine lineare
Quantisierung von x angibt und f(x) eine nichtlineare Funktion von
x darstellt, dann kann somit die nichtlineare Quantisierung dargestellt werden
als Q[f(x)]. Dieses Verfahren ist beispielsweise durch den ISO/MPEG-Schicht-3-Audiocodierungsstandard
spezifiziert.A
Non-linear quantization is usually realized by
that a linear quantization to a non-linearized version
of the data that is the subject of quantization.
The data to be quantized is usually a block
or a set of data, such as a set of spectral coefficients,
using the same number of quantization levels, or
the same word length
to be quantized. In the case of nonlinear quantization
the data that is the subject of quantization by a nonlinear
Function preprocessed, and the resulting preprocessed
Data then becomes uniformly spaced apart
quantization values provided. If Q [x] is a linear
Quantization of x and f (x) indicates a nonlinear function of
x, then the non-linear quantization can be represented
as Q [f (x)]. This method is exemplified by the ISO / MPEG Layer 3 audio coding standard
specified.
1 veranschaulicht ein bekanntes
lineare Quantisierungssystem Q[x] mit fünf Quantisierungspegeln. 1 zeigt dabei die Beziehung
zwischen dem Datenwert x der Daten, die Gegenstand der Quantisierung
sind, und den resultierenden Quantisierungspegeln. Die fünf möglichen
Quantisierungspegel sind durch in Kreisen befindliche ganze Zahlen oberhalb
der horizontalen Achse angegeben. Jeder Quantisierungspegel weist
einen entsprechenden Quantisierungswert auf. So weist beispielsweise
in 1 der Quantisierungspegel 2 einen
Quantisierungswert von 1,0 auf, und der Quantisierungspegel –1 weist
einen Quantisierungswert von –0,5
auf. Der Datenwert x der Daten, die Gegenstand der Quantisierung
sind, und der Quantisierungspegel der Quantisierungswerte sind in 1 unterhalb der horizontalen
Achse durch die Werte –1,0, –0,5, 0,5
und 1,0 angegeben. 1 illustrates a known linear quantization system Q [x] with five quantization levels. 1 shows the relationship between the data value x of the data subject to quantization and the resulting quantization levels. The five possible quantization levels are indicated by circles in integers above the horizontal axis. Each quantization level has a corresponding quantization value. For example, in 1 the quantization level 2 has a quantization value of 1.0, and the quantization level -1 has a quantization value of -0.5. The data value x of the data subject to quantization and the quantization level of the quantization values are in 1 indicated below the horizontal axis by the values -1.0, -0.5, 0.5 and 1.0.
Bei
dem in 1 dargestellten
linearen Quantisierungssystem wird der Datenwert x zum Quantisierungspegel
mit einem Quantisierungswert quantisiert, der am dichtesten bei
x liegt. In 1 sind die
Entscheidungswerte zwischen benachbarten Quantisierungswerten durch
gestrichelte Linien angedeutet. So gibt beispielsweise die gestrichelte
Linie D01 den Entscheidungswert zwischen
den Quantisierungswerten 0 und 0,5 an. Die Datenwerte zwischen benachbarten
Entscheidungswerten sind alle auf denselben Quantisierungspegel
quantisiert und folglich auf denselben Quantisierungswert.At the in 1 In the linear quantization system shown, the data x is quantized to the quantization level with a quantization value closest to x. In 1 the decision values between adjacent quantization values are indicated by dashed lines. For example, the dashed Li never D 01 the decision value between the quantization values 0 and 0.5. The data values between adjacent decision values are all quantized to the same quantization level and thus to the same quantization value.
Die
Datenwerte der Daten, die der Quantisierung unterzogen werden, können auf
den Bereich zwischen –1,0
und 1,0 beschränkt
sein. Alternativ können
die Daten Datenwerte außerhalb
dieses Bereiches aufweisen; in diesem Falle werden Datenwerte, die
größer sind
als der höchste
Entscheidungswert D12, zum höchsten Quantisierungspegel quantisiert,
und Datenwerte, die niedriger sind als der niedrigste Entscheidungswert
D–1–2 werden
zum niedrigsten Quantisierungspegel quantisiert. Bei dem in 1 dargestellten Quantisierungssystem
fallen die Entscheidungswerte halbwegs zwischen die Quantisierungswerte
als Ergebnis davon, dass die Datenwerte zum nächsten Quantisierungswert quantisiert werden.The data values of the data undergoing quantization may be limited to the range between -1.0 and 1.0. Alternatively, the data may have data values outside this range; in this case, data values greater than the highest decision value D 12 are quantized to the highest quantization level, and data values lower than the lowest decision value D -1-2 are quantized to the lowest quantization level. At the in 1 As the result of the quantization system shown, the decision values fall halfway between the quantization values as a result of the data values being quantized to the next quantization value.
Wie
oben erwähnt,
kann ein nichtlineares Quantisierungssystem gemäß dem Stand der Technik durch
eine erste Vorverarbeitung oder Transformation der Daten, die Gegenstand
der Quantisierung sind, unter Heranziehung einer nichtlinearen Funktion
und durch sodann erfolgendes linearen Quantisieren der resultierenden
vorverarbeiteten Daten realisiert werden. Falls f() die nichtlineare
Funktion ist und die lineare Quantisierung von x ausgedrückt wird
als Q[x], dann kann die nichtlineare Quantisierung von x ausgedrückt werden
als Q[f(x)].As
mentioned above,
may be a nonlinear quantization system according to the prior art by
a first preprocessing or transformation of the data object
quantization, using a nonlinear function
and then linearly quantizing the resulting
preprocessed data can be realized. If f () is the nonlinear
Is function and the linear quantization of x is expressed
as Q [x], then the nonlinear quantization of x can be expressed
as Q [f (x)].
In 2 ist ein Blockdiagramm
einer bekannten nichtlinearen Quantisierungseinrichtung dargestellt.
Gemäß 2 werden die Daten, die
Gegenstand einer Quantisierung sind, über den Eingangsanschluss 10 dem
Vorprozessor 21 zugeführt,
der bei diesem Beispiel die nichtlineare Funktion f() von dem nichtlinearen
Funktionsblock 23 her erhält. Der Vorprozessor nimmt
eine Vorverarbeitung der jeweiligen Daten vor, die Gegenstand der
Quantisierung sind, und zwar entsprechend der nichtlinearen Funktion, die
er von dem nichtlinearen Funktionsblock zugeführt erhält. Die vorverarbeiteten Daten
werden von dem Vorprozessor 21 der linearen Quantisierungseinrichtung 22 zugeführt. Die
lineare Quantisierungseinrichtung 22 verwendet einen Satz
von gleichmäßig beabstandeten
Quantisierungswerten gemäß den vom
Eingangsanschluss 11 her empfangenen Daten, wel che die
Anzahl der Quantisierungspegel angeben. Die lineare Quantisierungseinrichtung 22 quantisiert
die vorverarbeiteten Daten zu dem am nächsten kommenden, gleichmäßig beabstandeten Quantisierungswert
und gibt die resultierenden nichtlinear quantisierten Daten an den
Ausgangsanschluss 14 ab.In 2 Fig. 12 is a block diagram of a known non-linear quantizer. According to 2 For example, the data that is subject to quantization will be passed through the input port 10 the preprocessor 21 in this example, the non-linear function f () from the non-linear function block 23 get here. The preprocessor pre-processes the respective data that is subject to quantization according to the non-linear function that it receives from the non-linear function block. The preprocessed data is from the preprocessor 21 the linear quantizer 22 fed. The linear quantization device 22 uses a set of equally spaced quantization values according to those from the input terminal 11 received data indicating wel the number of quantization levels. The linear quantization device 22 quantizes the preprocessed data to the closest equally spaced quantization value and outputs the resulting nonlinear quantized data to the output port 14 from.
Es
sei darauf hingewiesen, dass die lineare Quantisierung ein Spezialfall
der gerade beschriebenen nichtlinearen Quantisierung darstellt.
Falls die nichtlineare Funktion f() definiert ist als f(x) = x,
dann werden die Daten linear quantisiert, wie dies in 3 veranschaulicht ist. Gemäß 3 wird der Datenwert a zunächst durch
die lineare Funktion f(x) = x vorverarbeitet, und der resultierende
vorverarbeitete Datenwert a' auf
der vertikalen Achse wird dann durch Q[] linear quantisiert. Da
die Funktion f(x) linear mit einer Steigung von 1,0 verläuft, ist
das Ergebnis von Q[f(x)] dasselbe wie Q[x]. Bei dem in 3 veranschaulichten Beispiel
ist der vorverarbeitete Datenwert größer als der Entscheidungswert
D12 zwischen den Quantisierungspegeln 1
und 2, weshalb der Datenwert a mit einem Quantisierungspegel von 2
quantisiert wird.It should be noted that linear quantization is a special case of the nonlinear quantization just described. If the nonlinear function f () is defined as f (x) = x, then the data is linearly quantized as in 3 is illustrated. According to 3 First, the data a is preprocessed by the linear function f (x) = x, and the resulting preprocessed data a 'on the vertical axis is then linearly quantized by Q []. Since the function f (x) is linear with a slope of 1.0, the result of Q [f (x)] is the same as Q [x]. At the in 3 For example, the pre-processed data value is greater than the decision value D 12 between the quantization levels 1 and 2, and therefore the data a is quantized to a quantization level of 2.
Wenn
f(x) eine nichtlineare Funktion ist, wird das Quantisierungssystem
Q[f(x)] ein nichtlineares Quantisierungssystem gemäß dem Stand
der Technik. 4 veranschaulicht
ein Beispiel dieser Form der nichtlinearen Quantisierung. Wie bei
dem Beispiel der oben unter Bezugnahme auf 3 beschriebenen linearen Quantisierung
werden die Daten durch die Funktion f(x) einer Vorverarbeitung unterzogen,
und die vorverarbeiteten Daten werden dann in dem nichtlinearisierten
Bereich, wie er an der vertikalen Achse in 4 veranschaulicht ist, linear quantisiert.
In diesem Falle ist die Funktion f(x) jedoch nichtlinear.If f (x) is a nonlinear function, the quantization system Q [f (x)] becomes a nonlinear quantization system according to the prior art. 4 illustrates an example of this form of nonlinear quantization. As in the example of the above with reference to 3 As described above, the data is preprocessed by the function f (x) and the preprocessed data is then stored in the non-linearized region as shown on the vertical axis in FIG 4 is illustrated, linearly quantized. In this case, however, the function f (x) is nonlinear.
Eine
Vorverarbeitung unter Heranziehung der nichtlinearen Funktion f(x)
hat die Wirkung einer Änderung
des Quantisierungswertes im Eingangsbereich (der horizontalen Achse
in 4) jedes der Quantisierungspegel. 5 veranschaulicht das Ergebnis
dieses Effekts. In 5 ist
dasselbe Quantisierungssystem wie in 4 dargestellt,
allerdings mit der Ausnahme, dass der jeweilige Quantisierungswert
q aus dem transformierten Bereich (der vertikalen Achse in 5) in den Eingangsbereich (das
ist die horizontale Achse) durch die inverse Größe g(q) der nichtlinearen Funktion
f(x) invers zurücktransformiert
worden ist. Somit zeigt 5 den
Pegel im Eingangsbereich des Quantisierungswertes jedes Quantisierungspegels
in dem transformierten Bereich. Dabei kann ersehen werden, dass
die Quantisierungswerte im transformierten Bereich gleichmäßig beabstandet
sind, im Eingangsbereich jedoch nicht gleichmäßig beabstandet sind. Da bei
diesem Beispiel die Steigung der nichtlinearen Funktion f(x) für Datenwerte,
die nahe Null liegen, größer ist
als für Datenwerte
nahe 1,0 und –1,0,
ist das dargestellte nichtlineare Quantisierungssystem für kleine
Datenwerte genauer.A preprocessing using the nonlinear function f (x) has the effect of changing the quantization value in the input area (the horizontal axis in FIG 4 ) each of the quantization levels. 5 illustrates the result of this effect. In 5 is the same quantization system as in 4 shown, with the exception that the respective quantization value q from the transformed area (the vertical axis in 5 ) has been inversely transformed back into the input area (that is, the horizontal axis) by the inverse magnitude g (q) of the nonlinear function f (x). Thus shows 5 the level in the input range of the quantization value of each quantization level in the transformed range. It can be seen that the quantization values are uniformly spaced in the transformed region, but are not uniformly spaced in the input region. In this example, since the slope of the nonlinear function f (x) is greater for data values that are close to zero than for data values near 1.0 and -1.0, the illustrated non-linear quantization system is more accurate for small data values.
6 veranschaulicht die Quantisierungswerte
von 5 im selben Format
wie 1, und zwar unter
Heranziehung lediglich des Eingangsbereichs. 6 veranschaulicht außerdem die entsprechenden Entscheidungswerte.
Die Entscheidungswerte werden in derselben Weise berechnet, in der die
Quantisierungswerte in 5 berechnet
sind, das heißt
durch inverse Transformation der Entscheidungswerte im transformierten
Bereich (der vertikalen Achse von 5)
zurück
in den Eingangsbereich (das ist die horizontale Achse von 5). Dabei kann ersehen werden,
dass die Entscheidungswerte nicht mehr halbwegs zwischen den Quantisierungswerten im
Eingangsbereich liegen. Mit Rücksicht
hierauf können
gewisse Datenwerte nicht mit einem minimalen Quantisierungsfehler
quantisiert werden. 6 illustrates the quantization values of 5 in the same format as 1 , using only the entrance area. 6 also illustrates the corre sponding lowing decision values. The decision values are calculated in the same way as the quantization values in 5 that is, by inverse transforming the decision values in the transformed area (the vertical axis of 5 ) back to the entrance area (this is the horizontal axis of 5 ). It can be seen that the decision values are no longer halfway between the quantization values in the input range. With this in mind, certain data values can not be quantized with a minimum quantization error.
Die
durch den oben erwähnten ISO/MPEG-Schicht-3-Audiocodierungsstandard
vorgeschriebene nichtlineare Quantisierungseinrichtung weist zusätzliche
Nachteile auf. Zum Ersten variieren die Quantisierungseffekte einer
vorgegebenen nichtlinearen Funktion f() entsprechend der Anzahl
der zur Quantisierung der Datenwerte verwendeten Quantisierungspegel,
nachdem diese ent sprechend der nichtlinearen Funktion f() vorverarbeitet
worden sind. Die durch den betreffenden Standard bzw. die betreffende
Norm vorgeschriebene Quantisierungseinrichtung ändert jedoch die Anzahl der
Quantisierungspegel, während
eine feste nichtlineare Funktion f() genutzt wird. In einer Quantisierungseinrichtung,
in der sich die Anzahl der Quantisierungspegel dynamisch ändert, wie
in den meisten hoch-effizienten Kompressionssystemen, führt eine
Vorverarbeitung unter Heranziehung einer festen nichtlinearen Funktion
f() nicht zu optimalen Ergebnissen für sämtliche Werte der Anzahl von
Quantisierungspegeln.The
by the above-mentioned ISO / MPEG Layer 3 audio coding standard
prescribed nonlinear quantization device has additional
Disadvantages. First, the quantization effects vary
predetermined nonlinear function f () according to the number
the quantization level used to quantize the data values,
after having preprocessed the nonlinear function f () accordingly
have been. By the standard or the concerned
Norm prescribed quantizer changes the number of
Quantization level while
a fixed nonlinear function f () is used. In a quantization device,
in which the number of quantization levels changes dynamically, such as
In most high-efficient compression systems, one performs
Preprocessing using a fixed nonlinear function
f () does not produce optimal results for all values of the number of
Quantization levels.
Zum
Zweiten kann die Berechnung von f(x) bezüglich der jeweiligen Daten
für die
nichtlineare Funktion f() zu viel Zeit und/oder Signalverarbeitungsleistung
erfordern. Um Zeit oder Verarbeitungsleistung einzusparen, können die
Datenwerte unter Heranziehung einer einfacheren, jedoch weniger
optimalen nichtlinearen Funktion f() vorzuverarbeiten sein.To the
Second, the calculation of f (x) with respect to the respective data
for the
non-linear function f () too much time and / or signal processing power
require. To save time or processing power, the
Data values using a simpler, but less
optimal nonlinear function f () must be preprocessed.
Zusammenfassung
der ErfindungSummary
the invention
Die
Erfindung stellt ein Verfahren zur Quantisierung von Daten bereit,
die ein Informationssignal darstellen, um daraus das Informationssignal
darstellende entsprechende quantisierte Daten unter Verwendung von
weniger Bits zu erzeugen. Die jeweiligen Daten werden in dem Fall,
dass sie quantisiert sind bzw. werden, durch einen Quantisierungspegel dargestellt,
der aus einer Anzahl von Quantisierungspegeln ausgewählt ist.
Bei dem Verfahren werden die Daten und eine Wortlängeninformation,
welche die Anzahl der Quantisierungspegel angibt, empfangen. Ein
Satz von Quantisierungstabellen ist vorgesehen. Der Satz der Quantisierungstabellen
enthält
eine Quantisierungstabelle für
jede mögliche
Anzahl von Quantisierungspegeln. Jede Quantisierungstabelle enthält einen
Tabelleneintrag für
jeden Quantisierungspegel in der betreffenden Anzahl von Quantisierungspegeln.
Die Quantisierungstabelle für
die Anzahl der Quantisierungspegel, welche durch die Wortlängeninformation angegeben
sind, wird aus dem Satz der Quantisierungstabellen ausgewählt. Schließlich wird
der Quantisierungspegel, dessen Tabelleneintrag dem Datenwert der
jeweiligen Daten entspricht, aus der Quantisierungstabelle als entsprechende
Daten der quantisierten Daten ausgewählt.The
Invention provides a method for quantizing data
which represent an information signal in order to derive the information signal
representing corresponding quantized data using
to produce fewer bits. The respective data will be in the case
that they are quantized, represented by a quantization level,
which is selected from a number of quantization levels.
In the method, the data and word length information,
which indicates the number of quantization levels received. One
Set of quantization tables is provided. The set of quantization tables
contains
a quantization table for
every possible one
Number of quantization levels. Each quantization table contains one
Table entry for
each quantization level in the respective number of quantization levels.
The quantization table for
the number of quantization levels indicated by the word length information
are selected from the set of quantization tables. Finally will
the quantization level whose table entry matches the data value of the
corresponding data from the quantization table as appropriate
Data of the quantized data selected.
Die
Tabelleneinträge
in den Quantisierungstabellen können
eine nichtlineare Quantisierungscharakteristik bereitstellen, und
sie können
aus einer einzigen nichtlinearen Funktion abgeleitet sein, die die
nichtlineare Quantisierungscharakteristik bestimmt.The
table entries
in the quantization tables
provide a non-linear quantization characteristic, and
you can
be derived from a single nonlinear function that the
nonlinear quantization characteristic.
Die
Tabelleneinträge
in den Quantisierungstabellen können
eine unterschiedliche nichtlineare Quantisierungscharakteristik
in unterschiedlichen Quantisierungstabellen bereitstellen. In diesem
Falle können
die Tabelleneinträge
in den Quantisierungstabellen für
mehr Quantisierungspegel eine stärker nichtlineare
Quantisierungscharakteristik bereitstellen als die Tabelleneinträge in den
Quantisierungstabellen für
weniger Quantisierungspegel.The
table entries
in the quantization tables
a different non-linear quantization characteristic
in different quantization tables. In this
Trap can
the table entries
in the quantization tables for
more quantization level a more nonlinear one
Provide quantization characteristics as the table entries in the
Quantization tables for
less quantization level.
Die
Tabelleneinträge
können
einen Quantisierungswert oder einen Eingangsbereich für jeden Quantisierungspegel
enthalten. Wenn der Quantisierungswert enthalten ist, wird der Quantisierungspegel
des Tabelleneintrags, bei dem der Quantisierungswert dem Datenwert
der einen Daten am nächsten
ist, ausgewählt.
Wenn der Eingangsbereich enthalten ist, wird der Quantisierungspegel
des Tabelleneintrags ausgewählt,
bei dem der Eingangsbereich den Datenwert der betreffenden einen
Daten umfasst.The
table entries
can
a quantization value or an input range for each quantization level
contain. If the quantization value is included, the quantization level becomes
of the table entry where the quantization value is the data value
closest to one data
is, selected.
If the input range is included, the quantization level becomes
of the table entry selected,
where the input range is the data value of the one concerned
Includes data.
Das
Verfahren kann zusätzlich
eine Zeit-Frequenz-Analyse auf das Informationssignal hin ausführen, um
die Daten zu erzeugen.The
Procedure may additionally
perform a time-frequency analysis on the information signal to
to generate the data.
Das
Verfahren kann außerdem
zusätzlich
die Ausübung
eines Blockgleitens auf die Daten umfassen, um durch ein Blockglei ten
verarbeitete Daten zu erzeugen; in diesem Falle wird der Quantisierungspegel,
dessen Tabelleneintrag dem durch Blockgleiten verarbeiteten Datenwert
der jeweiligen durch Blockgleiten verarbeiteten Daten entspricht,
als entsprechend quantisierte Daten ausgewählt.The
Procedure can also
additionally
the exercise
block gliding on the data to block through a Blockglei
to generate processed data; in this case the quantization level,
whose table entry is the block-sliced data value
corresponds to the respective data processed by block gliding,
selected as appropriately quantized data.
Die
Erfindung stellt außerdem
ein Verfahren zur nichtlinearen Quantisierung von Daten bereit,
die ein Informationssignal darstellen, um entsprechend quantisierte
Daten zu erzeugen, welche das Informationssignal unter Verwendung
von weniger Bits darstellen. Die jeweiligen Daten werden, wenn sie
nichtlinear quantisiert sind, durch einen Quantisierungspegel dargestellt,
der aus einer Anzahl von Quantisierungspegeln ausgewählt ist.
Bei dem Verfahren wird ein Satz von nichtlinearen Funktionen bereitgestellt.
Die nichtlinearen Funktionen definieren jeweils eine nichtlineare
Quantisierungscharakteristik. Die Daten und die Wortlängeninformation,
welche die Anzahl der Quantisierungspegel angibt, werden empfangen.
Eine der nichtlinearen Funktionen wird aus dem Satz der nichtlinearen
Funktionen ausgewählt, vorzugsweise
auf das Wortlängen-Eingangssignal hin.
Die Daten werden einer Vorverarbeitung unterzogen, um vorverarbeitete
Daten zu erzeugen, indem die Daten jeweils mit der ausgewählten nichtlinearen Funktion
multipliziert werden, um entsprechende vorverarbeitete Daten zu
erzeugen. Schließlich
werden die vorverarbeiteten Daten auf die Wortlängeninformation hin linear
quantisiert, um die quantisierten Daten zu erzeugen.The invention also provides a method of nonlinear quantization of data representing an information signal to produce correspondingly quantized data representing the information signal using fewer bits. The respective data will be, if not are linearly quantized, represented by a quantization level selected from a number of quantization levels. The method provides a set of non-linear functions. The nonlinear functions each define a non-linear quantization characteristic. The data and the word length information indicating the number of quantization levels are received. One of the non-linear functions is selected from the set of non-linear functions, preferably the word-length input signal. The data is preprocessed to generate preprocessed data by multiplying the data by the selected nonlinear function to produce corresponding preprocessed data. Finally, the preprocessed data is linearly quantized in response to the word length information to produce the quantized data.
Für jede Anzahl
der Quantisierungspegel im zulässigen
Bereich der Anzahl von Quantisierungspegeln kann eine unterschiedliche
nichtlineare Funktion bereitgestellt werden.For every number
the quantization level in the permissible
Range of the number of quantization levels can be a different
be provided non-linear function.
Die
nichtlinearen Funktionen können
in der Nichtlinearität
variieren; in diesem Falle weist die eine ausgewählte Funktion der nichtlinearen
Funktionen eine stärkere
Nichtlinearität
auf, wenn die Wortlängeninformation
mehr Quantisierungspegel angibt als die eine ausgewählte Funktion
der nichtlinearen Funktion, wenn die Wortlängeninformation weniger Quantisierungspegel
angibt.The
nonlinear functions can
in nonlinearity
vary; in this case, the one selected function indicates the nonlinear
Functions a stronger one
nonlinearity
on, if the word length information
indicates more quantization levels than the one selected function
of the nonlinear function when the word length information has less quantization level
indicates.
Eine
stückweise
lineare Approximation einer nichtlinearen Funktion kann als jeweilige
Funktion der nichtlinearen Funktionen in dem nichtlinearen Funktionssatz
vorgesehen sein. Eine stückweise
Approximation einer nichtlinearen Funktion würde für jede Anzahl von Quantisierungspegeln
im zulässigen Bereich
der Anzahl von Quantisierungspegeln bereitstehen. Jede stückweise
lineare Approximation enthält
eine Vielzahl von Knoten, an denen die stückweise nichtlineare Approximation
mit der nichtlinearen Funktion koinzidiert. Die Knoten sind in der
Anzahl gleich der entsprechenden Anzahl von Quantisierungspegeln.
Jede stückweise
lineare Approximation weist außerdem
lineare Segmente auf, welche aufeinander folgende Knoten verbinden.
Das Ersetzen der nichtlinearen Funktion durch die stückweisen
linearen Approximationen der nichtlinearen Funktionen selbst vermindert
die durch dieses Verfahren erzeugten Quantisierungsfehler.A
piecemeal
linear approximation of a nonlinear function can be considered as respective
Function of the nonlinear functions in the nonlinear function set
be provided. One piece at a time
Approximation of a nonlinear function would be for any number of quantization levels
within the permissible range
the number of quantization levels available. Each piecewise
contains linear approximation
a plurality of nodes involving the piecewise nonlinear approximation
coincident with the nonlinear function. The knots are in the
Number equal to the corresponding number of quantization levels.
Each piecewise
In addition, linear approximation points
linear segments connecting successive nodes.
Replacing the nonlinear function by the piecewise
linear approximations of the nonlinear functions themselves diminished
the quantization error generated by this method.
Die
durch die stückweisen
linearen Approximationen approximierten nichtlinearen Funktionen können in
der Nichtlinearität
variieren; in diesem Falle sind die nichtlinearen Funktionen, die
durch die stückweisen
linearen Approximationen approximiert sind, für größere Zahlen von Quantisierungspegeln vorzugsweise
stärker
nichtlinear als die nichtlinearen Funktionen, die durch stückweise
lineare Approximationen für
kleinere Zahlen von Quantisierungspegeln approximiert sind. Alternativ
können
die stückweisen linearen
Approximationen alle dieselbe nichtlineare Funktion approximieren.The
through the piecewise
linear approximations of approximated nonlinear functions can be found in
of nonlinearity
vary; in this case, the nonlinear functions are the
through the piecewise
linear approximations are approximated, for larger numbers of quantization levels, preferably
stronger
nonlinear as the nonlinear functions by piecewise
linear approximations for
smaller numbers of quantization levels are approximated. alternative
can
the piecewise linear
Approximations all approximate the same nonlinear function.
Das
Verfahren kann zusätzlich
die Ausführung
einer Zeit-Frequenz-Analyse auf das Informationssignal hin umfassen,
um die Daten zu erzeugen.The
Procedure may additionally
execution
include a time-frequency analysis on the information signal,
to generate the data.
Das
Verfahren kann außerdem
zusätzlich
die Ausübung
eines Blockgleitens auf die Daten umfassen, um durch Blockgleiten verarbeitete
Daten zu erzeugen; in diesem Falle werden die vorverarbeiteten Daten
dadurch erzeugt, dass die jeweils durch Blockgleiten verarbeitete
Daten mit der gewählten
nichtlinearen Funktion multipliziert werden.The
Procedure can also
additionally
the exercise
block glide on the data to be processed by block sliding
Generate data; in this case, the preprocessed data
generated by the fact that each processed by block sliding
Data with the selected
nonlinear function multiplied.
Schließlich stellt
die Erfindung ein Verfahren zur Dequantisierung der durch das gerade
beschriebene Verfahren nichtlinear quantisierten Daten zur Verfügung. Bei
dem Verfahren wird ein Satz von inversen nichtlinearen Funktionen
bereitgestellt. Die inversen nichtlinearen Funktionen entsprechen
jeweils einer der zur Quantisierung der Daten benutzten Vielzahl
von nichtlinearen Funktionen. Die nichtlinear quantisierten Daten
und die Wortlängeninformation, welche
die Anzahl der Quantisierungspegel angibt, mit der die nichtlinear
quantisierten Daten quantisiert sind, werden empfangen. Die nichtlinear
quantisierten Daten werden auf die Wortlängeninformation hin linear
dequantisiert, um nichtlineare Daten zu erzeugen. Aus dem Satz der
nichtlinearen Funktionen wird eine der inversen nichtlinearen Funktionen
ausgewählt.
Schließlich
werden die nichtlinearen Daten einer Nachverarbeitung unterzogen,
um die dequantisierten Daten zu erzeugen, indem die ausgewählte inverse
nichtlineare Funktion auf die jeweiligen nichtlinearen Daten angewandt
wird, um entsprechende dequantisierte Daten zu erzeugen.Finally, poses
the invention a method for dequantization of the straight
described method nonlinear quantized data available. at
The method becomes a set of inverse nonlinear functions
provided. The inverse nonlinear functions correspond
each one of the plurality used to quantize the data
of nonlinear functions. The nonlinear quantized data
and the word length information, which
indicates the number of quantization levels with which the nonlinear
Quantized data are quantized are received. The nonlinear
quantized data becomes linear in response to the word length information
dequantized to produce non-linear data. From the sentence of
Nonlinear functions become one of the inverse nonlinear functions
selected.
After all
the non-linear data undergoes post-processing,
to generate the dequantized data by selecting the selected inverse
nonlinear function applied to the respective nonlinear data
to generate corresponding dequantized data.
Die
eine der inversen nichtlinearen Funktionen kann auf die Wortlängeninformation
hin ausgewählt
werden.The
one of the inverse nonlinear functions may be on the word length information
selected
become.
Die
inversen nichtlinearen Funktionen können in der Nichtlinearität variieren;
in diesem Falle wird die ausgewählte
eine der inversen nichtlinearen Funktionen vorzugsweise eine stärkere Nichtlinearität aufweisen,
wenn die Wortlängeninformation
mehr Quantisierungspegel angibt, als in dem Fall, dass die Wortlängeninformation
weniger Quantisierungspegel angibt.The
inverse nonlinear functions may vary in nonlinearity;
in this case, the selected
one of the inverse nonlinear functions preferably has a stronger nonlinearity,
if the word length information
indicates more quantization levels than in the case that the word length information
indicates less quantization level.
Auf
die dequantisierten Daten kann nach der Nachverarbeitung zusätzlich eine
Auflösung
des Blockgleitens angewandt werden.On
the dequantized data can be additionally postprocessed
resolution
block gliding.
Kurze Beschreibung
der ZeichnungenShort description
the drawings
1 veranschaulicht in einem
Eingangsbereichs-Diagramm eine lineare Quantisierung gemäß dem Stand
der Technik. 1 Figure 11 illustrates in an input domain diagram a linear quantization according to the prior art.
2 veranschaulicht in einem
Blockdiagramm eine nichtlineare Quantisierungseinrichtung gemäß dem Stand
der Technik, bei der Daten vor einer linearen Quantisierung einer
nichtlinearen Transformation unterzogen werden. 2 Fig. 13 is a block diagram showing a prior art nonlinear quantization device in which data is subjected to nonlinear transformation prior to linear quantization.
3 veranschaulicht in einem
Eingangs-/Ausgangsdiagramm eine lineare Quantisierung auf der Grundlage
eines nichtlinearen Quantisierungsmodells. 3 Figure 11 illustrates in an input / output diagram a linear quantization based on a nonlinear quantization model.
4 veranschaulicht in einem
Eingangs-/Ausgangsdiagramm eine nichtlineare Quantisierung gemäß dem Stand
der Technik. 4 Fig. 11 illustrates in an input / output diagram a nonlinear quantization according to the prior art.
5 veranschaulicht in einem
Eingangs-/Ausgangsdiagramm den Quantisierungswert des durch eine
nichtlineare Quantisierung gemäß dem Stand
der Technik erzeugten jeweiligen Quantisierungspegels. 5 Fig. 11 illustrates in an input / output diagram the quantization value of the respective quantization level generated by non-linear quantization according to the prior art.
6 veranschaulicht in einem
Eingangsbereichs-Diagramm die Quantisierungswerte und die Entscheidungswerte,
die durch das in 5 veranschaulicht
nichtlineare Quantisierungsverfahren gemäß dem Stand der Technik erzeugt
werden. 6 FIG. 4 illustrates, in an input range diagram, the quantization values and the decision values represented by the in. FIG 5 illustrates nonlinear quantization methods according to the prior art.
7 zeigt ein Blockdiagramm
einer nichtlinearen Quantisierungseinrichtung. 7 shows a block diagram of a non-linear quantization device.
8 veranschaulicht in einem
Flussdiagramm die Berechnung der Quantisierungswerte für den jeweiligen
Quantisierungspegel. 8th illustrates in a flow chart the calculation of the quantization values for the respective quantization level.
9 veranschaulicht in einer
Kurvendarstellung eine beispielhafte nichtlineare Funktion, die durch
das erste nichtlineare Quantisierungsverfahren genutzt werden könnte, wobei
die Kurvendarstellung außerdem
eine lineare Funktion für
einen Vergleich zeigt. 9 Fig. 3 is a graph illustrating an exemplary nonlinear function that could be used by the first non-linear quantization method, the graph also showing a linear function for comparison.
10A veranschaulicht in einer
Kurvendarstellung den Absolutwert der aus der nichtlinearen Quantisierung
mit drei Quantisierungspegeln resultierenden Quantisierungsfehler. 10A Fig. 9 is a graph showing the absolute value of the quantization error resulting from the non-linear quantization with three quantization levels.
10B veranschaulicht in einer
Kurvendarstellung den Absolutwert der aus der nichtlinearen Quantisierung
mit sieben Quantisierungspegeln resultierenden Quantisierungsfehler. 10B FIG. 4 is a graph showing the absolute value of the quantization error resulting from nonlinear quantization with seven quantization levels. FIG.
11 veranschaulicht in einem
Blockdiagramm ein Audio-Übertragungs-
oder -Aufzeichnungssystem, in welchem das Audiosignal unter Heranziehung
der nichtlinearen Quantisierungsverfahren vor der Übertragung
oder Aufzeichnung komprimiert wird. 11 Fig. 11 is a block diagram of an audio broadcasting or recording system in which the audio signal is compressed using the non-linear quantization techniques prior to transmission or recording.
12 veranschaulicht in einem
Blockdiagramm die Audio-Kompressionsvorrichtung
des in 11 dargestellten
Audiosignal-Übertragungssystems,
wobei die betreffende Audio-Kompressionsvorrichtung eine die nichtlinearen
Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung umfasst. 12 illustrates in a block diagram the audio compression device of the in 11 audio signal transmission system shown, wherein the audio compression device concerned comprises a non-linear quantization device embodying the non-linear quantization method.
13 veranschaulicht in einem
Blockdiagramm eine Zeit-Frequenz-Analysiereinrichtung
in der Audio-Kompressionsvorrichtung des in 11 dargestellten Audiosignal-Übertragungssystems. 13 FIG. 16 is a block diagram illustrating a time-frequency analyzing means in the audio compression apparatus of FIG 11 represented audio signal transmission system.
14 veranschaulicht in einem
Blockdiagramm eine ein zweites nichtlineares Quantisierungsverfahren
verkörpernde
nichtlineare Quantisierungseinrichtung. 14 Fig. 11 is a block diagram illustrating a nonlinear quantization device embodying a second non-linear quantization method.
15 zeigt ein Beispiel der
Quantisierungstabelle für
fünf Quantisierungspegel,
die bei dem zweiten nichtlinearen Quantisierungsverfahren verwendet
werden. 15 FIG. 12 shows an example of the quantization table for five quantization levels used in the second non-linear quantization method.
16A veranschaulicht in einer
Kurvendarstellung eine stückweise
lineare Approximation einer nichtlinearen Funktion für fünf Quantisierungspegel zur
Anwendung in bzw. bei dem nichtlinearen Quantisierungsverfahren. 16A Figure 4 is a graph illustrating a piecewise linear approximation of a nonlinear function for five quantization levels for use in the non-linear quantization method.
16B veranschaulicht in einer
Kurvendarstellung eine stückweise
lineare Approximation einer nichtlinea ren Funktion für sieben
Quantisierungspegel zur Anwendung in bzw. bei dem nichtlinearen Quantisierungsverfahren. 16B Figure 4 is a graph illustrating a piecewise linear approximation of a non-linear function for seven quantization levels for use in the non-linear quantization method.
17 veranschaulicht in einem
Blockdiagramm eine nichtlineare Quantisierungseinrichtung. 17 illustrates in a block diagram a non-linear quantization device.
18 veranschaulicht in einem
Eingangsbereichs-Diagramm Quantisierungswerte und Entscheidungswerte. 18 illustrates quantization values and decision values in an input domain diagram.
19 veranschaulicht in einem
Kurvendiagramm einen beispielhaften Satz von nichtlinearen Funktionen
für die
Anwendung bei dem vierten nichtlinearen Quantisierungsverfahren
gemäß der Erfindung. 19 Figure 4 is a graph illustrating an exemplary set of non-linear functions for use in the fourth non-linear quantization method according to the invention.
20 veranschaulicht in einem
Blockdiagramm eine das nichtlineare Quantisierungsverfahren gemäß der Erfindung
verkörpernde
nichtlineare Quantisierungseinrichtung. 20 Fig. 13 is a block diagram showing a nonlinear quantization device embodying the non-linear quantization method according to the invention.
21 veranschaulicht in einem
Blockdiagramm eine das nichtlineare Dequantisierungsverfahren gemäß der Erfindung
verkörpernde
nichtlineare Dequantisierungseinrichtung. 21 Fig. 12 is a block diagram illustrating a nonlinear embodying the non-linear dequantization method according to the invention re dequantization device.
22 veranschaulicht in einem
Blockdiagramm eine Audio-Dehnungsvorrichtung
des in 11 dargestellten
Audiosignal-Übertragungs- oder
-Aufzeichnungssystems. 22 Fig. 11 is a block diagram showing an audio-stretching device of the present invention 11 represented audio signal transmission or recording system.
Detaillierte
Beschreibung der Erfindungdetailed
Description of the invention
In 7 ist ein Blockdiagramm
einer ein nichtlinearen Quantisierungsverfahren verkörpernden
nichtlinearen Quantisierungseinrichtung 30 veranschaulicht.
Die nichtlineare Quantisierungseinrichtung 30 und die anderen
hier beschriebenen nichtlinearen Quantisierungseinrichtungen und
nichtlinearen Dequantisierungseinrichtungen sind als Blockdiagramme
dargestellt. Die funktionalen Elemente dieser Blockdiagramme können in
der Praxis unter Verwendung von geeigneten LSI-Schaltungen (das
sind Schaltungen hohen Integrationsgrades) oder durch Verwendung
von einen geringeren Integrationsgrad aufweisenden integrierten
Schaltungen oder durch diskrete Komponenten realisiert sein. Alternativ
können
die funktionalen Elemente der nichtlinearen Quantisierungseinrichtungen
und Dequantisierungseinrichtungen durch Programmierung eines geeigneten
Mikrocomputers oder eines digitalen Signalprozessors und unter Verwendung
von solchen zusätzlichen
Schaltungen, wie sie erforderlich sein können, realisiert sein.In 7 Fig. 10 is a block diagram of a non-linear quantizer embodying a non-linear quantization method 30 illustrated. The nonlinear quantization device 30 and the other non-linear quantizers and non-linear dequantizers described herein are shown as block diagrams. The functional elements of these block diagrams may be implemented in practice using appropriate LSI circuits (that is, high-density circuits) or by using lower-integrated integrated circuits or by discrete components. Alternatively, the functional elements of the non-linear quantizers and dequantizers may be implemented by programming a suitable microcomputer or digital signal processor and using such additional circuitry as may be required.
In
der nichtlinearen Quantisierungseinrichtung 30 nimmt die
Quantisierungseinrichtung 32 die Daten, die Gegenstand
der Quantisierung sind, über den
Eingangsanschluss 10 auf, quantisiert die jeweiligen Daten,
die Gegenstand der Quantisierung sind, auf den Quantisierungspegel,
der dem nächsten Quantisierungspegel
in dem Satz der nicht gleichmäßig beabstandeten
Quantisierungswerte entspricht, die von dem Quantisierungswert-Rechner 31 zugeführt werden,
und gibt die resultierenden quantisierten Daten an den Ausgangsanschluss 14 ab.
Die Daten, die Gegenstand der Quantisierung sind und die über den
Eingangsanschluss 10 aufgenommen werden, sind normalerweise
ein Datenblock oder Datensatz, wie ein Satz von Spektralkoeffizienten,
die unter Heranziehung derselben Anzahl von Quantisierungspegeln
oder derselben Wortlänge
zu quantisieren sind.In the non-linear quantizer 30 takes the quantizer 32 the data that is the subject of the quantization, via the input terminal 10 on, the respective data subject to quantization quantizes to the quantization level corresponding to the next quantization level in the set of non-uniformly spaced quantization values from the quantization value calculator 31 are supplied, and outputs the resulting quantized data to the output terminal 14 from. The data that is the subject of quantization and that is the input terminal 10 are usually a data block or data set, such as a set of spectral coefficients to be quantized using the same number of quantization levels or word length.
Der
Quantisierungswert-Rechner 31 empfängt die nichtlineare Funktion
f() von dem nichtlinearen Funktionsblock 33, und er empfängt von
dem bzw. über
den Eingangsanschluss 11 ein Eingangssignal, welches die
Anzahl der Quantisierungspegel angibt, mit der die Daten, die einer
Quantisierung zu unterziehen sind, zu quantisieren sind. Der Quantisierungswert-Rechner
berechnet einen Quantisierungswert für den jeweiligen Quantisierungspegel und
gibt die resultierenden Quantisierungswerte an die Quantisierungseinrichtung 32 ab.
Die Anzahl der berechneten Quantisierungswerte ist gleich der Anzahl
der Quantisierungspegel, die durch das Eingangssignal angegeben
sind, welches die Anzahl der Quantisierungspegel angibt. Der Quantisierungswert-Rechner 31 kann über den
Eingangsanschluss 11 ein Eingangssignal, welches die Wortlänge angibt, mit
der die Daten, die Gegenstand der Quantisierung sind, quantisiert
wer den, anstelle des Eingangssignals aufnehmen, welches die Anzahl
der Quantisierungspegel angibt.The quantization value calculator 31 receives the non-linear function f () from the non-linear function block 33 , and it receives from or via the input port 11 an input signal indicating the number of quantization levels at which the data to be quantized is to be quantized. The quantization value calculator calculates a quantization value for the respective quantization level, and outputs the resulting quantization values to the quantizer 32 from. The number of calculated quantization values is equal to the number of quantization levels indicated by the input signal indicating the number of quantization levels. The quantization value calculator 31 can via the input port 11 an input signal indicating the word length with which the data subject to quantization is quantized, in place of the input signal indicating the number of quantization levels.
8 erläutert in einem Flussdiagramm
in weiteren Einzelheiten die Berechnung des Quantisierungswertes
des jeweiligen Quantisierungspegels durch den Quantisierungswert-Rechner 31.
Bei der in 8 veranschaulichten
Verarbeitung wird zuerst der entsprechende lineare Quantisierungswert
x in dem transformierten Bereich für den jeweiligen Quantisierungspegel
i berechnet. Sodann wird der entsprechende Quantisierungswert q[i]
im Eingangsbereich als q[i] = g(x) berechnet, wobei g() die inverse Funktion
der nichtlinearen Funktion f() ist, das heißt, es gilt g(f(x)) = x. 8th illustrates in a flowchart in more detail the calculation of the quantization value of the respective quantization level by the quantization value calculator 31 , At the in 8th 1, the corresponding linear quantization value x in the transformed region is first calculated for the respective quantization level i. Then, the corresponding quantization value q [i] in the input range is calculated as q [i] = g (x), where g () is the inverse function of the nonlinear function f (), that is, g (f (x)) = x.
Die
Verarbeitung beginnt beim Schritt S0. Beim Schritt S1 wird von dem
nichtlinearen Funktionsblock 33 ein Eingangssignal empfangen,
welches die nichtlineare Funktion f() angibt. Beim Schritt S2 wird
aus der nichtlinearen Funktion f() die inverse Funktion g() der
Funktion f() berechnet. Beim Schritt S3 wird über den Eingangsanschluss 11 ein
Eingangssignal aufgenommen, welches die Anzahl der Quantisierungspegel
lev angibt. Beim Schritt S4 wird der Quantisierungspegel i auf den
niedrigsten Quantisierungspegel unter Heranziehung der Gleichung (1)
initialisiert: i
= –(lev – 1)/2 (1) The processing starts at step S0. In step S1, the non-linear function block is used 33 receive an input signal indicating the nonlinear function f (). In step S2, the inverse function g () of the function f () is calculated from the nonlinear function f (). At step S3, via the input terminal 11 an input signal indicating the number of quantization levels lev. At step S4, the quantization level i is initialized to the lowest quantization level using equation (1): i = - (lev - 1) / 2 (1)
Der
Quantisierungswert q[i] im Eingangsbereich für den jeweiligen Quantisierungspegel
i wird dann durch die Schleife berechnet, welche aus den Schritten
S5, S6, S7 und S8 besteht, bis beim Schritt S7 bestimmt wird, dass
die Quantisierungswerte für sämtliche
Quantisierungspegel berechnet worden sind.Of the
Quantization value q [i] in the input range for the respective quantization level
i is then calculated by the loop resulting from the steps
S5, S6, S7 and S8 until it is determined at step S7 that
the quantization values for all
Quantization levels have been calculated.
Beim
Schritt S5 wird der lineare Quantisierungswert x in dem transformierten
Bereich für
den Quantisierungspegel i unter Heranziehung der Gleichung (2) berechnet: x = (2 × i)/(lev – 1) (2) At step S5, the linear quantization value x in the transformed range for the quantization level i is calculated by using equation (2). x = (2 × i) / (lev-1) (2)
Beim
Schritt S6 wird der Quantisierungswert q[i] im Eingangsbereich aus
dem Quantisierungswert in dem transformierten Bereich und der inversen Funktion
g() unter Heranziehung der Gleichung (3) berechnet. q[i] = g(x) (3) At step S6, the quantization value q [i] in the input region is calculated from the quantization value in the transformed region and the inverse function g () using equation (3). q [i] = g (x) (3)
Beim
Schritt S7 wird ein Test durchgeführt, um zu bestimmen, ob die
Quantisierungswerte für sämtliche
Quantisierungspegel berechnet worden sind, indem bestimmt wird,
ob der Wert von i dem durch die Gleichung (4) höchsten Quantisierungspegel
entspricht: i = (lev – 1)/2 (4) At step S7, a test is performed to determine whether the quantization values for all quantization levels have been calculated by determining whether the value of i equals the highest quantization level through equation (4): i = (lev - 1) / 2 (4)
Falls
beim Schritt S7 bestimmt wird, dass der Wert von i nicht dem höchsten Quantisierungspegel entspricht,
geht die Ausführung
weiter zum Schritt S8, bei dem der Wert von i um 1 inkrementiert
wird, und sodann geht es weiter zum Schritt S5, bei dem die Schleife
wiederholt wird.If
at step S7, it is determined that the value of i does not correspond to the highest quantization level,
the execution goes
proceed to step S8, where the value of i increments by one
and then proceeds to step S5 where the loop
is repeated.
Falls
beim Schritt S7 bestimmt wird, dass der Wert von i dem höchsten Quantisierungspegel
entspricht, zeigt dies an, dass Quantisierungswerte für sämtliche
Quantisierungspegel bestimmt worden sind, und die Ausführung geht
weiter zum Schritt S8. Beim Schritt S8 werden die durch den Quantisierungswert-Rechner 31 berechneten
Quantisierungswerte der Quantisierungseinrichtung 32 zur
Verwendung bei der Quantisierung der Daten zugeführt, die der Quantisierung
unterzogen werden. Die Verarbeitung geht dann weiter zum Schritt
S9, bei dem die Steuerung zur Hauptroutine zurückkehrt.If it is determined in step S7 that the value of i corresponds to the highest quantization level, this indicates that quantization values have been determined for all the quantization levels, and execution proceeds to step S8. In step S8, the values determined by the quantization value calculator 31 calculated quantization values of the quantization device 32 for use in quantizing the data undergoing quantization. The processing then proceeds to step S9, at which control returns to the main routine.
Die
Quantisierungseinrichtung 32 quantisiert die jeweiligen
Daten, die der Quantisierung unterzogen werden, dadurch, dass dem
Ausgangsanschluss 14 ein Quantisierungspegel zugeführt wird,
der aus der Anzahl der Quantisierungspegel ausgewählt ist, die
durch das Eingangssignal bezeichnet sind, welches die Anzahl der
Quantisierungspegel (oder die Anzahl der Quantisierungspegel entsprechend
der eingangsseitigen Wortlänge)
angibt, welche über
den Eingangsanschluss 11 erhalten werden. Die Quantisierungseinrichtung 32 erhält außerdem einen
Quantisierungswert für
jeden Quantisierungspegel vom Quantisierungswert-Rechner 31 zur
Nutzung bei der Quantisierung der Daten, die der Quantisierung zum nächsten Quantisierungswert
unterzogen werden. Die Quantisierungseinrichtung 32 kann
beispielsweise bestimmen, welcher der Quantisierungswerte, die von
dem Quantisierungswert-Rechner 31 erhalten sind, am nächsten im
Wert zu den jeweiligen Daten ist, die der Quantisierung unterzogen
werden, und sie wird den dem betreffenden Quantisierungswert entsprechenden
Quantisierungspegel an den Ausgangsanschluss 14 als die
einen quantisierten Daten abgeben. Jeder dem Ausgangsanschluss 14 zugeführte Quantisierungspegel
weist die Anzahl von Bits auf, die durch das Wortlängen-Eingangssignal
angegeben ist (oder er besitzt die Anzahl von Bits, die dem Eingangssignal
entsprechen, welches die Anzahl von Quantisierungspegeln angibt),
welches durch die Quantisierungseinrichtung 32 vom Eingangsanschluss 11 aufgenommen
wird. Die Quantisierungseinrichtung 32 kann bestimmen,
welcher der Quantisierungswerte im Wert den jeweiligen Daten am nächsten ist,
die der Quantisierung unterzogen werden, und zwar beispielsweise
dadurch, dass Differenzen zwischen den einen Daten und den jeweiligen Quantisierungswerten
bestimmt werden und dass dem Ausgangsanschluss 14 derjenige
Quantisierungspegel zugeführt
wird, der dem Quantisierungswert entspricht, bezüglich dessen die Differenz
am niedrigsten ist.The quantization device 32 quantizes the respective data subjected to the quantization by connecting the output terminal 14 a quantizing level selected from the number of quantizing levels designated by the input signal indicative of the number of quantizing levels (or the number of quantizing levels corresponding to the input word length) supplied through the input terminal 11 to be obtained. The quantization device 32 also obtains a quantization value for each quantization level from the quantization value calculator 31 for use in quantizing the data subjected to the quantization to the next quantization value. The quantization device 32 For example, it may determine which of the quantization values obtained by the quantization value calculator 31 is closest to the respective data subjected to the quantization, and becomes the quantization level corresponding to the quantization value concerned at the output terminal 14 when they submit a quantized data. Each the output terminal 14 The quantization level supplied is the number of bits indicated by the word length input signal (or has the number of bits corresponding to the input signal indicative of the number of quantization levels) which is output by the quantization device 32 from the input terminal 11 is recorded. The quantization device 32 may determine which of the quantization values is closest in value to the respective data undergoing quantization, for example, by determining differences between the one data and the respective quantization values, and that the output terminal 14 the quantization level corresponding to the quantization value with respect to which the difference is lowest is supplied.
Die
bezüglich
der Quantisierungspegel durch den Quantisierungswert-Rechner 31 ausgeführte Verarbeitung
resultiert in Quantisierungswerten, die mit Quantisierungswerten
koinzidieren, wie sie in 5 von
einer bekannten nichtlinearen Quantisierungseinrichtung unter Heranziehung
derselben nichtlinearen Funktion f() veranschaulicht sind. Die durch
das Quanti sierungsverfahren ausgeführte nichtlineare Quantisierung
unterscheidet sich jedoch von der in 5 dargestellten
Verarbeitung, da die Quantisierungseinrichtung 32 im Eingangsbereich arbeitet
und die jeweiligen Daten, die einer Quantisierung unterzogen werden,
zu dem Quantisierungspegel quantisiert, der dem nächsten ungleichmäßig beabstandeten
Quantisierungswert entspricht. Dies führt zu Entscheidungsdaten,
die auf den Mittelpunkten zwischen benachbarten Quantisierungswerten liegen,
und zwar im Unterschied zu den Entscheidungswerten bei der oben
unter Bezugnahme auf die 5 und 6 beschriebenen bekannten
nichtlinearen Quantisierungseinrichtung. Infolgedessen erzeugt das
erste nichtlineare Quantisierungsverfahren Quantisierungsfehler,
die kleiner als die oder gleich den Quantisierungsfehler(n) sind,
welche durch die bekannte nichtlineare Quantisierung erzeugt werden.The quantization levels by the quantization value calculator 31 executed processing results in quantization values that coincide with quantization values as shown in FIG 5 are illustrated by a known nonlinear quantization device using the same nonlinear function f (). However, the nonlinear quantization performed by the quantization method differs from that in 5 represented processing, since the quantization device 32 operates in the input domain and quantizes the respective data undergoing quantization to the quantization level corresponding to the next unevenly spaced quantization value. This results in decision data lying on the midpoints between adjacent quantization values, as distinct from the decision values in the above with reference to FIGS 5 and 6 described known non-linear quantization device. As a result, the first nonlinear quantization method produces quantization errors that are less than or equal to the quantization error (s) generated by the known nonlinear quantization.
Die
voll ausgezogene Linie in 9 zeigt eine
beispielhafte nichtlineare Funktion; die gestrichelte Linie gibt
eine lineare Funktion zum Vergleich an. Die 10A und 10B zeigen
die Quantisierungsfehler, die durch das nichtlineare Quantisierungsverfahren
(volle Linie) erzeugt werden, und zwar im Vergleich zu den Quantisierungsfehlern,
die durch die bekannte nichtlineare Quantisierung (gestrichelte
Linie) erzeugt werden, wenn beide Quantisierungen mit der in 9 durch die volle Linie
dargestellten beispielhaften nichtlinearen Funktionen arbeiten. 10A zeigt die Quantisierungsfehler,
die sich ergeben, wenn die Datenwerte im Bereich von –1,0 bis +1,0
unter Heranziehung von drei Quantisierungspegeln quantisiert werden.
Dabei kann ersehen werden, dass das nichtlineare Quantisierungsverfahren signifikant
kleinere Quantisierungsfehler für
Datenwerte in der Nähe
von –0,4
und +0,4 erzeugt. 10B zeigt
die Quantisierungsfehler, die sich ergeben, wenn Datenwerte im selben
Bereich unter Heranziehung von sieben Quantisierungspegeln quantisiert
werden. In beiden dargestellten Fällen sind die durch das nichtlineare
Quantisierungsverfahren erzeugten Quantisierungsfehler geringer
als die oder gleich den Quantisierungsfehler(n), die durch die bekannte
nichtlineare Quantisierung erzeugt werden.The fully extended line in 9 shows an exemplary nonlinear function; the dashed line indicates a linear function for comparison. The 10A and 10B The quantization errors generated by the nonlinear quantization method (full line), as compared to the quantization errors produced by the known nonlinear quantization (dashed line), show both quantizations with the in 9 working through the full line exemplary nonlinear functions. 10A Figure 12 shows the quantization errors that result when the data values in the range -1.0 to +1.0 are quantized using three quantization levels. It can be seen that the non-linear quantization method produces significantly smaller quantization errors for data values near -0.4 and +0.4. 10B Figure 12 shows the quantization errors that result when data values are in the same range using seven quantization levels be quantized. In both illustrated cases, the quantization errors produced by the non-linear quantization method are less than or equal to the quantization errors (n) produced by the known nonlinear quantization.
Als
Alternative zur Abgabe des Quantisierungswerts für den jeweiligen Quantisierungspegel an
die Quantisierungseinrichtung 32 kann der Quantisierungswert-Rechner 31 einen
Eingangsbereich für
jeden Quantisierungspegel in der Anzahl von Quantisierungspegeln
berechnen und der Quantisierungseinrichtung 32 zuführen. Dies
ermöglicht
es, die Quantisierungseinrichtung 32 zu vereinfachen. Der Quantisierungswert-Rechner 31 kann
aus den Quantisierungswerten, die, wie oben beschrieben, berechnet
sind, einen Entscheidungswert in der Mitte zwischen benachbarten
Quantisierungswerten bestimmen. Die Festlegung des Entscheidungswertes
in der Mitte zwischen benachbarten Quantisierungswerten minimiert
die Quantisierungsfehler. Der Quantisierungswert-Rechner kann dann
einen Eingangsbereich für
jeden Quantisierungspegel aus den berechneten Entscheidungswerten
von benachbarten Quantisierungspegeln ableiten. Der Quantisierungswert-Rechner
kann den berechneten Eingangsbereich für den jeweiligen Quantisierungspegel
an die Quantisierungseinrichtung 32 anstelle des jeweiligen
Quantisierungswertes abgeben. Die Quantisierungseinrichtung 32 kann
dann die Daten, die der Quantisierung unterzogen werden, dadurch
einfach quantisieren, dass bestimmt wird, welcher der von dem Quantisierungswert-Rechner erhaltenen
Eingangsbereiche den Datenwert der jeweiligen Daten umfasst, die
der Quantisierung unterzogen werden, und sie kann den jeweiligen
Quantisierungspegel an den Ausgangsanschluss 14 abgeben.As an alternative to the output of the quantization value for the respective quantization level to the quantization device 32 can the quantization value calculator 31 calculate an input range for each quantization level in the number of quantization levels and the quantizer 32 respectively. This allows the quantizer 32 to simplify. The quantization value calculator 31 can determine a decision value in the middle between adjacent quantization values from the quantization values calculated as described above. The determination of the decision value in the middle between adjacent quantization values minimizes the quantization errors. The quantization value calculator may then derive an input range for each quantization level from the calculated decision values of adjacent quantization levels. The quantization value calculator may apply the calculated input range for the respective quantization level to the quantization device 32 in place of the respective quantization value. The quantization device 32 Then, the data subjected to the quantization can be simply quantized by determining which of the input ranges obtained from the quantization value calculator comprises the data value of the respective data subjected to the quantization, and can supply the respective quantization level to the output terminal 14 submit.
Nunmehr
wird unter Bezugnahme auf die 11 bis 13 ein Beispiel der Anwendung
eines das nichtlineare Quantisierungsverfahren verkörpernden nichtlinearen
Quantisierungseinrichtung in einem Übertragungs- oder Aufzeichnungssystem
für ein
Audiosignal beschrieben. Das nichtlineare Quantisierungsverfahren
ist indessen nicht auf diese Anwendung beschränkt. Das nichtlineare Quantisierungsverfahren
wird die oben beschriebenen Vorteile mit sich bringen, wenn es in
anderen nichtlinearen Quantisierungsanwendungen angewandt wird.
So kann das nichtlineare Quantisierungsverfahren beispielsweise
zur nichtlinearen Quantisierung der Koeffizienten herangezogen werden,
die aus einer orthogonalen Transformation eines quadratischen oder
viereckigen Blockes aus einem Bewegtbildsignal oder aus einem quadratischen
oder viereckigen Block von Fehlern resultieren, welche sich aus
der Ausführung einer
Bewegungskompensation bezüglich
eines Bewegtbildes ergeben.Now, referring to the 11 to 13 an example of the application of a non-linear quantization device embodying the non-linear quantization method in an audio signal transmission or recording system. The non-linear quantization method, however, is not limited to this application. The non-linear quantization method will provide the advantages described above when used in other non-linear quantization applications. For example, the non-linear quantization method can be used for nonlinear quantization of the coefficients resulting from orthogonal transformation of a square or quadrilateral block from a motion picture signal or from a square or quadrilateral block of errors resulting from motion compensation with respect to a motion picture.
11 veranschaulicht den generellen
Aufbau des Übertragungs-
oder Aufzeichnungssystems 110 für ein Audiosignal. In dem dargestellten
System wird das Audio-Eingangssignal vor der Aufzeichnung oder Übertragung
komprimiert, um die Speicherkapazitätsanforderungen bezüglich des
Aufzeichnungsmediums und/oder die Bitratenanforderungen des Übertragungsmediums
zu reduzieren. Das Audio-Eingangssignal wird durch den Audio-Kompressor bzw. -Presser 111 komprimiert,
um ein komprimiertes Signal bereitzustellen, welches dem Übertragungs-
oder Aufzeichnungsmedium 113 zugeführt wird. Das von dem Übertragungs- oder Aufzeichnungsmedium
wiedergegebene komprimierte Signal wird dann durch die Audio-Dehnungseinrichtung 112 gedehnt,
um ein Audio-Ausgangssignal bereitzustellen. Das System 110 arbeitet
normalerweise entsprechend der psychoakustischen Kennlinie des menschlichen
Gehörsinns,
um die Hörbarkeit
von Fehlern zu minimieren, die sich aus dem Prozess des Komprimierens
und Dehnens des Audio-Eingangssignals ergeben. 11 illustrates the general structure of the transmission or recording system 110 for an audio signal. In the illustrated system, the audio input signal is compressed prior to recording or transmission to reduce the storage capacity requirements for the recording medium and / or the bit rate requirements of the transmission medium. The audio input signal is through the audio compressor 111 compressed to provide a compressed signal to the transmission or recording medium 113 is supplied. The compressed signal reproduced from the transmission or recording medium is then passed through the audio-stretching device 112 stretched to provide an audio output. The system 110 usually works according to the psychoacoustic characteristic of the human sense of hearing to minimize the audibility of errors resulting from the process of compressing and stretching the audio input signal.
12 zeigt ein Blockdiagramm
des Audio-Kompressors 111, der entsprechend der psychoakustischen
Kennlinie des menschlichen Gehörsinns arbeitet.
Die Zeit-Frequenz-Analysiereinrichtung 121 empfängt das
Audio-Eingangssignal und teilt das Audio-Eingangssignal in der Zeit und in der
Frequenz in Sätze
von Spektralkomponenten auf. Die Zeit-Frequenz-Analysiereinrichtung
kann beispielsweise das Audio-Eingangssignal in der Zeit in Blöcke unterteilen
und sodann eine orthogonale Transformation der Abtastproben des
Audio-Eingangssignals im jeweiligen Block vom Zeitbereich in den
Frequenzbereich vornehmen, um die Sätze von Spektralkomponenten zu
erzeugen. Alternativ kann die Zeit-Frequenz-Analysiereinrichtung
das Audio-Eingangssignal in eine Vielzahl von Frequenzbändern unterteilen,
beispielsweise unter Verwendung einer Vielzahl von Filtern, und
sie kann die Signalkomponente in jedem der Frequenzbänder in
der Zeit in Sätze
von Spektralkomponenten aufteilen. Die Zeit-Frequenz-Analysiereinrichtung 121 gibt
die Sätze
der Spektralkomponenten an die Bit-Zuweisungseinrichtung 122 und
die Spektral-Quantisierungseinrichtung 123 ab. 12 shows a block diagram of the audio compressor 111 which works according to the psychoacoustic characteristic of the human sense of hearing. The time-frequency analyzer 121 receives the audio input signal and divides the audio input signal in time and in frequency into sets of spectral components. For example, the time-frequency analyzer may divide the audio input signal into blocks in time and then orthogonally transform the samples of the audio input signal in the respective block from the time domain to the frequency domain to produce the sets of spectral components. Alternatively, the time-frequency analyzing means may divide the audio input signal into a plurality of frequency bands using, for example, a plurality of filters, and may divide the signal component in each of the frequency bands into sets of spectral components over time. The time-frequency analyzer 121 gives the sets of spectral components to the bit allocation device 122 and the spectral quantizer 123 from.
Bei
dem in 12 dargestellten
Audio-Kompressor ist die Genauigkeit, mit der die Spektralkomponenten
in jedem Satz der Spektralkomponenten unter Heranziehung einer bestimmten
Anzahl von Bits dargestellt werden, dadurch gesteigert, dass eine
Blockgleitverarbeitung auf jeden Satz der Spektralkomponenten vor
deren Quantisierung angewandt wird. Die Bit-Zuweisungseinrichtung 122 bestimmt
einen Skalierungsfaktor für
jeden Satz, und die Spektral-Quantisierungseinrichtung 123 teilt
die jeweilige Spektralkomponente in dem Satz durch den Skalierungsfaktor.
Die resultierenden Mantissen werden dann quantisiert. In der Praxis
werden, wie dies unten in weiteren Einzelheiten beschrieben wird,
die Spektralkomponenten in jedem Satz von Spektralkomponenten durch
die Frequenz in Frequenzbänder
unterteilt, und die Bit-Zuweisungseinrichtung 122 bestimmt
einen Skalierungsfaktor für
das jeweilige Frequenzband. Die Spektral-Quantisierungseinrichtung 123 wendet
eine Blockgleitverarbeitung auf die Spektralkomponenten im jeweiligen
Frequenzband unter Heranziehung des jeweiligen Skalierungsfaktors
an.At the in 12 In the audio compressor shown in FIG. 1, the accuracy with which the spectral components in each set of spectral components are represented using a certain number of bits is increased by applying block-slip processing to each set of spectral components before their quantization. The bit allocation device 122 determines a scaling factor for each set, and the spectral quantizer 123 divides the respective spectral component in the sentence by the scaling factor. The resulting mantissas are then quantized. In practice, like this will be described in more detail below, dividing the spectral components in each set of spectral components by the frequency into frequency bands, and the bit allocation means 122 determines a scaling factor for the respective frequency band. The spectral quantizer 123 applies block sliding processing to the spectral components in the respective frequency band using the respective scaling factor.
Die
Bit-Zuweisungseinrichtung 122 bestimmt adaptiv die Wortlänge und
den Skalierungsfaktor zur Quantisierung der Spektralkoeffizienten
im jeweiligen Satz der Spektralkomponenten und sie gibt den Skalierungsfaktor
und die Wortlänge
an die Spektral-Quantisierungseinrichtung 123 ab. Die Spektral-Quantisierungseinrichtung 123 nutzt
den Skalierungsfaktor und die Wortlänge zur nichtlinearen Quantisierung
der Spektralkomponenten im jeweiligen Satz der Spektralkomponenten,
indem bei spielsweise die Blockgleitverarbeitung und die nichtlineare Quantisierung
angewandt werden, um einen Satz von nichtlinear quantisierten Spektralkomponenten zu
erzeugen. Schließlich
gibt die Bit-Zuweisungseinrichtung 122 die Bitzuweisungsparameter
ab, und die Spektral-Quantisierungseinrichtung 123 gibt
den jeweiligen Satz der nichtlinear quantisierten Spektralkomponenten
an den Multiplexer 125 ab. Der Multiplexer nimmt eine Multiplexverarbeitung
der Bitzuweisungsparameter und der nichtlinear quantisierten Spektralkomponenten
vor, um das komprimierte Signal zur Abgabe an das Aufzeichnungs-
oder Übertragungsmedium 113 zu
bilden.The bit allocation device 122 It adaptively determines the word length and scaling factor to quantize the spectral coefficients in the respective set of spectral components and gives the scaling factor and word length to the spectral quantizer 123 from. The spectral quantizer 123 uses the scaling factor and word length for non-linear quantization of the spectral components in the respective set of spectral components, for example, by using block-slip processing and non-linear quantization to generate a set of nonlinear quantized spectral components. Finally, the bit allocation means 122 the bit allocation parameters, and the spectral quantizer 123 gives the respective set of nonlinear quantized spectral components to the multiplexer 125 from. The multiplexer multiplexes the bit allocation parameters and the nonlinear quantized spectral components to obtain the compressed signal for delivery to the recording or transmission medium 113 to build.
Um
zu gewährleisten,
dass das Quantisierungsrauschen, welches aus der durch die spektrale Quantisierungseinrichtung 123 ausgeführten nichtlinearen
Quantisierung resultiert, für
den Zuhörer
subjektiv unhörbar
bleibt oder minimal hörbar
ist, wird die durch die Bit-Zuweisungseinrichtung 122 ausgeführte Bit-Zuweisungsverarbeitung
auf der Grundlage eines psychoakustischen Modells ausgeführt, welches schematisch
durch das psychoakustische Modell 124 dargestellt ist.
Das durch die Bitzuweisungsverarbeitung genutzte psychoakustische
Modell könnte
in typischer Weise solche Daten umfassen, wie Schwellwert-Detektierkurven,
Kurven gleicher Lautstärke, Kennlinien
gleichzeitiger Maskierung und Kennlinien temporärer Maskierung.To ensure that the quantization noise resulting from the quantization by the spectral quantization 123 The result is a nonlinear quantization that is subjectively inaudible to the listener, or is minimally audible, through the bit allocation facility 122 executed bit allocation processing is performed on the basis of a psychoacoustic model, which is schematically represented by the psychoacoustic model 124 is shown. The psychoacoustic model used by the bit allocation processing could typically include such data as threshold detection curves, equal volume curves, simultaneous masking characteristics, and temporal masking characteristics.
In
dem Audio-Kompressor 111 kann die in 12 dargestellte Spektral-Quantisierungseinrichtung 123 das
nichtlineare Quantisierungsverfahren anwenden, wie es oben unter
Bezugnahme auf 7 und 8 beschrieben worden ist.
Andere Ausführungsformen
des nichtlinearen Quantisierungsverfahrens, die unten beschrieben
werden, können ebenfalls
für das
erste nichtlineare Quantisierungsverfahren in der Spektral-Quantisierungseinrichtung 123 eingesetzt
werden. Die Spektral-Quantisierungseinrichtung 123 wird
nunmehr unter Bezugnahme auf 12 beschrieben.In the audio compressor 111 can the in 12 illustrated spectral quantization device 123 apply the non-linear quantization method as described above with reference to 7 and 8th has been described. Other embodiments of the non-linear quantization method described below may also be used for the first non-linear quantization method in the spectral quantizer 123 be used. The spectral quantizer 123 will now be with reference to 12 described.
In
der Spektral-Quantisierungseinrichtung 123 empfängt der
Blockgleitprozessor 132 die Sätze der Spektralkomponenten
von der Zeit-/Frequenz-Analysiereinrichtung 121 und er
empfängt
den jeweiligen Skalierungsfaktor für den jeweiligen Satz von der
Bit-Zuweisungseinrichtung 122. Der Blockgleitprozessor 132 wendet
eine Blockgleitverarbeitung auf den jeweiligen Satz der Spektralkomponenten
dadurch an, dass die Spektralkomponenten in dem Satz durch den jeweiligen
Skalierungsfaktor dividiert werden. Die resultierenden Sätze der
durch Blockgleiten verarbeiteten Spektralkomponenten werden der
nichtlinearen Quantisierungseinrichtung 133 über den
Eingangsanschluss 10 zugeführt. Die nichtlineare Quantisierungseinrichtung 133 erhält außerdem die
Wortlänge
für den
jeweiligen Satz der Spektralkomponenten von der Bit-Zuweisungseinrichtung 122 über den
Eingangsanschluss 11 zugeführt und sie führt eine
nichtlineare Quantisierung des jeweiligen Satzes der durch Blockgleiten
verarbeiteten Spektralkomponenten auf die Wortlänge hin aus. Die nichtlineare
Quantisierungseinrichtung gibt den resultierenden Satz der quantisierten
Spektralkomponenten über
den Ausgangsanschluss 14 an den Multiplexer 125 ab.In the spectral quantizer 123 the block sliding processor receives 132 the sets of spectral components from the time / frequency analyzer 121 and it receives the respective scaling factor for the particular set from the bit allocator 122 , The block sliding processor 132 applies block-slip processing to the respective set of spectral components by dividing the spectral components in the set by the respective scale factor. The resulting sets of the block-glide processed spectral components become the non-linear quantizer 133 via the input connection 10 fed. The nonlinear quantization device 133 also obtains the word length for the particular set of spectral components from the bit allocator 122 via the input connection 11 and performs a nonlinear quantization of the respective set of the spectral components processed by block gliding for the word length. The non-linear quantizer gives the resulting set of quantized spectral components over the output port 14 to the multiplexer 125 from.
Wenn
die oben unter Bezugnahme auf 7 beschriebene
und das erste nichtlineare Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung als nichtlineare Quantisierungseinrichtung 133 angewandt
wird, quantisiert die Quantisierungseinrichtung 32 jede
der durch Blockgleiten verarbeiteten Spektralkomponenten in dem
Satz der durch Blockgleiten verarbeiteten Spektralkomponenten, welche
von dem Blockgleitprozessor 132 über den Eingangsanschluss 10 aufgenommen
sind. Die Quantisierungseinrichtung 32 quantisiert die
durch Blockgleiten verarbeiteten Spektralkomponenten zum nächsten Quantisierungswert
in der Anzahl der Quantisierungswerte, die durch den Quantisierungswert-Rechner 31 berechnet
sind. Der Quantisierungswert-Rechner 31 berechnet die Anzahl
der Quantisierungswerte unter Heranziehung der nichtlinearen Funktion
von dem nichtlinearen Funktionsblock 33 und von dem die
jeweilige Wortlänge
angebenden Eingangssignal, das über
den Eingangsan schluss 11 aufgenommen worden ist. Die Quantisierungseinrichtung 32 gibt
den resultierenden Satz der quantisierten Spektralkomponenten über den
Ausgangsanschluss 14 an den Multiplexer 125 ab.If the above with reference to 7 described nonlinear quantization device embodying the first non-linear quantization method as a non-linear quantization device 133 is applied quantizes the quantization device 32 each of the block gliding processed spectral components in the set of block gliding spectral components processed by the block glide processor 132 via the input connection 10 are included. The quantization device 32 quantizes the spectral components processed by block gliding to the next quantization value in the number of quantization values generated by the quantization value calculator 31 are calculated. The quantization value calculator 31 calculates the number of quantization values using the nonlinear function of the nonlinear function block 33 and from the respective word length indicative input signal via the Eingangsan circuit 11 has been recorded. The quantization device 32 gives the resulting set of quantized spectral components over the output port 14 to the multiplexer 125 from.
In
dem Audio-Kompressor 111 kann die Zeit-Frequenz-Analysiereinrichtung 121 auf
einer hybriden Form der Transformation und Subbandcodierung basieren,
obwohl sie auf eine solche Struktur nicht beschränkt ist. Ein Beispiel der Zeit-Frequenz-Analysiereinrichtung 121 unter
Einbeziehung der ATRAC-Hybrid-Codierungstechnik,
die beispielsweise zur Kompression eines PCM-Audiosignals herangezogen
wird, um das komprimierte Signal zur Aufzeichnung auf einer MiniDisc
zu erzeugen, ist in 13 veranschaulicht.
Dem Eingangsanschluss 151 wird ein PCM-Audio-Eingangssignal
im Frequenzbereich von beispielsweise 0 Hz bis 20 kHz zugeführt. Das
Audio-Eingangssignal wird durch das Frequenzbereichs-Unterteilungsfilter 153 in
ein Frequenzbereichssignal im Frequenzbereich von 0 Hz bis 10 kHz
und in ein Signal eines hohen Frequenzbereichs von 10 bis 20 kHz
aufgeteilt. Das Frequenzbereichssignal im Frequenzbereich von 0
Hz bis 10 kHz wird durch das Frequenzbereichs-Unterteilungsfilter 155 weiter
in ein Signal eines unteren Frequenzbereichs von 0 Hz bis 5 kHz
und in ein Signal eines mittleren Frequenzbereichs von 5 bis 10
kHz aufgeteilt. Als Frequenzbereichs-Unterteilungsfilter 153 und 155 werden
vorzugsweise Quadratur-Spiegelfilter (QMFs) verwendet.In the audio compressor 111 can the time-frequency analyzer 121 Although based on a hybrid form of transformation and subband coding, it is not limited to such a structure. An example of the time-fre frequency analyzer 121 incorporating the ATRAC hybrid coding technique, which is used, for example, to compress a PCM audio signal to produce the compressed signal for recording on a MiniDisc, is disclosed in US Pat 13 illustrated. The input connection 151 a PCM audio input signal in the frequency range of, for example, 0 Hz to 20 kHz is supplied. The audio input signal is passed through the frequency domain split filter 153 divided into a frequency domain signal in the frequency range of 0 Hz to 10 kHz and in a signal of a high frequency range of 10 to 20 kHz. The frequency domain signal in the frequency range of 0 Hz to 10 kHz is provided by the frequency domain split filter 155 further divided into a signal of a lower frequency range of 0 Hz to 5 kHz and into a signal of a middle frequency range of 5 to 10 kHz. As a frequency domain subdivision filter 153 and 155 Preferably, quadrature mirror filters (QMFs) are used.
Alternativ
umfasst in dem Fall, dass das PCM-Audio-Eingangssignal einen Frequenzbereich von
0 Hz bis 22 kHz besitzt, das Signal des hohen Frequenzbereichs einen
Frequenzbereich von 11 kHz bis 22 kHz, das Signal des mittleren
Frequenzbereichs umfasst einen Frequenzbereich von 5,5 kHz bis 11
kHz, und das Signal des unteren Frequenzbereichs umfasst einen Frequenzbereich
von 0 Hz bis 5,5 kHz.alternative
in the case that the PCM audio input signal comprises a frequency range of
0 Hz to 22 kHz, the signal of the high frequency range has a
Frequency range from 11 kHz to 22 kHz, the signal of the middle
Frequency range covers a frequency range from 5.5 kHz to 11
kHz, and the lower frequency range signal includes a frequency range
from 0 Hz to 5.5 kHz.
Das
Frequenzbereichssignal im hohen Frequenzbereich wird von dem Frequenzbereichs-Teilungsfilter 153 an
die orthogonale Transformationsschaltung 157 für die hohe
Frequenz abgegeben; das Frequenzbereichssignal im mittleren Frequenzbereich
wird von dem Frequenzbereichs-Teilungsfilter 155 an die
orthogonale Transformationsschaltung 159 für die mittlere
Frequenz abgegeben, und das Frequenzbereichssignal im unteren Frequenzbereich wird
von dem Frequenzbereichs-Teilungsfilter 159 an die orthogonale
Transformationsschaltung 161 für die untere Frequenz abgegeben.The frequency domain signal in the high frequency range is from the frequency domain split filter 153 to the orthogonal transformation circuit 157 delivered for the high frequency; the frequency domain signal in the middle frequency range is from the frequency domain split filter 155 to the orthogonal transformation circuit 159 for the middle frequency, and the frequency domain signal in the lower frequency range is output from the frequency domain dividing filter 159 to the orthogonal transformation circuit 161 delivered for the lower frequency.
Die
orthogonalen Transformationsschaltungen 157, 159 und 161,
die vorzugsweise modifizierte diskrete Kosinustransformationsschaltungen (MDCT)
sind, nehmen eine orthogonale Transformation von Rahmen der jeweiligen
Frequenzbereichssignale zur kollektiven Erzeugung entsprechender Sätze von
Spektralkomponenten für
die Abgabe an die Bit-Zuweisungseinrichtung 122 und die
Spektral-Quantisierungseinrichtung 123 vor. Die durch die orthogonalen
Transformationsschaltungen 157, 159, 161 kollektiv
erzeugten Sätze
von Spektralkomponenten werden dem Ausgangsanschluss 165 zugeführt, von
dem sie der Bit-Zuweisungseinrichtung 122 und der Spektral-Quantisierungseinrichtung 123 zugeführt werden.The orthogonal transformation circuits 157 . 159 and 161 , which are preferably Modified Discrete Cosine Transform (MDCT) circuits, take an orthogonal transform of frames of the respective frequency domain signals to collectively generate corresponding sets of spectral components for output to the bit allocator 122 and the spectral quantizer 123 in front. Those through the orthogonal transformation circuits 157 . 159 . 161 collectively generated sets of spectral components become the output port 165 supplied by the bit allocation device 122 and the spectral quantizer 123 be supplied.
Das
von dem Eingangsanschluss 151 her empfangene Audio-Eingangssignal
wird annahmegemäß in Rahmen
aus einer bestimmten Anzahl von Abtastproben unterteilt. Die orthogonalen
Transformationsschaltungen 157, 159 und 161 nehmen
eine orthogonale Transformation der Rahmen der drei Frequenzbereichssignale
vor, die aus dem jeweiligen Rahmen des Audio-Eingangssignals abgeleitet
sind, um kollektiv einen Satz von Spektralkomponenten zu erzeugen.
Um weitere Flexibilität
bereitzustellen und hörbare
Zeitbereichs-Artefakte zu eliminieren, wie eine Rauschmodulation,
nehmen die orthogonalen Transformationsschaltungen 157, 159 und 161 eine orthogonale
Transformation des jeweiligen Rahmens der Frequenzbereichssignale
in Blöcke
mit einer variablen Blocklänge
vor. Die Blocklänge,
in die das jeweilige Frequenzbereichssignal orthogonal transformiert
wird, ist gleich der Rahmenlänge
dividiert durch 2n, wobei n eine positive
ganze Zahl ist, die gleich oder größer als Null ist. Die Blocklängen, in
die der jeweilige Rahmen des Audio-Eingangssignals in die drei Frequenzbereiche
orthogonal transformiert wird, werden durch den Blocklängen-Entscheidungsblock 163 auf
der Grundlage der dynamischen Spektralcharakteristiken des digitalen
Eingangssignals entschieden. Generell wird das Signal des hohen
Frequenzbereichs in Blöcke
orthogonal transformiert, die eine kürzere Blocklänge aufweisen
als die Signale des unteren und mittleren Frequenzbereichs. Der Blocklängen-Entscheidungsblock 163 verringert
außerdem
die Blocklängen
in Rahmen des digitalen Eingangssignals, in welchem der Pegel des
digitalen Eingangssignals sich im Vergleich zu Rahmen des digitalen
Eingangssignals ändert,
in welchem der Pegel relativ konstant bleibt.That from the input terminal 151 The received audio input signal is assumed to be divided into frames of a certain number of samples. The orthogonal transformation circuits 157 . 159 and 161 Orthogonal transform the frames of the three frequency domain signals derived from the respective frame of the audio input signal to collectively produce a set of spectral components. To provide further flexibility and eliminate audible time domain artifacts, such as noise modulation, the orthogonal transform circuits take 157 . 159 and 161 an orthogonal transformation of the respective frame of the frequency domain signals into blocks with a variable block length. The block length to which the respective frequency domain signal is orthogonally transformed is equal to the frame length divided by 2 n , where n is a positive integer equal to or greater than zero. The block lengths into which the respective frame of the audio input signal is orthogonally transformed into the three frequency ranges are determined by the block length decision block 163 based on the dynamic spectral characteristics of the digital input signal. In general, the signal of the high frequency range is orthogonally transformed into blocks having a shorter block length than the signals of the lower and middle frequency ranges. The block length decision block 163 Also reduces the block lengths in frames of the digital input signal in which the level of the digital input signal changes in comparison to frames of the digital input signal in which the level remains relatively constant.
Bei
einer anderen möglichen
Konfiguration der Zeit-Frequenz-Analysiereinrichtung 121 in
dem Audio-Kompressor 112 wird eine Zeit-Frequenz-Transformation ähnlich jener
angewandt, die durch den MPEG-Schicht-3-Audiocodierungsstandard
spezifiziert ist. In diesem Falle wird das Audio-Eingangssignal
durch einen Satz von Filtern in 32 Subbänder gleicher Breite aufgeteilt,
gefolgt von einer MDCT-Transformation.In another possible configuration of the time-frequency analyzer 121 in the audio compressor 112 For example, a time-frequency transform similar to that specified by the MPEG Layer 3 audio coding standard is used. In this case, the audio input signal is divided by a set of filters into 32 subbands of equal width, followed by an MDCT transform.
In
dem oben beschriebenen Audio-Kompressor 111 können die
Spektralkomponenten in den Sätzen
der Spektralkomponenten vor der Quantisierung durch die Spektral-Quantisierungseinrichtung 123 in Frequenzbänder aufgeteilt
sein. In diesem Falle wird die Bit-Zuweisungseinrichtung 122 einen
Skalierungsfaktor und eine Wortlänge
zur Quantisierung der Spektralkomponenten im jeweiligen Frequenzband
zuweisen, und der Blockgleitprozessor 132 wird eine Blockgleitverarbeitung
auf die Spektralkomponenten im jeweiligen Frequenzband anwenden;
die nichtlineare Quantisierungseinrichtung wird die Spektralkomponenten
im jeweiligen Frequenzband auf die jeweilige Wortlänge für das Band
hin nichtlinear quantisieren. Wenn die nichtlineare Quantisierungseinrichtung 133 das
erste nichtlineare Quantisierungsverfahren gemäß der Erfindung verkörpert, berechnet
der Quanti sierungswert-Rechner 31 darin einen Quantisierungswert
für jeden
Pegel aus der Anzahl der Quantisierungspegel, die durch die jeweilige
Wortlänge
im jeweiligen Frequenzband angegeben ist, und die Quantisierungseinrichtung 32 darin quantisiert
die einer Blockgleitverarbeitung unterzogenen Spektralkomponenten
im jeweiligen Frequenzband zum nächsten
Quantisierungswert, der für
das Band durch den Quantisierungswert-Rechner 31 bestimmt
ist.In the audio compressor described above 111 For example, the spectral components in the sets of spectral components may be quantized by the spectral quantizer 123 be divided into frequency bands. In this case, the bit allocation device becomes 122 assign a scale factor and a word length to quantize the spectral components in the respective frequency band, and the block sliding processor 132 will apply block-slip processing to the spectral components in the respective frequency band; the nonlinear quantization device will not line up the spectral components in the respective frequency band to the respective word length for the band quantize ar. When the non-linear quantizer 133 The first non-linear quantization method according to the invention embodies the quantization value calculator 31 therein a quantization value for each level from the number of quantization levels indicated by the respective word length in the respective frequency band, and the quantization means 32 in it, the spectral components subjected to block-slip processing in the respective frequency band quantizes to the next quantization value, that for the band by the quantization value calculator 31 is determined.
In
dem Audio-Übertragungs-
oder -Aufzeichnungssystem 110 nimmt die Dehnungseinrichtung 112 eine
genaue Dehnung des von dem Aufzeichnungs- oder Übertragungsmedium 113 wiedergegebenen
komprimierten Signals vor, solange die nichtlineare Dequantisierungseinrichtung
in der Dehnungsvorrichtung die inverse Funktion der nichtlinearen Funktion
nutzt, die von der nichtlinearen Quantisierungseinrichtung 133 in
dem Kompressor 111 verwendet ist. Soweit die Dehnungseinrichtung
betroffen ist, ist es irrelevant, ob die quantisierten Spektralkomponenten
in dem komprimierten Signal unter Heranziehung der nichtlinearen
Quantisierung oder gemäß dem Stand
der Technik quantisiert wurden, da die Quantisierungswerte der Quantisierungspegel
in beiden Fällen
dieselben sind. Wenn jedoch die quantisierten Spektralkomponenten
im komprimierten Signal durch das nichtlineare Quantisierungsverfahren nichtlinear
quantisiert worden sind, werden indessen die Quantisierungsfehler,
die sich ergeben, wenn die Dehnungseinrichtung 112 das
komprimierte Signal dehnt, kleiner als dann, wenn die nichtlineare
Quantisierung gemäß dem Stand
der Technik ausgeführt worden
ist. Der Grund hierfür
liegt darin, dass die nichtlineare Quantisierung Entscheidungswerte nutzt,
die verschieden sind von jenen, die bei der bekannten nichtlinearen
Quantisierung unter Heranziehung derselben nichtlinearen Funktion
verwendet worden sind.In the audio transmission or recording system 110 takes the stretching device 112 a precise elongation of that of the recording or transmission medium 113 as long as the non-linear dequantizing device in the expander device utilizes the inverse function of the nonlinear function provided by the non-linear quantizer 133 in the compressor 111 is used. As far as the expander is concerned, it is irrelevant whether the quantized spectral components in the compressed signal were quantized using nonlinear quantization or the prior art, since the quantization values of the quantization levels are the same in both cases. However, when the quantized spectral components in the compressed signal have been nonlinearly quantized by the non-linear quantization method, however, the quantization errors that result when the expander becomes 112 the compressed signal stretches smaller than when the nonlinear quantization has been performed according to the prior art. The reason for this is that the non-linear quantization uses decision values different from those used in the known non-linear quantization using the same nonlinear function.
Die
nichtlineare Quantisierungseinrichtung, welche das oben unter Bezugnahme
auf die 7 und 8 beschriebene nichtlineare
Quantisierungsverfahren verkörpert,
nutzt eine feste nichtlineare Funktion f() und berechnet die Quantisierungswerte
je weils erneut, wenn die Wortlänge
oder die Anzahl der Quantisierungspegel geändert wird. Dies kann erhebliche
Rechenleistung verbrauchen. Überdies
können
sich die Quantisierungswirkungen einer vorgegebenen nichtlinearen
Funktion f() entsprechend der Anzahl der Quantisierungspegel ändern.The non-linear quantization device which uses the above with reference to FIGS 7 and 8th describes nonlinear quantization methods, uses a fixed non-linear function f (), and recalculates the quantization values each time the word length or the number of quantization levels is changed. This can consume considerable computing power. Moreover, the quantization effects of a given nonlinear function f () may change according to the number of quantization levels.
Demgemäß verwendet
eine ein zweites nichtlineares Quantisierungsverfahren verkörpernde nichtlineare
Quantisierungseinrichtung eine Nachschlagtabelle, die einen Eingangsbereich
x mit einem quantisierten Ausgangs- bzw. Abgabewert T[x] für jeden
Quantisierungspegel definiert bzw. festlegt. Es braucht keine Vorverarbeitung
unter Heranziehung der nichtlinearen Funktion f() während der
Quantisierungsverarbeitung ausgeführt zu werden. Stattdessen
wird die Nichtlinearität
der Quantisierung durch die Verteilung der in T[] spezifizierten
Eingangsbereiche bestimmt. Diese Eingangsbereiche können beliebig
festgelegt sein, ohne die Komplexität des Quantisierungsprozesses
zu ändern.
Eine gesonderte Nachschlagtabelle T[] muss für jede mögliche Anzahl von Quantisierungspegeln
spezifiziert werden. Wenn die Eingangsbereiche und die Quantisierungswerte
in der jeweiligen Nachschlagtabelle T[] auf einer einzigen nichtlinearen
Funktion f() basieren, dann können
die Eingangsbereiche und die Quantisierungswerte in einer solchen
Weise gewählt
werden, dass eine das zweite nichtlineare Quantisierungsverfahren
verkörpernde
nichtlineare Quantisierungseinrichtung geringere Quantisierungsfehler
erzeugt als eine bekannte nichtlineare Quantisierungseinrichtung
auf der Grundlage derselben nichtlinearen Funktion.Accordingly used
a non-linear one embodying a second non-linear quantization method
Quantization means a look-up table, which has an input range
x with a quantized output value T [x] for each
Quantization level defines or defines. It does not need preprocessing
using the nonlinear function f () during the
Quantization processing to be executed. Instead
becomes the nonlinearity
quantization by the distribution of those specified in T []
Input ranges determined. These input areas can be arbitrary
be fixed without the complexity of the quantization process
to change.
A separate lookup table T [] must be used for each possible number of quantization levels
be specified. When the input ranges and the quantization values
in the respective lookup table T [] on a single nonlinear
Function f () based, then you can
the input ranges and the quantization values in such
Chosen way
be that one the second non-linear quantization method
embodying
non-linear quantization device lower quantization errors
generated as a known nonlinear quantization device
based on the same nonlinear function.
In 14 ist ein Blockdiagramm
einer das zweite nichtlineare Quantisierungsverfahren verkörpernden
nichtlinearen Quantisierungseinrichtung 40 veranschaulicht.
Bei diesem zweiten nichtlinearen Quantisierungsverfahren werden
die Daten, die einer Quantisierung unterzogen werden, unter Heranziehung
einer Nachschlagtabelle nichtlinear quantisiert, welche aus einem
Satz von Nachschlagtabellen ausgewählt ist, um die nichtlinear
quantisierten Daten zu erzeugen.In 14 Fig. 10 is a block diagram of a non-linear quantizer embodying the second non-linear quantization method 40 illustrated. In this second non-linear quantization method, the data subjected to quantization is non-linearly quantized by using a look-up table selected from a set of look-up tables to generate the nonlinear quantized data.
In 14 empfängt die Tabellen-Quantisierungseinrichtung 42 in
der nichtlinearen Quantisierungseinrichtung 40 die Daten,
die Gegenstand der Quantisierung sind, über den Eingangsanschluss 10, quantisiert
die jeweiligen Daten, die Gegenstand der Quantisierung sind, unter
Heranziehung einer Nachschlagtabelle, die von der Tabellen-Auswahleinrichtung 42 erhalten
worden ist, um die jeweiligen nichtlinear quantisierten Daten zu
erzeugen, und gibt die resultierenden quantisierten Daten an den
Ausgangsanschluss 14 ab. Die Daten, die der Quantisierung
unterzogen werden und die über
den Eingangsanschluss 10 aufgenommen worden sind, stellen normalerweise
einen Block oder einen Satz von Daten dar, wie einen Satz von Spektralkoeffizienten,
die unter Heranziehung derselben Anzahl von Quantisierungspegeln
oder derselben Wortlänge
zu quantisieren sind.In 14 receives the table quantizer 42 in the non-linear quantizer 40 the data that is the subject of the quantization, via the input terminal 10 , quantizes the respective data that is the subject of quantization using a look-up table provided by the table selector 42 has been obtained to generate the respective nonlinear quantized data, and outputs the resulting quantized data to the output terminal 14 from. The data subjected to the quantization and that via the input terminal 10 normally represent a block or set of data, such as a set of spectral coefficients to be quantized using the same number of quantization levels or word length.
Die
Tabellen-Auswahleinrichtung 41 speichert einen Satz von
Nachschlagtabellen zur Nutzung durch die Tabellen-Quantisierungseinrichtung 42.
Die Tabellen-Auswahleinrichtung 41 empfängt über den Eingangsanschluss 11 ein
Eingangssignal, welches die Anzahl der Quantisierungspegel angibt, die
zur Quantisierung der der Quantisierung zu unterziehenden Daten
heranzuziehen sind. Auf das Eingangssignal hin, welches die Anzahl
an Quantisierungspegeln angibt, wählt die Tabellenauswahleinrichtung 41 eine
der Nachschlagtabellen aus dem Satz der darin gespeicherten Nachschlagtabellen aus
und gibt die ausgewählte
Nachschlagtabelle an die Tabellen-Quantisierungseinrichtung 42 ab.
Die Tabellen-Auswahleinrichtung 41 kann anstelle des die
Anzahl der Quantisierungspegel angebenden Eingangssignals alternativ
ein Eingangssignal aufnehmen, welches die zur Quantisierung der
Daten, die Gegenstand der Quantisierung sind, zu verwendende Wortlänge angibt.The table selector 41 stores a set of lookup tables for use by the table quantizer 42 , The table selector 41 receives via the input port 11 an input signal indicating the number of quantization levels which are to be used to quantify the data to be subjected to quantization. In response to the input signal indicating the number of quantization levels, the table selector selects 41 one of the lookup tables from the set of lookup tables stored therein, and passes the selected lookup table to the table quantizer 42 from. The table selector 41 For example, instead of the input signal indicating the number of quantization levels, an input signal indicating the word length to be used for quantizing the data that is the subject of the quantization may alternatively be included.
Die
Nachschlagtabellen in dem Satz der in der Tabellen-Auswahleinrichtung 41 gespeicherten Nachschlagtabellen
werden normalerweise von einer nichtlinearen Funktion f() abgeleitet,
die in 14 schematisch
durch den nichtlinearen Funktions block 43 angegeben ist.
Der Satz der in der Tabellen-Auswahleinrichtung 41 gespeicherten
Nachschlagtabellen für
eine vorgegebene nichtlineare Funktion besteht aus einer eindeutigen
Nachschlagtabelle für
jeden möglichen
Wert der Anzahl von Quantisierungspegeln (oder Wortlänge). Jede
Nachschlagtabelle besteht aus einem Tabelleneintrag für den jeweiligen Quantisierungspegel
in der Anzahl der Quantisierungspegel, die durch die über den
Eingangsanschluss 11 aufgenommenen Quantisierungspegeldaten
angegeben sind. Jeder Tabelleneintrag besteht aus dem Eingangsbereich
und dem abgegebenen quantisierten Wert für den Quantisierungspegel.The lookup tables in the set of the in the table selector 41 stored lookup tables are usually derived from a nonlinear function f () written in 14 schematically by the non-linear function block 43 is specified. The set of the in the table selector 41 stored lookup tables for a given nonlinear function consists of a unique lookup table for each possible value of the number of quantization levels (or word length). Each look-up table consists of a table entry for the respective quantization level in the number of quantization levels that pass through the input terminal 11 recorded quantization level data are specified. Each table entry consists of the input range and the output quantized quantized level.
Die
Vereinigung der Eingangsbereiche für sämtliche Tabelleneinträge in jeder
Nachschlagtabelle muss den Bereich von Datenwerten der Daten umfassen,
die Gegenstand der Quantisierung sind, so dass ein Tabelleneintrag
für jeden
möglichen
Datenwert im Bereich der Datenwerte existiert. Darüber hinaus
darf keine Überlappung
der Eingangsbereiche der Tabelleneinträge in der jeweiligen Nachschlagtabelle
vorhanden sein, so dass nicht mehr als ein Tabelleneintrag für jeden
möglichen
Datenwert im Bereich der Datenwerte existiert. Mit anderen Worten ausgedrückt heißt dies,
dass in jeder Nachschlagtabelle ein und nur ein Tabelleneintrag
vorhanden sein darf bzw. muss, der einen Eingangsbereich aufweist, welcher
dem jeweils möglichen
Datenwert im Bereich der Datenwerte entspricht.The
Combining the input areas for all table entries in each
Lookup table must span the range of data values of the data
which are the subject of quantization, making a table entry
for each
potential
Data value in the range of data values exists. Furthermore
must not overlap
the input ranges of the table entries in the respective lookup table
be present, so no more than one table entry for each
potential
Data value in the range of data values exists. In other words, this means
that in every lookup table one and only one table entry
may or must be present, which has an entrance area, which
each possible
Data value in the range of data values corresponds.
In 15 ist ein Beispiel der
Nachschlagtabelle für
fünf Quantisierungspegel
veranschaulicht. Um die Tabelle zu vereinfachen, sind die Eingangsdatenbereiche
durch Dezimalzahlen mit einer Auflösung von 0,01 anstelle von
Binärzahlen
mit einer Auflösung
des niederwertigsten Bits dargestellt. In der Praxis würden die
Eingangsbereiche durch Binärzahlen
mit einer Anzahl von Bits dargestellt werden, die gleich oder größer ist
als die Anzahl von Bits in den jeweiligen Daten, die Gegenstand
der Quantisierung sind. Um sicherzustellen, dass die Eingangsbereiche den
gesamten Bereich von Datenwerten ohne Überlappung abdecken, würde das
Maximum des jeweiligen Datenbereichs vom Minimum des nächst höheren Eingangsbereichs
um das niederwertigste Bit differieren.In 15 an example of the lookup table for five quantization levels is illustrated. To simplify the table, the input data ranges are represented by decimal numbers with a resolution of 0.01 instead of binary numbers with a resolution of the least significant bit. In practice, the input ranges would be represented by binary numbers having a number of bits equal to or greater than the number of bits in the respective data that are the subject of the quantization. To ensure that the input ranges cover the entire range of data values without overlapping, the maximum of the respective data range would differ from the minimum of the next higher input range by the least significant bit.
Zurückkommend
auf 14 sei nunmehr angemerkt,
dass die Tabellen-Auswahleinrichtung 41 die in Frage kommende
Nachschlagtabelle aus dem Satz der darin gespeicherten Nachschlagtabellen
auf das Eingangssignal hin auswählt,
welches über
den Eingangsanschluss 11 aufgenommen worden ist und welches
die Anzahl der Quantisierungspegel zur Quantisierung der Daten,
die Gegenstand der Quantisierung sind, angibt, wobei die betreffende
Auswahleinrichtung die ausgewählte
Nachschlagtabelle der Tabellen-Quantisierungseinrichtung 42 zuführt. Sodann
bestimmt die Quantisierungseinrichtung für die jeweiligen Daten, die
Gegenstand der Quantisierung sind, den einen Bereich der Eingangsbereiche
in der ausgewählten
Nachschlagtabelle, in den der Datenwert fällt, und sie stellt den entsprechenden
abgegeben quantisierten Wert aus der Nachschlagtabelle als die jeweiligen
einen nichtlinear quantisierten Daten der nichtlinear quantisierten
Daten zur Verfügung.Coming back to 14 It should now be noted that the table selector 41 selects the candidate look-up table from the set of look-up tables stored therein for the input signal that passes through the input port 11 which indicates the number of quantization levels for the quantization of the data subject to the quantization, wherein the selection means concerned is the table look-up table of the quantization means 42 supplies. Then, the quantizing means for the respective data subject to the quantization determines the one range of the input ranges in the selected lookup table into which the data value falls, and sets the corresponding output quantized value from the lookup table as the respective one nonlinear quantized data nonlinear quantized data available.
Die
in 14 dargestellte nichtlineare
Quantisierungseinrichtung 40 liefert eine große Portion
an Flexibilität,
da sie eine Quantisierung unter Heranziehung irgendeiner nichtlinearen
Funktion f() ausführen kann
und da ihre Komplexität
nicht mit zunehmender Komplexität
der nichtlinearen Funktion f() zunimmt.In the 14 illustrated non-linear quantization device 40 provides a great deal of flexibility, since it can perform quantization using some nonlinear function f () and because its complexity does not increase with increasing complexity of the nonlinear function f ().
Bei
der Erzeugung der in der Tabellen-Auswahleinrichtung 41 gespeicherten
Nachschlagtabellen können
die Grenzen der Eingangsbereiche in irgendeiner gewünschten
Weise bestimmt werden, beispielsweise durch Umwandlung von einer
nichtlinearen Funktion f() oder durch direkte Berechnung.When creating the in the table selector 41 stored look-up tables, the boundaries of the input areas may be determined in any desired manner, for example by conversion from a nonlinear function f () or by direct calculation.
Wenn
die Eingangsbereiche direkt berechnet werden, erzeugt die nichtlineare
Quantisierungseinrichtung 40 die geringeren Quantisierungsfehler, die
durch das erste nichtlineare Quantisierungsverfahren bereitgestellt
werden, welches mit derselben nichtlinearen Funktion arbeitet. Diese
Quantisierungsfehler sind geringer als bei der in 2 dargestellten bekannten nichtlinearen
Quantisierungseinrichtung, die mit derselben nichtlinearen Funktion
arbeitet. Wie in 6 veranschaulicht,
liegen die Entscheidungswerte zwischen den Quantisierungspegeln
bei der in 2 dargestellten
bekannten nichtlinearen Quantisierungseinrichtung nicht an bzw.
auf den Mittelpunkten zwischen den Quantisierungswerten. Infolgedessen
werden einige Datenwerte nicht zum nächsten Quantisierungswert quantisiert.
Dies stellt ein Artefakt der bekannten nichtlinearen Quantisierungseinrichtungen
dar. Die das zweite Quantisierungsverfahren verkörpernde nichtlineare Quantisierungseinrichtung
gestattet es andererseits, die Eingangsbereiche in den Nachschlagtabellen
so zu wählen,
dass die Entscheidungswerte veranlasst sind, exakt auf die Mittelpunkte
zwischen den Quantisierungswerten zu fallen. Wenn dies geschieht,
sind die durch das zweite nichtlineare Quantisierungsverfahren erzeugten
Quantisierungsfehler so, wie dies in 10A und 10B durch die voll ausgezogenen
Linien veranschaulicht ist, und zwar für eine 3-Pegel- bzw. 7-Pegel-Quantisierung.
Die durch die bekannte nichtlineare Quantisierung erzeugten Quantisierungsfehler
sind in diesen Zeichnungsfiguren zum Vergleich durch gestrichelte
Linien dargestellt.When the input ranges are calculated directly, the non-linear quantizer generates 40 the lower quantization errors provided by the first non-linear quantization method operating with the same nonlinear function. These quantization errors are lower than those in 2 The known nonlinear quantization device which operates with the same nonlinear function. As in 6 illustrates the decision values between the quantization levels at the in 2 The known nonlinear quantization device shown does not appear at or at the midpoints between the quantization values. As a result, some data values are not quantized to the next quantization value. This represents an artifact of the known nonlinear quantization devices. The second quanti On the other hand, the non-linear quantization device embodying the invention allows the input ranges in the look-up tables to be selected such that the decision values are made to fall exactly at the midpoints between the quantization values. When this happens, the quantization errors produced by the second non-linear quantization method are as in 10A and 10B is illustrated by the solid lines, for a 3-level and 7-level quantization. The quantization errors produced by the known non-linear quantization are shown by dashed lines in these drawing figures for comparison.
Wie
oben erwähnt,
kann die das erste nichtlineare Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung 30 durch die das zweite
nichtlineare Quantisierungsverfahren verkörpernde nichtlineare Quantisierungseinrichtung 40 als nichtlineare
Quantisierungseinrichtung 133 in dem Kompressor 111 des
in 11 bis 13 dargestellten Audiosignal-Übertragungs- oder -Aufzeichnungssystems
ersetzt werden. Das zweite nichtlineare Quantisierungsverfahren
bringt die oben beschriebenen Vorteile mit sich, wenn es in anderen
nichtlinearen Quantisierungsanwendungen genutzt wird.As mentioned above, the nonlinear quantization device embodying the first non-linear quantization method 30 by the nonlinear quantization device embodying the second non-linear quantization method 40 as a non-linear quantizer 133 in the compressor 111 of in 11 to 13 replaced audio signal transmission or recording system. The second non-linear quantization method brings the advantages described above when used in other non-linear quantization applications.
Wenn
eine das zweite nichtlineare Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung als nichtli neare Quantisierungseinrichtung 133 verwendet
wird, empfängt
die Tabellen-Auswahleinrichtung 41 die Wortlänge für jeden Satz
von Spektralkomponenten von der Bit-Zuweisungseinrichtung 122 über den
Eingangsanschluss 11, und die Tabellen-Quantisierungseinrichtung 42 empfängt die
Sätze der
einer Blockgleitverarbeitung unterzogenen Spektralkomponenten von
dem Blockgleitprozessor 132 über den Eingangsanschluss 10. Die
Tabellen-Quantisierungseinrichtung quantisiert sodann die durch
Blockgleiten verarbeiteten Spektralkomponenten im jeweiligen Satz
unter Heranziehung der durch die Tabellen-Auswahleinrichtung 41 ausgewählten Nachschlagtabelle
auf die Wortlänge für den von
der Bit-Zuweisungseinrichtung 122 hin empfangenen Satz.
Die Tabellen-Quantisierungseinrichtung gibt den resultierenden Satz
der quantisierten Spektralkomponenten über den Ausgangsanschluss 14 an
den Multiplexer 125 ab.When a nonlinear quantization device embodying the second non-linear quantization method is a nonlinear quantization device 133 is used receives the table selector 41 the word length for each set of spectral components from the bit allocation device 122 via the input connection 11 , and the table quantizer 42 receives the sets of the spectral components subjected to block-slip processing from the block floating-point processor 132 via the input connection 10 , The table quantizer then quantizes the block-sliced spectral components in each sentence using the table selector 41 selected look-up table to the word length for that of the bit allocation device 122 received sentence. The table quantizer gives the resulting set of quantized spectral components over the output port 14 to the multiplexer 125 from.
Falls
die Sätze
der Spektralkomponenten vor der Quantisierung in Frequenzbänder aufgeteilt
werden, wird die Bit-Zuweisungseinrichtung 122 einen Skalierungsfaktor
und eine Wortlänge
zur Quantisierung der Spektralkomponenten im jeweiligen Frequenzband
zuweisen, und der Blockgleitprozessor 132 wird eine Blockgleitverarbeitung
auf die Spektralkomponenten im jeweiligen Frequenzband ausüben. In
diesem Falle wird die Tabellen-Auswahleinrichtung 41 eine
Nachschlagtabelle für
jedes Frequenzband zur Abgabe an die Tabellen-Quantisierungseinrichtung 42 auswählen, und
die Tabellen-Quantisierungseinrichtung 42 wird die der
Blockgleitverarbeitung unterzogenen Spektralkomponenten im jeweiligen
Band unter Heranziehung der von der Tabellen-Auswahleinrichtung
erhaltenen Nachschlagtabelle für
das Band quantisieren. Alternativ kann die Tabellen-Auswahleinrichtung 41 eine
Nachschlagtabelle entsprechend jeder der unterschiedlichen Wortlängen auswählen, mit
denen der Satz der Spektralkomponenten zu quantisieren ist, und
sie kann diese Nachschlagtabellen an die Tabellen-Quantisierungseinrichtung 42 zusammen
mit Korrelationsdaten abgeben, die angeben, welche Nachschlagtabelle
zur Quantisierung jedes der Frequenzbänder zu nutzen ist. Die Tabellen-Quantisierungseinrichtung
würde dann
die Spektralkomponenten in jedem der Frequenzbänder unter Heranziehung der
durch die Korrelationsdaten bezeichneten Nachschlagtabelle quantisieren.If the sets of the spectral components are divided into frequency bands before quantization, the bit allocation means becomes 122 assign a scale factor and a word length to quantize the spectral components in the respective frequency band, and the block sliding processor 132 will perform block-slip processing on the spectral components in the respective frequency band. In this case, the table selector becomes 41 a look-up table for each frequency band for delivery to the table quantizer 42 and the table quantizer 42 is used to quantize the spectral components subjected to the block sliding processing in the respective band by using the band look-up table obtained from the table selector. Alternatively, the table selector 41 It may select a look-up table corresponding to each of the different word lengths with which to quantize the set of spectral components, and may pass those look-up tables to the table quantizer 42 along with correlation data indicating which look-up table to use to quantize each of the frequency bands. The table quantizer would then quantize the spectral components in each of the frequency bands using the look-up table designated by the correlation data.
Der
Quantisierungswert für
den jeweiligen Quantisierungspegel kann in den Tabellen in der Tabellen-Auswahleinrichtung 41 anstelle
des Eingangsbereichs für
den jeweiligen Quantisierungswert gespeichert werden. In diesem
Falle wird die Tabellen-Quantisierungseinrichtung
die jeweiligen Daten, die Gegenstand der Quantisierung sind, zum
nächsten
Quantisierungswert quantisieren.The quantization value for the respective quantization level can be found in the tables in the table selector 41 stored instead of the input range for the respective quantization value. In this case, the table quantizer will quantize the respective data that is the subject of the quantization to the next quantization value.
Nunmehr
wird unter Bezugnahme auf die 16A, 16B und 17 eine ein drittes nichtlineares Quantisierungsverfahren
verkörpernde
nichtlineare Quantisierungseinrichtung 50 beschrieben.
Die nichtlineare Quantisierungseinrichtung 50 basiert auf
der in 2 dargestellten
nichtlinearen Quantisierungseinrichtung 10, und die Daten,
die Gegenstand einer Quantisierung sind, werden gemäß einer
nichtlinearen Funktion vorverarbeitet, bevor sie unter Heranziehung
einer linearen Quantisierungseinrichtung quantisiert werden. In
der nichtlinearen Quantisierungseinrichtung 50 werden Quantisierungsfehler
in Bezug auf jene, die durch die in 2 dargestellte nichtlineare
Quantisierungseinrichtung 10 hervorgerufen werden, dadurch
verringert, dass die zur Vorverarbeitung der Daten, die Gegenstand
der Quantisierung sind, benutzte nichtlineare Funktion durch eine
ausgewählte
stückweise
lineare Approximation der nichtlinearen Funktion ersetzt wird. Die
ausgewählte
stückweise
lineare Approximation hängt
von der Anzahl der Quantisierungspegel (oder der Wortlänge) ab,
mit denen bzw. der die Daten, die Gegenstand der Quantisierung sind,
auf die Vorverarbeitung hin quantisiert werden. Die vorverarbeiteten
Daten, die aus der Vorverarbeitung der Daten, welche Gegenstand
der Quantisierung sind, mit der ausgewählten stückweisen linearen Approximation
resultieren, werden dann mit der entsprechenden Anzahl von Quantisierungspegeln
linear quantisiert, die gleichmäßig beabstandete
Quantisierungswerte auf weisen, um die nichtlinear quantisierten
Daten zu liefern. Das dritte nichtlineare Quantisierungsverfahren liefert
geringere Quantisierungsfehler als die bekannte nichtlineare Quantisierung
unter Heranziehung desselben Prototyps von nichtlinearer Funktion.Now, referring to the 16A . 16B and 17 a nonlinear quantizer embodying a third non-linear quantization method 50 described. The nonlinear quantization device 50 based on the in 2 illustrated nonlinear quantization device 10 and the data subject to quantization are pre-processed according to a nonlinear function before being quantized using a linear quantizer. In the non-linear quantizer 50 are quantization errors with respect to those caused by the in 2 illustrated non-linear quantization device 10 is reduced by replacing the non-linear function used for preprocessing the data that is the subject of the quantization with a selected piecewise linear approximation of the non-linear function. The selected piecewise linear approximation depends on the number of quantization levels (or word length) at which the data subject to quantization is quantized to pre-processing. The preprocessed data resulting from preprocessing the data that is the subject of quantization with the selected piecewise linear approximation is then linearly quantized with the appropriate number of quantization levels, the equally spaced quantization values to provide the nonlinear quantized data. The third non-linear quantization method provides lower quantization errors than the known non-linear quantization using the same non-linear function prototype.
In Übereinstimmung
mit der Quantisierung unter Heranziehung verschiedener Zahlen von Quantisierungspegeln
(oder verschiedenen Wortlängen)
ist ein Satz von stückweisen
linearen Approximationen der nichtlinearen Prototypfunktionen vorgesehen.
Jede stückweise
lineare Approximation der nichtlinearen Funktion in dem Satz stellt
eine unterschiedliche stückweise
lineare Approximation der nichtlinearen Prototyp-Funktion entsprechend
der jeweiligen Anzahl von Quantisierungspegeln (oder der jeweiligen
Wortlänge)
dar. Jede stückweise
lineare Approximation der nichtlinearen Funktion ist gleich der
nichtlinearen Prototyp-Funktion bei jedem der Quantisierungswerte,
und sie ist zwischen aufeinander folgenden Quantisierungswerten
linear. Die 16A und 16B veranschaulichen eine
beispielhafte nichtlineare Prototyp-Funktion, die durch die gestrichelte
Linie angedeutet ist, und durch die voll ausgezogene Linie ist die
entsprechende stückweise
lineare Approximation für
fünf Quantisierungspegel bzw.
sieben Quantisierungspegel angegeben.In accordance with quantization using different numbers of quantization levels (or different word lengths), a set of piecewise linear approximations of the nonlinear prototype functions is provided. Each piecewise linear approximation of the nonlinear function in the set represents a different piecewise linear approximation of the nonlinear prototype function corresponding to the respective number of quantization levels (or word length). Each piecewise linear approximation of the nonlinear function is equal to the nonlinear prototype function each of the quantization values, and is linear between successive quantization values. The 16A and 16B illustrate an exemplary nonlinear prototype function indicated by the dashed line, and the solid line indicates the corresponding piecewise linear approximation for five quantization levels and seven quantization levels, respectively.
17 zeigt ein Blockdiagramm
der das dritte nichtlineare Quantisierungsverfahren verkörpernden
nichtlinearen Quantisierungseinrichtung 50. In der nichtlinearen
Quantisierungseinrichtung 50 werden die Daten, die Gegenstand
der Quantisierung sind, über
den Eingangsanschluss 10 dem Vorprozessor 21 zugeführt. Die
Daten, die Gegenstand der Quantisierung sind, sind normalerweise
ein Block oder Satz von Daten, wie ein Satz von Spektralkoeffizienten,
die unter Heranziehung derselben Anzahl von Quantisierungspegeln
oder derselben Wortlänge zu
quantisieren sind. Der Vorprozessor 21 nimmt eine Vorverarbeitung
der jeweiligen Daten, die Gegenstand der Quantisierung sind, entsprechend
der stückweisen
linearen Approximation der nichtlinearen Funktion vor; diese Approximation
wird von dem für die
stückweise
lineare Approximation vorgesehenen Approximator 51 erhalten,
und der betreffende Vorprozessor gibt die resultierenden vorverarbeiteten Daten
an die lineare Quantisierungseinrichtung 22 ab. Die linearen
Quantisierungseinrichtung 22 nutzt die gleichmäßig beabstandeten
Quantisierungswerte, die entsprechend einem Eingangssignal festgelegt
sind, welches über
den Eingangsanschluss 11 aufgenommen wird und die Anzahl
er Quantisierungspegel angibt. Die lineare Quantisierungseinrichtung 22 quantisiert
die vorverarbeiteten Daten zum Quantisierungspegel entsprechend
dem nächsten
gleichmäßig beabstandeten
Quantisierungswert und gibt die resultierenden nichtlinear quantisierten Daten
an den Ausgangsanschluss 14 ab. 17 FIG. 10 is a block diagram of the non-linear quantizer embodying the third non-linear quantization method. FIG 50 , In the non-linear quantizer 50 The data that is the subject of the quantization is passed through the input port 10 the preprocessor 21 fed. The data that is subject to quantization is usually a block or set of data, such as a set of spectral coefficients to be quantized using the same number of quantization levels or word length. The preprocessor 21 preprocesses the respective data subject to quantization according to the piecewise linear approximation of the nonlinear function; this approximation is derived from the approximator provided for the piecewise linear approximation 51 and the subject preprocessor outputs the resulting preprocessed data to the linear quantizer 22 from. The linear quantization device 22 uses the evenly spaced quantization values, which are fixed according to an input signal, which passes through the input terminal 11 is recorded and indicates the number of quantization levels. The linear quantization device 22 quantizes the preprocessed data to the quantization level corresponding to the next evenly spaced quantization value, and outputs the resulting nonlinear quantized data to the output terminal 14 from.
Der
eine stückweise
lineare Approximation liefernde Approximator 51 erhält die nichtlineare
Prototyp-Funktion von dem nichtlinearen Funktionsblock 53 zugeführt, und
außerdem
erhält
er über
den Eingangsanschluss 11 ein Eingangssignal zugeführt, welches
die für
die Quantisierung der Daten, die Gegenstand der Quantisierung sind,
zu nutzende Anzahl von Quantisierungspegeln angibt. Auf das Eingangssignal,
welches die Anzahl der Quantisierungspegel angibt, und auf die nichtlineare
Prototyp-Funktion hin, erzeugt der Approximator 51 die
stückweise lineare
Approximation der nichtlinearen Funktion entsprechend der Anzahl
der Quantisierungspegel (oder der Wortlänge) und gibt diese Approximation
an den Vorprozessor 21 ab. Anstelle des Eingangssignals, welches
die Anzahl der Quantisierungspegel angibt, können der eine stückweise
lineare Approximation bereitstellende Approximator 51 und
die lineare Quantisierungseinrichtung 22 alternativ ein
Eingangssignal aufnehmen, welches die Wortlänge angibt, mit der die Daten,
die Gegenstand der Quantisierung sind, quantisiert werden.The approximate linear approximation providing approximator 51 gets the nonlinear prototype function from the nonlinear function block 53 supplied, and also receives it via the input terminal 11 an input signal indicative of the number of quantization levels to be used for the quantization of the data subject to quantization. The approximator generates the input signal indicating the number of quantization levels and the non-linear prototype function 51 the piecewise linear approximation of the nonlinear function corresponding to the number of quantization levels (or word length) and gives this approximation to the preprocessor 21 from. Instead of the input signal indicating the number of quantization levels, the approximator providing a piecewise linear approximation 51 and the linear quantizer 22 alternatively receive an input signal indicative of the word length with which the data subject to quantization is quantized.
Die
Herabsetzung der Quantisierungsfehler, die durch das dritte nichtlineare
Quantisierungsverfahren hervorgerufen werden, im Vergleich zu der
bekannten nichtlinearen Quantisierung unter Heranziehung derselben
Prototyp-Funktion kann aus einem Vergleich der Quantisierungswerte
und der Entscheidungswerte zwischen aufeinander folgenden Quantisierungswerten
im Eingangsbereich ersehen werden. Falls die in 4 dargestellte nichtlineare Funktion
als nichtlineare Prototyp-Funktion genutzt wird, würden die
Quantisierungswerte per Definition identisch mit jenen Werten sein,
die in 5 und 6 dargestellt sind. Mit anderen
Worten ausgedrückt
heißt dies,
dass die in 6 durch
gestrichelte Linien angegebenen Entscheidungswerte nicht auf den
Mittelpunkten zwischen aufeinander folgenden Quantisierungswerten
liegen würden.
Da die stückweisen
linearen Approximationen der durch das dritte nichtlineare Quantisierungsverfahren
genutzten nichtlinearen Funktion zwischen aufeinander folgenden
Quantisierungswerten linear sind, fallen die Entscheidungswerte
indessen auf die Mittelpunkte zwischen aufeinander folgenden Quantisierungswerten,
wie dies in 18 veranschaulicht
ist. Dies verringert die Quantisierungsfehler ohne Änderung
der Nichtlinearität der
quantisierten Datenpunkte.The reduction of the quantization errors caused by the third non-linear quantization method compared to the known nonlinear quantization using the same prototype function can be seen from a comparison of the quantization values and the decision values between successive quantization values in the input domain. If the in 4 By using the nonlinear function represented as a nonlinear prototype function, the quantization values would by definition be identical to those values given in 5 and 6 are shown. In other words, this means that the in 6 decision values indicated by dashed lines would not be at the midpoints between successive quantization values. Meanwhile, since the piecewise linear approximations of the non-linear function used by the third non-linear quantization method are linear between successive quantization values, the decision values fall on the centers between successive quantization values as shown in FIG 18 is illustrated. This reduces the quantization errors without changing the nonlinearity of the quantized data points.
Die
durch das dritte nichtlineare Quantisierungsverfahren erzeugten
quantisierten Daten können
unter Heranziehung einer bekannten nichtlinearen Quantisierungseinrichtung
auf der Grundlage der inversen Funktion zu der nichtlinearen Prototyp-Funktion dequantisiert
werden. Eine derartige Dequantisierung würde zu reduzierten Quantisierungsfehlern
führen.
Falls beispielsweise die in 9 durch
die voll ausgezogene Linie dargestellte nichtlineare Funktion als
nichtlineare Prototyp-Funktion
benutzt wäre,
würden
die Quantisierungsfehler so sein, wie dies in 10A und 10B für drei bzw.
sieben Quantisierungspegel durch die voll ausgezogene Linie dargestellt
ist, wenn die aus der Quantisierung durch das dritte nichtlineare
Quantisierungsverfahren gemäß der Erfindung
resultierenden Daten unter Heranziehung einer bekannten Dequantisierungseinrichtung
dequantisiert werden, bei der die inverse Funktion zu der nichtlinearen
Prototyp-Funktion angewandt ist. Zum Vergleich sind die Quantisierungsfehler,
die aus der Quantisierung der Daten unter Heranziehung der bekannten
nichtlinearen Quantisierung resultieren, in 10A und 10B durch
ge strichelte Linien angegeben. In sämtlichen Fällen sind die durch das Quantisierungsverfahren
erzeugten Quantisierungsfehler geringer als die oder gleich den Quantisierungsfehler(n),
die durch die bekannte nichtlineare Quantisierung hervorgerufen
werden.The quantized data generated by the third non-linear quantization method can be dequantized to the non-linear prototype function using a known non-linear quantizer based on the inverse function. Such dequantization would result in reduced quantization errors. For example, if the in 9 by the solid line shown nonlinear function as a nonlinear prototype function be would be used, the quantization errors would be as in 10A and 10B for three and seven quantization levels, respectively, by the solid line when the data resulting from the quantization by the third non-linear quantization method according to the invention is dequantized using a known dequantizer in which the inverse function is applied to the non-linear prototype function , For comparison, the quantization errors resulting from the quantization of the data using the known nonlinear quantization are in 10A and 10B indicated by ge dashed lines. In all cases, the quantization errors produced by the quantization method are less than or equal to the quantization errors (n) caused by the known nonlinear quantization.
Wie
oben erwähnt,
kann die nichtlineare Quantisierungseinrichtung 30, welche
das erste nichtlineare Quantisierungsverfahren verkörpert, durch
eine das dritte nichtlineare Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung als nichtlineare Quantisierungseinrichtung 133 in
dem Kompressor 111 des Audio-Signalübertragungs- oder -Aufzeichnungssystems
ersetzt werden, wie es in 11 bis 13 dargestellt ist. Das dritte nichtlineare
Quantisierungsverfahren ist indessen auf diese Anwendung nicht beschränkt. Das
dritte nichtlineare Quantisierungsverfahren bringt die oben beschriebenen
Vorteile mit sich, wenn es in bzw. bei anderen nichtlinearen Quantisierungsanwendungen angewandt
wird.As mentioned above, the non-linear quantization device 30 , which represents the first non-linear quantization method, by a non-linear quantizer embodying the third non-linear quantization method as a non-linear quantizer 133 in the compressor 111 of the audio signal transmission or recording system, as shown in FIG 11 to 13 is shown. However, the third non-linear quantization method is not limited to this application. The third non-linear quantization method brings the advantages described above when used in other non-linear quantization applications.
Wenn
eine das dritte nichtlineare Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung als nichtlineare Quantisierungseinrichtung 133 verwendet
wird, empfangen der eine stückweise
lineare Approximation bereitstellende Approximator 52 und
die lineare Quantisierungseinrichtung 22 die Wortlänge für jeden
Satz von Spektralkomponenten von der Bit-Zuweisungseinrichtung 122 über den
Eingangsanschluss 11, und der Vorprozessor 21 empfängt die
Sätze der
durch Blockgleiten verarbeiteten Spektralkomponenten von dem Blockgleitprozessor 132 über den
Eingangsanschluss 10. Der Vorprozessor 21 nimmt
eine Vorverarbeitung der durch Blockgleiten verarbeiteten Spektralkomponenten
im jeweiligen Satz unter Heranziehung der stückweisen linearen Approximation
der nichtlinearen Funktion vor, die durch den eine stückweise
lineare Approximation bereitstellenden Approximator 52 auf die
Wortlänge
für den
von der Bit-Zuweisungseinrichtung 122 erhaltenen Satz hin
erzeugt wird. Die lineare Quantisierungseinrichtung 22 nimmt
eine lineare Quantisierung der resultierenden vorverarbeiteten Spekt ralkomponenten
in dem Satz vor, um einen Satz von nichtlinear quantisierten Spektralkomponenten
zu erzeugen. Die lineare Quantisierungseinrichtung gibt den Satz
der nichtlinear quantisierten Spektralkomponenten über den
Ausgangsanschluss 14 an den Multiplexer 125 ab.When a nonlinear quantization device embodying the third non-linear quantization method is a nonlinear quantization device 133 is used to receive the piecewise linear approximation approximator 52 and the linear quantizer 22 the word length for each set of spectral components from the bit allocation device 122 via the input connection 11 , and the preprocessor 21 receives the sets of the block glide processed spectral components from the block sliding processor 132 via the input connection 10 , The preprocessor 21 performs preprocessing of the block glide processed spectral components in the respective set using the piecewise linear approximation of the nonlinear function provided by the piecewise linear approximation approximator 52 to the word length for that of the bit allocation device 122 obtained sentence is generated. The linear quantization device 22 performs linear quantization of the resulting preprocessed spectral components in the set to produce a set of non-linear quantized spectral components. The linear quantizer provides the set of nonlinear quantized spectral components across the output port 14 to the multiplexer 125 from.
Falls
die Sätze
der Spektralkomponenten vor der Quantisierung hinsichtlich der Frequenz
in Frequenzbänder
unterteilt werden, wie dies oben erwähnt worden ist, wird die Bit-Zuweisungseinrichtung 122 einen
Skalierungsfaktor und eine Wortlänge
zur Quantisierung der Spektralkomponenten im jeweiligen Frequenzband
zuweisen, und der Blockgleitprozessor 132 wird eine Blockgleitverarbeitung
auf die Spektralkomponenten im jeweiligen Frequenzband ausüben. In
diesem Falle wird der eine stückweise
lineare Approximation bereitstellende Approximator 52 eine
stückweise
lineare Approximation der nichtlinearen Funktion für das jeweilige
Frequenzband zur Abgabe an den Vorprozessor 21 erzeugen,
und der Vorprozessor 21 wird die durch Blockgleiten verarbeiteten
Spektralkomponenten im jeweiligen Frequenzband unter Heranziehung
der von dem betreffenden Approximator erhaltenen stückweisen
linearen Approximation für
das Band vorverarbeiten.If the sets of the spectral components are frequency-divided into frequency bands before quantization as mentioned above, the bit allocation means becomes 122 assign a scale factor and a word length to quantize the spectral components in the respective frequency band, and the block sliding processor 132 will perform block-slip processing on the spectral components in the respective frequency band. In this case, the approximator providing a piecewise linear approximation 52 a piecewise linear approximation of the nonlinear function for each frequency band for delivery to the preprocessor 21 generate, and the preprocessor 21 the block spectral processed spectral components in the respective frequency band are pre-processed using the piecewise linear approximation for the band obtained from the respective approximator.
Die
oben beschriebenen nichtlinearen Quantisierungseinrichtungen und
die nichtlinearen Quantisierungseinrichtungen gemäß dem Stand
der Technik nutzen dieselbe nichtlineare Funktion f() unabhängig von
der Anzahl der Quantisierungspegel (oder der Wortlänge). Dies
begrenzt die Leistung der Quantisierungseinrichtung, da die Quantisierungseffekte
einer vorgegebenen Funktion sich entsprechend der Anzahl der Quantisierungspegel
(oder der Wortlänge) ändern, die
zur Quantisierung der Daten genutzt werden. Bei einer ein nichtlineare
Quantisierungsverfahren gemäß der Erfindung
verkörpernden nichtlinearen
Quantisierungseinrichtung wird die nichtlineare Funktion f() aus
einer Reize von nichtlinearen Funktionen entsprechend der Anzahl
von Quantisierungspegeln (oder der Wortlänge) ausgewählt, die zur Quantisierung
der Daten zugeteilt werden bzw. wird. Der Satz der nichtlinearen
Funktionen kann aus einem Satz von stückweisen linearen Approximationen
der jeweiligen nichtlinearen Prototyp-Funktionen bestehen, die sich
entsprechend der Anzahl der zur Quantisierung der Daten zugeteilten Quantisierungspegel
unterscheiden.The
described above nonlinear quantization and
the non-linear quantization devices according to the prior art
The technique uses the same nonlinear function f () independently of
the number of quantization levels (or word length). This
limits the performance of the quantizer since the quantization effects
a predetermined function corresponding to the number of quantization levels
(or the word length) that change
be used to quantize the data. One is a nonlinear one
Quantization method according to the invention
embodying nonlinear ones
Quantizer turns off the nonlinear function f ()
a stimulus of nonlinear functions according to the number
of quantization levels (or word length) selected for quantization
the data is or will be allocated. The set of nonlinear ones
Functions may consist of a set of piecewise linear approximations
of the respective non-linear prototype functions that exist
corresponding to the number of quantization levels allocated for quantizing the data
differ.
19 veranschaulicht eine
beispielhafte Reihe von nichtlinearen Funktionen für die Verwendung
in bzw. bei dem nichtlinearen Quantisierungsverfahren gemäß der Erfindung.
Die betreffende Reihe enthält
sieben Glieder und ist daher für
ein Quantisierungssystem geeignet, in welchem die Anzahl der Quantisierungspegel
sieben zulässige
Werte aufweist. Alternativ kann diese Reihe von nichtlinearen Funktionen
auch in einem nicht linearen Quantisierungssystem genutzt werden,
in welchem die Anzahl der Quantisierungspegel mehr als sieben zulässige Werte
aufweist, falls zwei oder mehr der Werte aus der Anzahl der Quantisierungspegel
dieselbe nichtlineare Funktion nutzen. 19 FIG. 12 illustrates an exemplary set of non-linear functions for use in the non-linear quantization method according to the invention. The row in question contains seven terms and is therefore suitable for a quantization system in which the number of quantization levels has seven permissible values. Alternatively, this series of nonlinear functions may also be used in a non-linear quantization system in which the number of quantization levels has more than seven allowable values if two or more of the values are off the number of quantization levels use the same non-linear function.
In
der in 19 dargestellten
Reihe von nichtlinearen Funktionen würde die Funktion, die einer
linearen Funktion am nächsten
ist, mit der geringsten Anzahl von Quantisierungspegeln bevorzugt verwendet
werden, das heißt
mit der kürzesten Quantisierungswortlänge. Zunehmend
größere Werte
in der Anzahl der Quantisierungspegel oder größere Quantisierungswortlängen würden nichtlineare Funktionen
auswählen,
die zunehmend stärker
nichtlinear sind. Dies ermöglicht
in starkem Maße
die Durchführung
einer nichtlinearen Quantisierung unter Heranziehung von großen Quantisierungswortlängen, während die
starke Verzerrung verhindert ist, die sich ergeben würde, falls
eine stark: nichtlineare Funktion mit geringen Quantisierungswortlängen angewandt
wäre.In the in 19 The set of non-linear functions represented in FIG. 1 would preferably use the function closest to a linear function with the least number of quantization levels, that is, the shortest quantization word length. Increasingly larger values in the number of quantization levels or larger quantization word lengths would select non-linear functions that are increasingly more nonlinear. This greatly facilitates the performance of nonlinear quantization using large quantization word lengths while avoiding the high distortion that would result if a strongly: nonlinear function with small quantization word lengths were used.
So
könnte
beispielsweise eine nichtlineare Funktion, wie y = x0,55 mit
einer Wortlänge
von etwa 2 oder 3 Bits angewandt werden, und eine nichtlineare Funktion,
wie y = x0,4 könnte mit einer Wortlänge von 4
Bits angewandt werden.For example, a nonlinear function such as y = x 0.55 having a word length of about 2 or 3 bits could be used, and a nonlinear function such as y = x 0.4 could be applied with a word length of 4 bits.
20 zeigt ein Blockdiagramm
einer nichtlinearen Quantisierungseinrichtung 60, welche
das nichtlineare Quantisierungsverfahren gemäß der Erfindung verkörpert. In
der Quantisierungseinrichtung 60 werden die Daten, die
Gegenstand einer Quantisierung sind, durch den Vorprozessor 21 entsprechend
einer nichtlinearen Funktion vorverarbeitet, die von der die nichtlineare
Funktion bereitstellenden Auswahleinrichtung 62 erhalten
wird. Die resultierenden vorverarbeiteten Daten werden dann von
dem Vorprozessor 21 an die lineare Quantisierungseinrichtung 22 abgegeben,
die die betreffenden Daten linear quantisiert, um die nichtlinear
quantisierten Daten zu erzeugen, die sie an den Ausgangsanschluss 14 abgibt. 20 shows a block diagram of a non-linear quantization device 60 which embodies the non-linear quantization method according to the invention. In the quantization device 60 For example, the data that is the subject of quantization is the preprocessor 21 preprocessed according to a nonlinear function that is selected by the non-linear function selecting means 62 is obtained. The resulting preprocessed data is then received by the preprocessor 21 to the linear quantizer 22 which linearly quantizes the data in question to produce the nonlinear quantized data that it sends to the output port 14 emits.
Der
nichtlineare Funktionsblock 63 speichert eine Reihe von
unterschiedlichen nichtlinearen Funktionen. Der nichtlineare Funktionsblock
kann alternativ eine stückweise
lineare Approximation der jeweiligen nichtlinearen Funktion anstelle
der nichtlinearen Funktion selbst speichern. Die Anwendung der stückweisen
linearen Approximation der nichtlinearen Funktion anstelle der nichtlinearen
Funktion selbst verringert Quantisierungsfehler dadurch, dass die Entscheidungswerte
so geändert
werden, dass sie am Mittelpunkt zwischen benachbarten Quantisierungswerten
auftreten. Der Einfachheit halber bedeuten, soweit nicht anders
angegeben, Bezugnahmen unten auf die "nichtlineare Funktion" eine nichtlineare Funktion
und eine stückweise
lineare Approximation der nichtlinearen Funktion.The nonlinear function block 63 stores a number of different nonlinear functions. Alternatively, the nonlinear function block may store a piecewise linear approximation of the respective nonlinear function instead of the nonlinear function itself. The application of the piecewise linear approximation of the nonlinear function rather than the nonlinear function itself reduces quantization errors by changing the decision values to occur at the midpoint between adjacent quantization values. For simplicity, unless otherwise noted, references below to the "nonlinear function" mean a nonlinear function and a piecewise linear approximation of the nonlinear function.
Die
nichtlineare Funktionsauswahleinrichtung 62 wendet ein
bestimmtes nichtlineares Funktionsauswahlverfahren an, um aus der
Reihe der in dem nichtlinearen Funktionsblock 63 gespeicherten nichtlinearen
Funktionen eine der nichtlinearen Funktionen für die Verwendung zur nichtlinearen
Quantisierung der Daten auszuwählen,
die Gegenstand der Quantisierung sind. Die nichtlineare Funktionsauswahleinrichtung 62 gibt
die ausgewählte
nichtlineare Funktion an den Vorprozessor 21 ab. Der Vorprozessor 21 empfängt die
Daten, die Gegenstand der Quantisierung sind, über den Eingangsanschluss 10 und
nimmt eine Vorverarbeitung der jeweiligen Daten, die Gegenstand
der Quantisierung sind, entsprechend der ausgewählten nichtlinearen Funktion
vor, und er gibt die resultierenden vorverarbeiteten Daten an die
lineare Quantisierungseinrichtung 22 ab. Die lineare Quantisierungseinrichtung 22 nimmt
eine lineare Quantisierung der vorverarbeiteten Daten vor, um die
nichtlinear quantisierten Daten bereitzustellen, die die betreffende
Einrichtung an den Ausgangsanschluss 14 abgibt.The nonlinear function selector 62 applies a particular non-linear function selection method to select one of the series in the nonlinear function block 63 stored non-linear functions to select one of the non-linear functions for use for non-linear quantization of the data that are the subject of quantization. The nonlinear function selector 62 gives the selected nonlinear function to the preprocessor 21 from. The preprocessor 21 receives the data that is the subject of the quantization via the input terminal 10 and preprocessing the respective data subject to quantization according to the selected nonlinear function, and supplying the resulting preprocessed data to the linear quantizer 22 from. The linear quantization device 22 performs linear quantization of the preprocessed data to provide the non-linear quantized data that the device in question sends to the output port 14 emits.
Bei
der allgemeinsten Realisierung der Ausführungsform der nichtlinearen
Quantisierungseinrichtung 60 enthält die Reihe der in dem nichtlinearen Funktionsblock 61 gespeicherten
nichtlinearen Funktionen eine nichtlineare Funktion für jede zulässige Anzahl
von Quantisierungspegeln (oder jede zulässige Wortlänge). Ein über den Eingangsanschluss 11 aufgenommenes
Eingangssignal gibt die Anzahl der für die Quantisierung der Daten,
die Gegenstand der Quantisierung sind, zu nutzenden Quantisierungspegel
an und wird der linearen Quantisierungseinrichtung 22 und
zusätzlich
der nichtlinearen Funktionsauswahleinrichtung 62 zugeführt. Auf
das Eingangssignal hin, welches die Anzahl der für die Quantisierung der Daten,
die Gegenstand der Quantisierung sind, zu verwendenden Quantisierungspegel
(oder die Wortlänge)
angibt, wählt
die nichtlineare Funktionsauswahleinrichtung 62 eine der
in dem nichtlinearen Funktionsblock 63 gespeicherten nichtlinearen Funktionen
zur Abgabe an den Vorprozessor 21 aus.In the most general implementation of the embodiment of the non-linear quantization device 60 contains the series of in the nonlinear function block 61 stored nonlinear functions have a non-linear function for each allowed number of quantization levels (or any permissible word length). On via the input connection 11 The input signal received indicates the number of quantization levels to be used for the quantization of the data subject to quantization and becomes the linear quantizer 22 and additionally the non-linear function selector 62 fed. The non-linear function selector selects the input signal indicative of the number of quantization levels (or word length) to be used for the quantization of the data subject to quantization 62 one of the in the nonlinear function block 63 stored nonlinear functions for delivery to the preprocessor 21 out.
Bei
einer anderen Realisierung bzw. Implementierung kann die nichtlineare
Funktionsauswahleinrichtung 62 so konfiguriert sein, dass
zwei oder mehr mögliche
Werte aus der Anzahl der Quantisierungspegel dieselbe nichtlineare
Funktion auswählen.
Falls eine stückweise
lineare Approximation der nichtlinearen Funktion anstelle der nichtlinearen Funktion
selbst angewandt wird, muss indessen eine unterschiedliche stückweise
Approximation für
jeden Wert aus der Anzahl der Quantisierungspegel angewandt werden,
obwohl zwei oder mehr mögliche Werte
aus der Anzahl der Quantisierungspegel dieselbe nichtlineare Prototyp-Funktion auswählen.In another implementation, the non-linear function selector may 62 be configured so that two or more possible values from the number of quantization levels select the same non-linear function. If a piecewise linear approximation of the nonlinear function is used instead of the nonlinear function itself, however, a different piecewise approximation must be applied for each value of the number of quantization levels, although two or more possible values from the number of quantization levels select the same nonlinear prototype function ,
Wie
oben erwähnt,
kann die das erste nichtlineare Quantisierungsverfahren verkörpernde
nichtlineare Quantisierungseinrichtung durch eine nichtlineare Quantisierungseinrichtung,
die das nichtlineare Quantisierungsverfahren gemäß der Erfindung verkörpert, als
nichtlineare Quantisierungseinrichtung 133 in dem Kompressor 111 des
in 11 bis 13 dargestellten Audiosignal-Übertragungs-
oder -Aufzeichnungssystems ersetzt werden. Das nichtlineare Quantisierungsverfahren
gemäß der Erfindung
ist indessen auf diese Anwendung nicht beschränkt. Das nichtlineare Quantisierungsverfahren
gemäß der Erfindung
liefert die oben beschriebenen Vorteile, wenn es in bzw. bei anderen
nichtlinearen Quantisierungsanwendungen angewandt wird.As mentioned above, the non-linear quantizer embodying the first non-linear quantization method may be replaced by a non-linear quantizer a quantization device embodying the non-linear quantization method according to the invention as a non-linear quantization device 133 in the compressor 111 of in 11 to 13 replaced audio signal transmission or recording system. However, the non-linear quantization method according to the invention is not limited to this application. The non-linear quantization method according to the invention provides the advantages described above when used in other non-linear quantization applications.
Wenn
die das nichtlineare Quantisierungsverfahren gemäß der Erfindung verkörpernde
nichtlineare Quantisierungseinrichtung als nichtlineare Quantisierungseinrichtung 133 verwendet
wird, empfängt
die nichtlineare Funktionsauswahleinrichtung 62 die Wortlänge für den jeweiligen
Satz bzw. die jeweilige Reihe der Spektralkomponenten von der Bit-Zuweisungseinrichtung 122 über den
Eingangsanschluss 11, und der Vorprozessor 21 empfängt die Sätze der
durch Blockgleiten verarbeiteten Spektralkomponenten von dem Blockgleitprozessor 132 über den
Eingangsanschluss 10. Der Vorprozessor 21 nimmt
eine Vorverarbeitung der durch Blockgleiten verarbeiteten Spektralkomponenten
im jeweiligen Satz unter Heranziehung der nichtlinearen Funktion vor,
die durch die nichtlineare Funktionsauswahleinrichtung 62 auf
die Wortlänge
für den
Satz, der von der Bit-Zuweisungseinrichtung 122 erhalten
worden ist, ausgewählt
ist. Die lineare Quantisierungseinrichtung 22 nimmt eine
lineare Quantisierung der resultierenden vorverarbeiteten Spektralkomponenten
in dem Satz vor, um einen Satz von nichtlinear quantisierten Spektralkomponenten
zu erzeugen, die die betreffende Einrichtung über den Ausgangsanschluss 14 an
den Multiplexer 125 abgibt.When the nonlinear quantization device embodying the non-linear quantization method according to the invention is a non-linear quantization device 133 is used receives the non-linear function selector 62 the word length for the respective sentence or the respective series of spectral components from the bit allocation device 122 via the input connection 11 , and the preprocessor 21 receives the sets of the block glide processed spectral components from the block sliding processor 132 via the input connection 10 , The preprocessor 21 performs preprocessing of the block glide processed spectral components in the respective sentence using the nonlinear function provided by the nonlinear function selector 62 to the word length for the sentence, that of the bit assignment device 122 has been obtained is selected. The linear quantization device 22 performs linear quantization of the resulting preprocessed spectral components in the set to produce a set of nonlinear quantized spectral components that the device in question transmits via the output port 14 to the multiplexer 125 emits.
Falls
die Sätze
der Spektralkomponenten vor dem Quantisieren hinsichtlich der Frequenz
in Frequenzbänder
aufgeteilt werden bzw. sind, wie dies oben erwähnt worden ist, weist die Bit-Zuweisungseinrichtung 122 einen
Skalierungsfaktor und eine Wortlänge
zur Quantisierung der Spektralkomponenten im jeweiligen Frequenzband
zu, und der Blockgleitprozessor 132 wendet eine Blockgleitverarbeitung
auf die Spektralkomponenten im jeweiligen Frequenzband an. In diesem
Falle wählt
die nichtlineare Funktionsauswahleinrichtung 62 für das jeweilige Frequenzband
eine nichtlineare Funktion aus dem Satz der nichtlinearen Funktionen
aus, die in dem nichtlinearen Funktionssatz 61 gespeichert
sind. Die nichtlineare Funktionsauswahleinrichtung gibt die für das jeweilige
Frequenzband ausgewählte
nichtlineare Funktion an den Vorprozessor 21 ab, und der
Vorprozessor 21 nimmt eine Vorverarbeitung der durch Blockgleiten
verarbeiteten Spektralkomponenten im jeweiligen Frequenzband unter
Heranziehung der nichtlinearen Funktion für das Frequenzband vor, die von
der nichtlinearen Funktionsauswahleinrichtung her empfangen worden
ist.If the sets of spectral components are frequency-divided into frequency bands prior to quantizing, as mentioned above, the bit allocation means 122 a scaling factor and a word length for quantizing the spectral components in the respective frequency band, and the block sliding processor 132 applies block sliding processing to the spectral components in the respective frequency band. In this case, the non-linear function selector selects 62 for the respective frequency band, a nonlinear function from the set of nonlinear functions included in the nonlinear function set 61 are stored. The non-linear function selector supplies the nonlinear function selected for the particular frequency band to the preprocessor 21 off, and the preprocessor 21 performs preprocessing of the block glide processed spectral components in the respective frequency band using the non-linear function for the frequency band received from the non-linear function selector.
Die
ersten und zweiten nichtlinearen Quantisierungsverfahren können in
Abhängigkeit
von der Wortlänge
oder der Anzahl der Quantisierungspegel auch unterschiedliche nichtlineare
Funktionen anwenden. Bei der das erste nichtlineare Quantisierungsverfahren
verkörpernden
nichtlinearen Quantisierungseinrichtung, die in 7 dargestellt ist, kann das über den
Eingangsanschluss 11 aufgenommene Eingangssignal auch dem
nichtlinearen Funktionsblock 33 zugeführt werden, wie dies durch
die gestrichelte Linie 34 angedeutet ist, und der nichtlineare Funktionsblock 33 kann
an den Quantisierungswert-Rechner 31 eine nichtlineare
Funktion abgeben, die von der Anzahl der Quantisierungspegel oder
der Wortlänge
abhängt.The first and second non-linear quantization methods may also apply different non-linear functions depending on the word length or the number of quantization levels. In the nonlinear quantization device embodying the first non-linear quantization method, disclosed in US Pat 7 This can be done via the input port 11 recorded input signal also the non-linear function block 33 be fed as indicated by the dashed line 34 is indicated, and the non-linear function block 33 can to the quantization value calculator 31 give a non-linear function, which depends on the number of quantization levels or the word length.
In
der das zweite nichtlineare Quantisierungsverfahren verkörpernden
nichtlinearen Quantisierungseinrichtung, wie sie in 14 veranschaulicht ist, können die
Dateneinträge
in den Tabellen in dem Satz der in der Tabellen-Auswahleinrichtung 41 gespeicherten
Tabellen unter Heranziehung unterschiedlicher nichtlinearer Funktionen
berechnet werden, die von der Anzahl der Quantisierungspegel abhängen. Die
Auswahl der Nachschlagtabelle auf das Eingangssignal hin, welches
die Anzahl der Quantisierungspegel (oder die Wortlänge) angibt,
und welches über
den Eingangsanschluss 11 aufgenommen worden ist, würde dann
automatisch eine nichtlineare Funktion auswählen, die sich entsprechend
der Anzahl der Quantisierungspegel unterscheidet.In the nonlinear quantization device embodying the second non-linear quantization method, as shown in FIG 14 The data entries in the tables in the set of tables in the table selector can be illustrated 41 stored tables using different nonlinear functions that depend on the number of quantization levels. The selection of the lookup table for the input signal indicating the number of quantization levels (or word length) and which is via the input terminal 11 would then automatically select a non-linear function that differs according to the number of quantization levels.
Die
Anwendung unterschiedlicher nichtlinearer Funktionen bei dem dritten
nichtlinearen Quantisierungsverfahren gemäß der Erfindung ist oben unter
Bezugnahme auf 20 beschrieben.The application of different non-linear functions in the third non-linear quantization method according to the invention is described above with reference to FIG 20 described.
Wenn
die quantisierten Daten unter Heranziehung einer nichtlinearen Funktion
quantisiert sind, die gemäß der Anzahl
der Quantisierungspegel ausgewählt
ist, mit denen die Daten quantisiert werden, welche Gegenstand der
Quantisierung sind, dann können
die quantisierten Daten unter Heranziehung einer bekannten Dequantisierungseinrichtung
nicht dequantisiert werden. Der Grund hierfür liegt darin, dass die bekannte
Dequantisierungseinrichtung lediglich auf einer einzigen nichtlinearen
Funktion basiert. 21 veranschaulicht
in einem Blockdiagramm eine nichtlineare Dequantisierungseinrichtung 70,
welche das nichtlineare Dequantisierungsverfahren gemäß der Erfindung
verkörpert.
In der nichtlinearen Dequantisierungseinrichtung 70 erhält die lineare
Dequantisierungseinrichtung 71 die nichtlinear quantisierten
Daten über
den Eingangsanschluss 15 sowie über den Eingangsanschluss 16 einentsprechendes
Eingangssignal, welches die Anzahl der Quantisierungspegel (oder
die Wortlänge) angibt,
mit denen bzw. der die nichtlinear quantisierten Daten quantisiert
sind. Das die Anzahl der Quantisierungspegel angebende Eingangssignal
wird außerdem
der inversen nichtlinearen Funktionsauswahleinrichtung 74 zugeführt. Die
lineare Dequantisierungseinrichtung 71 führt eine
Dequantisierung der nichtlinear quantisierten Daten entsprechend dem
Eingangssignal aus, welches die Anzahl der Quan tisierungspegel angibt,
und gibt die resultierenden nichtlinearen Daten an den Nach-Prozessor 72 ab,
der eine Nachverarbeitung entsprechend einer ausgewählten inversen
nichtlinearen Funktion ausübt
und die resultierenden dequantisierten Daten an den Ausgangsanschluss 17 abgibt.If the quantized data is quantized using a non-linear function selected according to the number of quantization levels at which the data subject to quantization is quantized, then the quantized data can not be dequantized using a known dequantizer. The reason for this is that the known dequantizer is based on only a single non-linear function. 21 illustrates in a block diagram a non-linear dequantizer 70 , which embodies the non-linear dequantization method according to the invention. In the non-linear dequantizer 70 receives the linear dequantizer 71 the nonlinear quantized data over the input terminal 15 as well as via the input connection 16 a corresponding input signal indicating the number of quantization levels (or word length) indicates with which the nonlinear quantized data is quantized. The input signal indicating the number of quantization levels also becomes the inverse non-linear function selector 74 fed. The linear dequantizer 71 performs dequantization of the nonlinear quantized data according to the input signal indicating the number of quantization levels, and outputs the resulting nonlinear data to the post processor 72 which performs post-processing according to a selected inverse nonlinear function and the resulting dequantized data to the output terminal 17 emits.
Da
die Dequantisierungseinrichtung 70 quantisierte Daten dequantisieren
muss, die unter Heranziehung unterschiedlicher nichtlinearer Funktionen
quantisiert worden sind, welche entsprechend der Anzahl von Quantisierungspegeln
ausgewählt worden
sind, enthält
die betreffende Dequantisierungseinrichtung 70 den inversen
nichtlinearen Funktionsblock 73, in welchem ein Satz aus
einer Vielzahl von inversen nichtlinearen Funktionen gespeichert ist.
Jede inverse nichtlineare Funktion in dem Satz entspricht einer
der nichtlinearen Funktionen, die ursprünglich in dem Kompressor 111 (11) benutzt worden sind,
um die Daten zu quantisieren, die Gegenstand der Quantisierung sind.
So kann beispielsweise jede der inversen nichtlinearen Funktionen
in dem Satz einer der nichtlinearen Funktionen entsprechen, die
in dem nichtlinearen Funktionsblock 63 in der Quantisierungseinrichtung 60 (20) gespeichert sind.As the dequantizer 70 To quantize quantized data that has been quantized using different non-linear functions that have been selected according to the number of quantization levels contains the dequantization device in question 70 the inverse nonlinear function block 73 in which a set of a plurality of inverse nonlinear functions is stored. Each inverse nonlinear function in the set corresponds to one of the nonlinear functions originally in the compressor 111 ( 11 ) have been used to quantize the data that is the subject of quantization. For example, each of the inverse nonlinear functions in the set may correspond to one of the nonlinear functions contained in the nonlinear function block 63 in the quantization device 60 ( 20 ) are stored.
Die
inverse nichtlineare Quantisierungseinrichtung 70 enthält außerdem die
inverse nichtlineare Funktionsauswahleinrichtung 74, welche
eine inverse nichtlineare Funktion des Satzes der inversen nichtlinearen
Funktionen, die in den inversen nichtlinearen Funktionsblock 73 gespeichert
sind, unter Anwendung desselben Auswahlverfahrens auswählt wie
jenem, das zur Auswahl der nichtlinearen Funktion in der Quantisierungseinrichtung
angewandt wurde. Die ausgewählte
inverse nichtlineare Funktion wird dem Nach- bzw. Post-Prozessor 72 zugeführt, der
eine Nachverarbeitung auf die nichtlinearen Daten von der linearen
Dequantisierungseinrichtung 71 unter Heranziehung der ausgewählten inversen nichtlinearen
Funktion ausübt.
Somit wendet bei dem dargestellten Beispiel der Nach- bzw. Post-Prozessor 72 eine
Nachverarbeitung auf die nichtlinearen Daten unter Heranziehung
der inversen Funktion zu der nichtlinearen Funktion an, die in der
Quantisierungseinrichtung 60 angewendet wurde, um die Daten
vorzuverarbeiten, die Gegenstand der Quantisierung sind. Der Nach-Prozessor 72 gibt
die resultierenden dequantisierten Daten an den Ausgangsanschluss 17 ab.The inverse nonlinear quantization device 70 also contains the inverse non-linear function selector 74 , which is an inverse nonlinear function of the set of inverse nonlinear functions contained in the inverse nonlinear function block 73 are selected using the same selection method as that used to select the nonlinear function in the quantizer. The selected inverse nonlinear function becomes the post or post processor 72 which postprocesses to the non-linear data from the linear dequantizer 71 using the selected inverse nonlinear function. Thus, in the illustrated example, the post or post processor applies 72 post processing on the nonlinear data using the inverse function to the nonlinear function present in the quantizer 60 was used to pre-process the data that is the subject of quantization. The post-processor 72 gives the resulting dequantized data to the output terminal 17 from.
Bei
der allgemeinsten Realisierung bzw. Implementierung der nichtlinearen
Dequantisierungseinrichtung 70 enthält der Satz der inversen nichtlinearen
Funktionen, die in dem inversen nichtlinearen Funktionsblock 73 gespeichert
sind, eine inverse nichtlineare Funktion für jeden zulässigen Wert aus der Anzahl
der Quantisierungspegel (oder Wortlänge). Das Eingangssignal, welches
der linearen Dequantisierungseinrichtung 71 über den
Eingangsanschluss 11 zugeführt wird und welches die Anzahl
der Quantisierungspegel (oder die Wortlänge) angibt, die zur Quantisierung
der nichtlinear quantisierten Daten verwendet sind, wird zusätzlich der
inversen nichtlinearen Funktionsauswahleinrichtung 74 zugeführt. Auf
das Eingangssignal hin, welches die Anzahl der Quantisierungspegel
angibt, die zur Quantisierung der nichtlinearen quantisierten Daten
verwendet werden, wählt
die inverse nichtlineare Funktionsauswahleinrichtung eine der in
dem inversen nichtlinearen Funktionsblock 73 gespeicherten
inversen nichtlinearen Funktionen zur Abgabe an den Nachverarbeitungsblock 72 ab.In the most general implementation of the non-linear dequantization device 70 contains the set of inverse nonlinear functions contained in the inverse nonlinear function block 73 are stored, an inverse nonlinear function for each allowable value of the number of quantization levels (or word length). The input signal, which is the linear dequantizer 71 via the input connection 11 and indicating the number of quantization levels (or word length) used to quantize the nonlinear quantized data, additionally becomes the inverse nonlinear function selector 74 fed. In response to the input signal indicating the number of quantization levels used to quantize the non-linear quantized data, the inverse non-linear function selector selects one of the inverse non-linear function blocks 73 stored inverse non-linear functions for delivery to the post-processing block 72 from.
Bei
Ausführungsformen,
bei denen in dem Satz der nichtlinearen Funktionen weniger inverse nichtlineare
Funktionen vorhanden sind als die Anzahl der zulässigen Werte der Anzahl von
Quantisierungspegeln (oder der Wortlänge), erfordert die inverse
nichtlineare Funktionsauswahleinrichtung 74 dennoch, dass
ein Eingangssignal von dem Anschluss 11 die Anzahl der
Quantisierungspegel (oder die Wortlänge) angibt.In embodiments where there are fewer inverse nonlinear functions in the set of nonlinear functions than the number of allowable values of the number of quantization levels (or word length), the inverse nonlinear function selector requires 74 nevertheless, that an input signal from the terminal 11 indicates the number of quantization levels (or word length).
22 veranschaulicht in einem
Blockdiagramm ein Beispiel der Anwendung einer das Dequantisierungsverfahren
gemäß der Erfindung
verkörpernden
Dequantisierungseinrichtung in der Audio-Dehnungseinrichtung 112 des
in 11 dargestellten
Au dio-Übertragungs-
oder -Aufzeichnungssystem 110. Das nichtlineare Dequantisierungsverfahren
gemäß der Erfindung
ist indessen auf diese Anwendung nicht beschränkt. Das Verfahren bringt die
oben beschriebenen Vorteile mit sich, wenn es in bzw. bei anderen
nichtlinearen Dequantisierungsanwendungen angewandt wird. 22 Fig. 12 is a block diagram showing an example of the application of a dequantizing means embodying the dequantizing method according to the invention in the audio-stretching means 112 of in 11 illustrated audio transmission or recording system 110 , However, the non-linear dequantization method according to the invention is not limited to this application. The method provides the advantages described above when used in other non-linear dequantization applications.
In
der Dehnungseinrichtung 112 wird das komprimierte Signal
von dem Übertragungs-
oder Aufzeichnungsmedium mittels des Demultiplexers 225 empfangen.
Der Demultiplexer 225 extrahiert die Sätze der quantisierten Spektralkomponenten
und die jeweiligen Bitzuweisungsparameter aus dem komprimierten
Signal, und außerdem
extrahiert er die Wortlänge
und den Skalierungsfaktor für
den jeweiligen Satz der quantisierten Spektralkomponenten aus den
Bitzuweisungsparametern. Der Demultiplexer gibt die Sätze der
Spektralkomponenten an den Eingangsanschluss 15 der nichtlinearen
Dequantisierungseinrichtung 233 ab, und er liefert die jeweiligen
Wortlängen
an den Eingangsanschluss 16 der nichtlinearen Quantisierungseinrichtung 233.
Der Demultiplexer gibt außerdem
die Skalierungsfaktoren an den Blockgleit-Freigabeprozessor 232 ab.In the stretching device 112 the compressed signal is transmitted from the transmission or recording medium by means of the demultiplexer 225 receive. The demultiplexer 225 It extracts the sets of quantized spectral components and the respective bit allocation parameters from the compressed signal, and also extracts the word length and scaling factor for the respective set of quantized spectral components from the bit allocation parameters. The demultiplexer gives the sets of spectral components to the input port 15 the non-linear dequantizer 233 and delivers the respective word lengths to the input terminal 16 the non-linear quantizer 233 , The demultiplexer also supplies the scaling factors to the block-slip enable processor 232 from.
Die
nichtlineare Dequantisierungseinrichtung 233 nimmt eine
nichtlineare Dequantisierung des jeweiligen Satzes der nichtlinear
quantisierten Spektralkomponenten von dem Multiplexer 225 unter Heranziehung
der jeweiligen Wortlänge
vor, um die lineare Dequantisierung der quantisierten Spektralkomponenten
durch die lineare Dequantisierungseinrichtung 71 (21) zu steuern, und sie
wählt die durch
den Nach-Prozessor 72 verwendete inverse nichtlineare Funktion
aus, um eine Nachverabeitung bezüglich
der nichtlinearen Spektralkomponenten vorzunehmen, die aus der linearen
Dequantisierung durch die lineare Dequantisierungseinrichtung 71 resultieren.The non-linear dequantizer 233 takes a non-linear dequantization of the respective set of nonlinear quantized spectral components from the multiplexer 225 using the respective word length before the linear dequantization of the quantized spectral components by the linear dequantizer 71 ( 21 ), and she chooses those by the post-processor 72 used inverse nonlinear function to perform post-processing on the nonlinear spectral components resulting from linear dequantization by the linear dequantizer 71 result.
Die
Sätze der
durch Blockgleiten verarbeiteten Spektralkomponenten, welche durch
die nichtlineare Quantisierungseinrichtung 233 erzeugt
sind, werden dem Blockgleit-Freigabeprozessor 232 zugeführt, der
die Blockgleitverarbeitung umkehrt, die auf den jeweiligen Satz
der Spektralkomponenten im Kompressor ausgeübt worden ist. Der Blockgleit-Freigabeprozessor
multipliziert die durch Blockgleiten verarbeiteten Spektralkomponenten
im jeweiligen Satz mit dem Skalierungsfaktor für den Satz, der vom Demultiplexer 225 erhalten
worden ist, um einen Satz von rekonstruierten Spektralkomponenten
zu erzeugen.The sets of the block glide processed spectral components produced by the non-linear quantizer 233 are generated, the Blockgleit Freigabeprozessor 232 which reverses the block sliding processing applied to the respective set of spectral components in the compressor. The block-slip enable processor multiplies the block-sliced spectral components in each set by the scaling factor for the set obtained by the demultiplexer 225 has been obtained to produce a set of reconstructed spectral components.
Der
Blockgleit-Freigabeprozessor 232 gibt den Satz der rekonstruierten
Spektralkomponenten an den Zeit-Frequenz-Synthesizer 221 ab.
Der Zeit-Frequenz-Synthesizer 221 transformiert den jeweiligen
Satz der rekonstruierten Spektralkomponenten zurück in den Zeitbereich, um einen
Block des Audio-Ausgangssignals zu rekonstruieren.The block-slip enable processor 232 returns the set of reconstructed spectral components to the time-frequency synthesizer 221 from. The time-frequency synthesizer 221 transforms the respective set of reconstructed spectral components back into the time domain to reconstruct a block of the audio output signal.
Falls
die Sätze
der Spektralkomponenten vor der Quantisierung im Kompressor 111 in
der Frequenz in Frequenzbänder
aufgeteilt sind, extrahiert der Demultiplexer 225 jedes
Band der quantisierten Spektralkomponenten und deren jeweiligen
Skalierungsfaktor sowie die Wortlänge aus dem komprimierten Signal.
Die nichtlineare Dequantisierungseinrichtung 233 nimmt
eine nichtlineare Dequantisierung der quantisierten Spektralkomponenten
im jeweiligen Frequenzband unter Heranziehung der Wortlänge für das Band
vor, und der Blockgleit-Freigabeprozessor 232 löst das Blockgleiten
auf, welches auf die jeweils resultierenden, durch Blockgleiten
verarbeiteten Spektralkomponenten ausgeübt worden ist, um ein Band
der rekonstruierten Spektralkomponenten zu erzeugen. Der Zeit-Frequenz-Synthesizer 221 nimmt
dann eine orthogonale Transformation der rekonstruierten Spektralkomponenten
in sämtlichen
Frequenzbändern
zurück
in den Zeitbereich vor und synthetisiert die resultierenden Blöcke der
Frequenzbereichssignale zur Rekonstruierung eines Blockes des Audio-Ausgangssignals.If the sets of spectral components before quantization in the compressor 111 in frequency are divided into frequency bands, the demultiplexer extracts 225 each band of the quantized spectral components and their respective scaling factor and the word length from the compressed signal. The non-linear dequantizer 233 performs non-linear dequantization of the quantized spectral components in the respective frequency band using the word length for the band, and the block-slip enable processor 232 resolves the block slip exerted on the respective resulting spectrally-processed spectral components to produce a band of the reconstructed spectral components. The time-frequency synthesizer 221 Then, an orthogonal transform of the reconstructed spectral components in all the frequency bands back into the time domain and synthesizes the resulting blocks of the frequency domain signals to reconstruct a block of the audio output signal.