Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND DEVICES FOR ENCODING AUDIO SIGNALS AND METHODS AND DEVICES FOR DECODING A BIT STREAM
Document Type and Number:
WIPO Patent Application WO/1999/022451
Kind Code:
A2
Abstract:
The invention makes it possible to combine a scaleable audio coder with TNS technology. According to the inventive method for encoding time signals (x¿1?) sampled in a first sampling rate, second time signals (x¿2?) with a sampling rate smaller than the first sampling rate are generated (12). The second time signals (x¿2?) are then encoded (14) according to a first coding algorithm, and written into a bit stream (x¿AUS?) (16). The encoded second time signals (x¿2c?) are then decoded (14) again and are transformed (23, 24) into the frequency range, as are the first time signals. TNS prediction coefficients are then calculated (25) from a spectral representation of the first time signals (X¿1?). The transformed output signal (X¿2cd?) of the coder/decoder (14) with the first coding algorithm and the spectral representation (X¿1?) of the first time signal are subjected to a prediction of the frequency (27) in order to obtain spectral residual values for both signals using the prediction coefficients calculated on the basis of the first time signals alone. These two signals are evaluated against each other (26, 28). The evaluated spectral residual values (X¿b?) are then encoded by means of a second coding algorithm in order to obtain coded evaluated spectral residual values (X¿cb?). These evaluated spectral residual values are written into the bit stream (x¿AUS?) in addition to side information with the prediction coefficients.

Inventors:
GRILL BERNHARD (DE)
HERRE JUERGEN (DE)
TEICHMANN BODO (DE)
BRANDENBURG KARLHEINZ (DE)
GERHAEUSER HEINZ (DE)
Application Number:
PCT/EP1998/004200
Publication Date:
May 06, 1999
Filing Date:
July 07, 1998
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRAUNHOFER GES FORSCHUNG (DE)
GRILL BERNHARD (DE)
HERRE JUERGEN (DE)
TEICHMANN BODO (DE)
BRANDENBURG KARLHEINZ (DE)
GERHAEUSER HEINZ (DE)
International Classes:
G10L19/02; G10L19/00; H03H17/00; H03M7/00; H03M7/30; H04B1/66; H04B14/04; (IPC1-7): H03M7/00
Foreign References:
DE19537338C11997-03-13
Other References:
HERRE J; JOHNSTON J D: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)" 101ST AES CONVENTION, LOS ANGELES, CA, USA, PREPRINT 4384, 8. - 11. November 1996, XP002102636 in der Anmeldung erw{hnt
GRILL B ET AL: "A TWO- OR THREE-STAGE BIT RATE SCALABLE AUDIO CODING SYSTEM" AMERICAN ENGINEERING SOCIETY CONVENTION, 6. Oktober 1995, Seiten 1-8, XP000613371
Attorney, Agent or Firm:
Schoppe, Fritz (Schoppe & Zimmermann Postfach 71 08 67 München, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zum Codieren von diskreten, mit einer ersten Abtastrate abgetasteten ersten Zeitsignalen (x1), mit folgenden Schritten : Erzeugen von zweiten Zeitsignalen (x2), deren Bandbreite einer zweiten Abtastrate entspricht, aus den ersten Zeitsignalen (xl), wobei die zweite Abtastrate gleich oder kleiner als die erste Abtastrate ist ; Codieren der zweiten Zeitsignale (x2) gemäß einem ersten Codieralgorithmus, um codierte zweite Signale (x2c) zu erhalten ; Decodieren der codierten zweiten Signale (x2c) gemäß dem ersten Codieralgorithmus, um codierte/decodierte zweite Zeitsignale (x2cd) zu erhalten, deren Bandbreite der zweiten Abtastfrequenz entspricht ; Transformieren der ersten Zeitsignale (xi) in den Fre quenzbereich, um erste Spektralwerte (X1) zu erhalten ; Berechnen von Prädiktionskoeffizienten aus den ersten Spektralwerten (X1) ; Erzeugen von zweiten Spektralwerten (X2cd) aus codier ten/decodierten zweiten Zeitsignalen (x2cd), wobei die zweiten Spektralwerte (X2cd) eine Darstellung der co dierten/decodierten zweiten Zeitsignale (x2cd) im Fre quenzbereich sind ; Bewerten der ersten Spektralwerte (X1) mit den zweiten Spektralwerten (X2cd), um bewertete Spektralwerte (Xb) zu erhalten, deren Anzahl der Anzahl der ersten Spek tralwerte (X1) entspricht ; Durchführen einer Prädiktion der bewerteten Spektral werte über der Frequenz mittels der berechneten Prädik tionskoeffizienten, um bewertete spektrale Restwerte zu erhalten ; und Codieren der bewerteten spektralen Restwerte gemäß einem zweiten Codieralgorithmus, um codierte bewertete spek trale Restwerte zu erhalten.
2. Verfahren zum Codieren von diskreten, mit einer ersten Abtastrate abgetasteten ersten Zeitsignalen (xl), mit folgenden Schritten : Erzeugen von zweiten Zeitsignalen (x2), deren Bandbreite einer zweiten Abtastrate entspricht, aus den ersten Zeitsignalen (xl), wobei die zweite Abtastrate gleich oder kleiner als die erste Abtastrate ist ; Codieren der zweiten Zeitsignale (x2) gemäß einem ersten Codieralgorithmus, um codierte zweite Signale (x2c) zu erhalten ; Decodieren der codierten zweiten Signale (x2c) gemäß dem ersten Codieralgorithmus, um codierte/decodierte zweite Zeitsignale (x2cd) zu erhalten, deren Bandbreite der zweiten Abtastfrequenz entspricht ; Transformieren der ersten Zeitsignale (xi) in den Fre quenzbereich, um erste Spektralwerte (X1) zu erhalten ; Berechnen von Prädiktionskoeffizienten aus den ersten Spektralwerten (X1) ; Erzeugen von zweiten Spektralwerten (X2cd) aus codier ten/decodierten zweiten Zeitsignalen (x2cd), wobei die zweiten Spektralwerte (X2cd) eine Darstellung der co dierten/decodierten zweiten Zeitsignale (x2cd) im Fre quenzbereich sind ; Durchführen einer Prädiktion der ersten Spektralwerte (X1) und der zweiten Spektralwerte (X2cd) über der Fre quenz, um erste spektrale Restwerte bzw. zweite spek trale Restwerte zu erhalten, unter Verwendung der berechneten Prädiktionskoeffizienten. Bewerten der ersten spektralen Restwerte mit den zweiten spektralen Restwerten, um bewertete spektrale Restwerte zu erhalten, deren Anzahl der Anzahl der ersten Spek tralwerte (X1) entspricht ; und Codieren der bewerteten spektralen Restwerte (Xb) gemäß einem zweiten Codieralgorithmus, um codierte bewertete spektrale Restwerte zu erhalten.
3. Verfahren zum Decodieren eines Bitstroms, der ein Audio signal darstellt, wobei der Bitstrom gemäß einem ersten Codieralgorithmus codierte Signale, gemäß einem zweiten Codieralgorithmus codierte Signale und Seiteninformatio nen aufweist, wobei die gemäß dem zweiten Codieralgo rithmus codierten Signale codierte spektrale Restwerte aufweisen, wobei die spektralen Restwerte durch Prädik tion über der Frequenz aus bewerteten Spektralwerten erzeugt sind, wobei Prädiktionskoeffizienten der Prä diktion in den Seiteninformationen vorhanden sind, mit folgenden Schritten : Decodieren der gemäß dem ersten Codieralgorithmus codierten Signale (x2c), um codierte, decodierte zweite Zeitsignale (x2cd) zu erhalten, mittels des ersten Codieralgorithmus ; Decodieren der codierten spektralen Restwerte mittels des zweiten Codieralgorithmus, um die spektralen Rest werte zu erhalten ; Transformieren der codierten/decodierten zweiten Zeit signale (x2) in den Frequenzbereich, um die zweiten Spektralwerte (X2cd) zu erhalten ; Durchführen einer inversen Prädiktion mit den bewerteten spektralen Restwerten unter Verwendung der Prädiktions koeffizienten, die in den Seiteninformationen vorhanden sind, um die bewerteten Spektralwerte (Xb) zu erhalten ; inverses Bewerten der bewerteten Spektralwerte (Xb) und der zweiten Spektralwerte (X2cd) um die ersten Spek tralwerte (X1) zu erhalten ; und Rücktransformieren der ersten Spektralwerte (X1) in den Zeitbereich, um erste Zeitsignale (x1) zu erhalten.
4. Verfahren zum Decodieren eines Bitstroms, der ein Audiosignal darstellt, wobei der Bitstrom gemäß einem ersten Codieralgorithmus codierte Signale, gemäß einem zweiten Codieralgorithmus codierte Signale und Seiten informationen aufweist, wobei die gemäß dem zweiten Codieralgorithmus codierten Signale codierte spektrale Restwerte aufweisen, wobei die spektralen Restwerte durch Prädiktion über der Frequenz aus bewerteten Spek tralwerten erzeugt sind, wobei Prädiktionskoeffizienten der Prädiktion in den Seiteninformationen vorhanden sind, mit folgenden Schritten : Decodieren der gemäß dem ersten Codieralgorithmus co dierten Signale (x2c), um codierte, decodierte zweite Zeitsignale (x2cd) zu erhalten, mittels des ersten Codieralgorithmus ; Decodieren der codierten spektralen Restwerte mittels des zweiten Codieralgorithmus, um die spektralen Rest werte zu erhalten ; Transformieren der codierten/decodierten zweiten Zeit signale (x2) in den Frequenzbereich, um die zweiten Spektralwerte (X2cd) zu erhalten ; Durchführen einer Prädiktion mit den zweiten Spektral werten (X2cd) unter Verwendung der in den Seiteninfor mationen vorhandenen Prädiktionskoeffizienten, um zweite spektrale Restwerte zu erhalten ; inverses Bewerten der bewerteten spektralen Restwerte und der zweiten spektralen Restwerte, um die spektralen Restwerte zu erhalten ; Durchführen einer inversen Prädiktion mit den spektralen Restwerten unter Verwendung der in den Seiteninforma tionen gespeicherten Prädiktionskoeffizienten, um erste Spektralwerte (X1) zu erhalten ; und Rücktransformieren der ersten Spektralwerte (X1) in den Zeitbereich, um erste Zeitsignale (xl) zu erhalten.
5. Vorrichtung (10) zum Codieren von diskreten, mit einer ersten Abtastrate abgetasteten ersten Zeitsignalen (xl), mit folgenden Merkmalen : einer Einrichtung (12) zum Erzeugen von zweiten Zeit signalen (x2), deren Bandbreite einer zweiten Abtastrate entspricht, aus den ersten Zeitsignalen (xl), wobei die zweite Abtastrate gleich oder kleiner als die erste Ab tastrate ist ; einer Einrichtung (14) zum Codieren der zweiten Zeit signale (x2) gemäß einem ersten Codieralgorithmus, um codierte zweite Signale (x2c) zu erhalten ; einer Einrichtung (14) zum Decodieren der codierten zweiten Signale (x2c) gemäß dem ersten Codieralgorith mus, um codierte/decodierte zweite Zeitsignale (x2cd) zu erhalten, deren Bandbreite der zweiten Abtastfrequenz entspricht ; einer Einrichtung (24) zum Transformieren der ersten Zeitsignale (xl) in den Frequenzbereich, um erste Spek tralwerte (X1) zu erhalten ; einer Einrichtung (25) zum Berechnen von Prädiktionsko effizienten aus den ersten Spektralwerten (X1) ; einer Einrichtung (22,23) zum Erzeugen von zweiten Spektralwerten (X2cd) aus codierten/decodierten zweiten Zeitsignalen (x2cd), wobei die zweiten Spektralwerte (X2cd) eine Darstellung der codierten/decodierten zwei ten Zeitsignale (x2cd) im Frequenzbereich sind ; einer Einrichtung (26,28) zum Bewerten der ersten Spektralwerte (X1) mit den zweiten Spektralwerten (X2cd) um bewertete Spektralwerte (Xb) zu erhalten, deren Anzahl der Anzahl der ersten Spektralwerte (X1) entspricht ; einer Einrichtung (27) zum Durchführen einer Prädiktion der bewerteten Spektralwerte über der Frequenz mittels der berechneten Prädiktionskoeffizienten, um bewertete spektrale Restwerte zu erhalten ; und einer Einrichtung (30) zum Codieren der bewerteten spek tralen Restwerte gemäß einem zweiten Codieralgorithmus, um codierte bewertete spektrale Restwerte zu erhalten.
6. Vorrichtung (10) zum Codieren von diskreten, mit einer ersten Abtastrate abgetasteten ersten Zeitsignalen (xl), mit folgenden Merkmalen : einer Einrichtung (12) zum Erzeugen von zweiten Zeit signalen (x2), deren Bandbreite einer zweiten Abtastrate entspricht, aus den ersten Zeitsignalen (xl), wobei die zweite Abtastrate gleich oder kleiner als die erste Abtastrate ist ; einer Einrichtung (14) zum Codieren der zweiten Zeit signale (x2) gemäß einem ersten Codieralgorithmus, um codierte zweite Signale (x2c) zu erhalten ; einer Einrichtung (14) zum Decodieren der codierten zweiten Signale (x2c) gemäß dem ersten Codieralgo rithmus, um codierte/decodierte zweite Zeitsignale (x2cd) zu erhalten, deren Bandbreite der zweiten Ab tastfrequenz entspricht ; einer Einrichtung (24) zum Transformieren der ersten Zeitsignale (xl) in den Frequenzbereich, um erste Spek tralwerte (X1) zu erhalten ; einer Einrichtung (25) zum Berechnen von Prädiktionsko effizienten aus den ersten Spektralwerten (X1) ; einer Einrichtung (22,23) zum Erzeugen von zweiten Spektralwerten (X2cd) aus codierten/decodierten zweiten Zeitsignalen (x2cd) wobei die zweiten Spektralwerte (X2cd) eine Darstellung der codierten/decodierten zweiten Zeitsignale (x2cd) im Frequenzbereich sind ; einer Einrichtung (27,27) zum Durchführen einer Prädik tion der ersten Spektralwerte (X1) und der zweiten Spek tralwerte (X2cd) über der Frequenz, um erste spektrale Restwerte bzw. zweite spektrale Restwerte zu erhalten, unter Verwendung der berechneten Prädiktionskoeffizien ten. einer Einrichtung (26,28) zum Bewerten der ersten spek tralen Restwerte mit den zweiten spektralen Restwerten, um bewertete spektrale Restwerte zu erhalten, deren An zahl der Anzahl der ersten Spektralwerte (X1) ent spricht ; und einer Einrichtung (30) zum Codieren der bewerteten spek tralen Restwerte (Xb) gemäß einem zweiten Codieralgo rithmus, um codierte bewertete spektrale Restwerte zu erhalten.
7. Vorrichtung zum Decodieren eines Bitstroms, der ein Audiosignal darstellt, wobei der Bitstrom gemäß einem ersten Codieralgorithmus codierte Signale, gemäß einem zweiten Codieralgorithmus codierte Signale und Seiten informationen aufweist, wobei die gemäß dem zweiten Codieralgorithmus codierten Signale codierte spektrale Restwerte aufweisen, wobei die spektralen Restwerte durch Prädiktion über der Frequenz aus bewerteten Spektralwerten erzeugt sind, wobei Prädiktionskoeffi zienten der Prädiktion in den Seiteninformationen vor handen sind, mit folgenden Merkmalen : einer Einrichtung (50) zum Decodieren der gemäß dem ersten Codieralgorithmus codierten Signale (x2c), um codierte, decodierte zweite Zeitsignale (x2cd) zu er halten, mittels des ersten Codieralgorithmus ; einer Einrichtung (54) zum Decodieren der codierten spektralen Restwerte mittels des zweiten Codieralgorith mus, um die spektralen Restwerte zu erhalten ; einer Einrichtung (64) zum Transformieren der codier ten/decodierten zweiten Zeitsignale (x2) in den Fre quenzbereich, die zweiten Spektralwerte (X2cd) zu er halten ; einer Einrichtung (59) zum Durchführen einer inversen Prädiktion mit den bewerteten spektralen Restwerten un ter Verwendung der Prädiktionskoeffizienten, die in den Seiteninformationen vorhanden sind, um die bewerteten Spektralwerte (Xb) zu erhalten ; einer Einrichtung (60,62) zum inversen Bewerten der be werteten Spektralwerte (Xb) und der zweiten Spektralwer te (X2cd), um die ersten Spektralwerte (X1) zu erhalten ; und einer Einrichtung (66) zum Rücktransformieren der ersten Spektralwerte (X1) in den Zeitbereich, um erste Zeitsi gnale (xl) zu erhalten.
8. Vorrichtung zum Decodieren eines Bitstroms, der ein Au diosignal darstellt, wobei der Bitstrom gemäß einem er sten Codieralgorithmus codierte Signale, gemäß einem zweiten Codieralgorithmus codierte Signale und Seiten informationen aufweist, wobei die gemäß dem zweiten Codieralgorithmus codierten Signale codierte spektrale Restwerte aufweisen, wobei die spektralen Restwerte durch Prädiktion über der Frequenz aus bewerteten Spek tralwerten erzeugt sind, wobei Prädiktionskoeffizienten der Prädiktion in den Seiteninformationen vorhanden sind, mit folgenden Merkmalen : einer Einrichtung (50) zum Decodieren der gemäß dem er sten Codieralgorithmus codierten Signale (x2c), um co dierte, decodierte zweite Zeitsignale (x2cd) zu erhal ten, mittels des ersten Codieralgorithmus ; einer Einrichtung (54) zum Decodieren der codierten spektralen Restwerte mittels des zweiten Codieralgo rithmus, um die spektralen Restwerte zu erhalten ; einer Einrichtung (64) zum Transformieren der codier ten/decodierten zweiten Zeitsignale (x2) in den Fre quenzbereich, die zweiten Spektralwerte (X2cd) zu er halten ; einer Einrichtung (27) zum Durchführen einer Prädiktion mit den zweiten Spektralwerten (X2cd) unter Verwendung der in den Seiteninformationen vorhandenen Prädiktions koeffizienten, um zweite spektrale Restwerte zu erhal ten ; einer Einrichtung (60,62) zum inversen Bewerten der be werteten spektralen Restwerte und der zweiten spektralen Restwerte, um die spektralen Restwerte zu erhalten ; einer Einrichtung (59) zum Durchführen einer inversen Prädiktion mit den spektralen Restwerten unter Verwen dung der in den Seiteninformationen gespeicherten Prä diktionskoeffizienten, um erste Spektralwerte (X1) zu erhalten ; und einer Einrichtung (60) zum Rücktransformieren der ersten Spektralwerte (X1) in den Zeitbereich, um erste Zeitsi gnale (xl) zu erhalten.
Description:
Verfahren und Vorrichtungen zum Codieren von Audiosignalen sowie Verfahren und Vorrichtungen zum Decodieren eines Bitstroms Beschreibunq Die vorliegende Erfindung bezieht sich auf skalierbare Audiocodierer und Audiodecodierer und insbesondere auf skalierbare Codierer bzw. Decodierer, bei denen zumindest eine Stufe im Frequenzbereich arbeitet.

Skalierbare Audiocoder sind Coder, die modular aufgebaut sind. So besteht die Bestrebung, bereits bestehende Sprach- codierer zu verwenden, die Signale, die z. B. mit 8 kHz abgetastet sind, verarbeiten und Datenraten von beispiels- weise 4,8 bis 8 Kilobit pro Sekunde ausgeben. Diese bekannten Codierer, wie z. B. die für Fachleute bekannten Codierer G. 729, G. 723, FS1016, CELP oder parametrische Modelle für MPEG-4-Audio, dienen hauptsächlich zum Codieren von Sprachsignalen und sind im allgemeinen zum Codieren von höherqualitativen Musiksignalen nicht geeignet, da sie üblicherweise für mit 8 kHz abgetastete Signale entworfen sind, weshalb sie lediglich eine Audiobandbreite von maximal 4 kHz codieren können. Sie zeigen jedoch im allgemeinen eine niedrige Abtastrate und eine gute Qualität für Sprach- signale.

Zur Audiocodierung von Musiksignalen, um beispielsweise HIFI-Qualitat oder CD-Qualität zu erreichen, wird daher bei einem skalierbaren Codierer ein Sprachcodierer mit einem Audiocodierer kombiniert, der Signale mit höherer Abtast- rate, wie z. B. 48 kHz, codieren kann. Selbstverständlich ist es auch möglich, den oben genannten Sprachcodierer durch einen anderen Codierer zu ersetzen, beispielsweise durch einen Musik/Audiocodierer nach den Standards MPEG1, MPEG2 oder MPEG4. Eine derartige Kettenschaltung besteht aus einem Sprachco- dierer und einem höherwertigen Audiocodierer. Ein Ein- gangssignal, das beispielsweise eine Abtastrate von 48 kHz aufweist, wird mittels eines Downsampling-Filters auf die für den Sprachcodierer geeignete Abtastfrequenz umgesetzt. Die Abtastrate könnte jedoch auch in beiden Codierern die gleiche sein. Nun wird das umgesetzte Signal codiert. Das codierte Signal kann direkt einer Bitstromforma- tiereinrichtung zugeführt werden, um übertragen zu werden. Es enthält jedoch lediglich Signale mit einer Bandbreite von z. B. maximal 4 kHz. Das codierte Signal wird ferner wieder decodiert und mittels eines Upsampling-Filters umgesetzt.

Das nun erhaltene Signal besitzt jedoch aufgrund des Downsampling-Filters lediglich Nutzinformationen mit einer Bandbreite von beispielsweise 4 kHz. Ferner ist festzustel- len, daß der Spektralgehalt des umgesetzten codier- ten/decodierten Signals im unteren Band bis 4 kHz nicht exakt dem ersten 4-kHz-Band des mit 48 kHz abgetasteten Eingangssignals entspricht, da Codierer im allgemeinen Codierfehler einführen.

Wie bereits erwähnt wurde, weist ein skalierbarer Codierer oder Coder sowohl einen allgemein bekannten Sprachcodierer als auch einen Audiocodierer auf, der Signale mit höheren Abtastraten verarbeiten kann. Um Signalanteile des Eingangs- signals übertragen zu können, deren Frequenzen über 4 kHz sind, wird eine Differenz des Eingangssignals mit 8 kHz und des codierten/decodierten, umgesetzten Ausgangssignals des Sprachcodierers für jeden einzelnen zeitdiskreten Abtastwert gebildet. Diese Differenz kann dann mittels eines bekannten Audiocodierers quantisiert und codiert werden, wie es für Fachleute bekannt ist. An dieser Stelle sei angemerkt, daß das Differenzsignal, das in den Audiocodierer, der Signale mit höheren Abtastraten codieren kann, eingespeist wird, im unteren Frequenzbereich abgesehen von Codierfehlern des Sprachcodierers im wesentlichen Null ist. In dem Spektral- bereich, der oberhalb der Bandbreite des nach oben umge- setzten codierten/decodierten Ausgangssignals des Sprach- codierers liegt, entspricht das Differenzsignal im wesentli- chen dem wahren Eingangssignal bei 48 kHz.

In der ersten Stufe, d. h. der Stufe des Sprachcodierers, wird also zumeist ein Coder mit niedriger Abtastfrequenz eingesetzt, da im allgemeinen eine sehr niedrige Bitrate des codierten Signals angestrebt wird. Derzeit arbeiten mehrere Coder, auch die genannten Coder, mit Bitraten von wenigen Kilobit (zwei bis 8 Kilobit oder auch darüber). Dieselben ermöglichen ferner eine maximale Abtastfrequenz von 8 kHz, da ohnehin nicht mehr Audiobandbreite bei dieser geringen Bitrate möglich ist, und die Codierung bei niedriger Abtast- frequenz bezüglich des Rechenaufwands günstiger ist. Die maximal mögliche Audiobandbreite beträgt 4 kHz und ist in der Praxis auf etwa 3,5 kHz beschränkt. Soll jetzt in der weiteren Stufe, d. h. in der Stufe mit dem Audiocoder, eine Bandbreitenverbesserung erzielt werden, muß diese weitere Stufe mit einer höheren Abtastfrequenz arbeiten.

Seit einiger Zeit ist es bekannt, zur weiteren Reduzierung der Datenmenge die sog. TNS-Technik bei der hochqualitativen Audiocodierung einzusetzen (J. Herre, J. D. Johnston, "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)", 101st AES Convention, Los Angeles 1996, Preprint 4384). Die TNS-Technik (TNS = Temporal Noise Shaping = zeitliche Rauschformung) gestattet allgemein gesagt mittels einer prädiktiven Codierung der Spektralwerte eine zeitliche Formung der Feinstruktur des Quantisierungsrauschens. Die TNS-Technik basiert auf einer konsequenten Anwendung des Dualismus zwischen Zeit-und Frequenzbereich. Aus der Technik ist bekannt, daß die Auto- korrelationsfunktion eines Zeitsignals, wenn sie in den Frequenzbereich transformiert wird, die spektrale Leistungs- dichte eben diesen Zeitsignals angibt. Der duale Fall dazu ergibt sich, wenn die Autokorrelationsfunktion des Spektrums eines Signals gebildet wird und in den Zeitbereich transfor- miert wird. Die in den Zeitbereich transformierte oder rück- transformierte Autokorrelationsfunktion wird auch als Qua- drat der Hilbert-Hüllkurve des Zeitsignals bezeichnet. Die Hilbert-Hüllkurve eines Signals ist somit direkt mit der Autokorrelationsfunktion seines Spektrums verbunden. Die quadrierte Hilbert-Hüllkurve eines Signals und die spektrale Leistungsdichte desselben stellen somit duale Aspekte im Zeitbereich und im Frequenzbereich dar. Wenn die Hilbert- Hüllkurve eines Signals für jedes Teilbandpaßsignal über einem Bereich von Frequenzen konstant bleibt, dann wird auch die Autokorrelation zwischen benachbarten Spektralwerten konstant sein. Dies bedeutet in der Tat, daß die Serie von Spektralkoeffizienten über der Frequenz stationär ist, weshalb prädiktive Codiertechniken effizient verwendet werden können, um dieses Signal darzustellen, und zwar unter Verwendung eines gemeinsamen Satzes von Prädiktionskoeffi- zienten.

Um diesen Sachverhalt zu veranschaulichen, sei auf die Fig.

6A und Fig. 6B verwiesen. Fig. 6A zeigt einen kurzen Aus- schnitt aus einem zeitlich stark transienten"Kastagnet- ten"-Signal einer Dauer von ca. 40 ms. Dieses Signal wurde in mehrere Teilbandpaßsignale zerlegt, wobei jedes Teil- bandpaßsignal eine Bandbreite von 500 Hz hat. Fig. 6B zeigt nun die Hilbert-Hüllkurven für diese Bandpaßsignale mit Mittenfrequenzen, die von 1500 Hz bis 4000 Hz reichen. Aus Klarheitsgründen wurden alle Hüllkurven auf ihre Maximal- amplitude normiert. Offensichtlich sind die Formen aller Teilhüllkurven sehr stark aufeinander bezogen, weshalb ein gemeinsamer Prädiktor innerhalb dieses Frequenzbereiches verwendet werden kann, um das Signal effizient zu codieren. Ähnliche Beobachtungen können bei Sprachsignalen gemacht werden, bei denen der Effekt der glottalen Erregungspulse über dem gesamten Frequenzbereich aufgrund der Natur des menschlichen Spracherzeugungsmechanismus vorhanden ist.

Fig. 6B zeigt also, daß die Korrelation benachbarter Werte beispielsweise bei einer Frequenz von 2000 Hz ähnlich wie bei beispielsweise einer Frequenz von 3000 Hz bzw. 1000 Hz ist.

Eine alternative Weise zum Verständnis der Eigenschaft der spektralen Prädiktierbarkeit von transienten Signalen kann aus der in Fig. 5 dargestellten Tabelle erhalten werden.

Links oben in der Tabelle ist ein zeitkontinuierliches Signal u (t) gezeigt, das einen sinusförmigen Verlauf hat.

Dem ist das Spektrum U (f) dieses Signales gegenübergestellt, das aus einem einzigen Dirac-Impuls besteht. Die optimale Codierung für dieses Signal besteht in der Codierung von Spektraldaten oder Spektralwerten, da hier für das gesamte Zeitsignal lediglich sowohl der Betrag als auch die Phase des Fourrierkoeffizienten übertragen werden braucht, um das Zeitsignal vollständig rekonstruieren zu können. Ein Codieren von Spektraldaten entspricht gleichzeitig einer Prädiktion im Zeitbereich. Eine prädiktive Codierung würde hier also im Zeitbereich stattfinden müssen. Das sinusför- mige Zeitsignal hat also eine flache zeitliche Hüllkurve, welche einer maximal nicht flachen Hüllkurve im Frequenz- bereich entspricht.

Nun sei der entgegengestzte Fall betrachtet, bei dem das Zeitsignal u (t) ein maximal transientes Signal in der Form eines Dirac-Impulses im Zeitbereich ist. Ein Dirac-Impuls im Zeitbereich entspricht einem"flachen"Leistungsspektrum, während das Phasenspektrum gemäß der zeitlichen Position des Impulses rotiert. Offensichtlich stellt dieses Signal für die oben erwähnten traditionellen Verfahren, wie z. B. die Transformationscodierung oder Codierung von Spektraldaten oder eine lineare Prädiktionscodierung der Zeitbereichs- daten, ein Problem dar. Dieses Signal kann am besten und effektivsten im Zeitbereich codiert werden, da lediglich die zeitliche Position sowie die Leistung des Dirac-Impulses übertragen werden muß, was durch konsequente Anwendung des Dualismus dazu führt, daß auch eine prädiktive Codierung im Frequenzbereich eine geeignetes Verfahren zur effizienten Codierung darstellt.

Es ist sehr wichtig, nicht die prädiktive Codierung von Spektralkoeffizienten über der Frequenz mit dem bekannten dualen Konzept der Prädiktion von Spektralkoeffizienten von einem Block zum nächsten zu verwechseln, das bereits imple- mentiert ist und ebenfalls in dem oben erwähnten Artikel (M.

Bosi, K. Brandenburg, S. Quakenbush, L. Fielder, K. Akagiri, H. Fuchs, M. Dietz, J. Herre, G. Davidson, Yoshiaki Oikawa : "ISO/IEC MPEG-2 Advanced Audio Coding", 101st AES Con- vention, Los Angeles 1996, Preprint 4382) beschrieben ist. Bei der Prädiktion von Spektralkoeffizienten von einem Block zum nächsten, welche einer Prädiktion über der Zeit ent- spricht, wird die spektrale Auflösung erhöht, während eine Prädiktion von Spektralwerten über der Frequenz die zeit- liche Auflösung steigert. Ein Spektralkoeffizient bei bei- spielsweise 1000 Hz kann also durch den Spektralkoeffizien- ten bei beispielsweise 900 Hz in demselben Block oder Frame ermittelt werden.

Die dargestellten Überlegungen führten also dazu, ein effi- zientes Codierverfahren für transiente Signale zu erhalten. Prädiktive Codiertechniken können unter Berücksichtigung der Dualität zwischen Zeit und Frequenzbereich im wesentlichen analog zu der bereits bekannten Prädiktion von einem Spek- tralkoeffizienten zum Spektralkoeffizienten mit gleicher Frequenz im nächsten Block behandelt werden. Da die spek- trale Leistungsdichte und die quadrierte Hilbert-Hüllkurve eines Signals dual zueinander sind, wird eine Reduktion einer Restsignalenergie oder ein Prädiktionsgewinn abhängig von einem Flachheitsmaß der quadrierten Hüllkurve des Signals im Gegensatz zu einem spektralen Flachheitsmaß beim konventionellen Prädiktionsverfahren erhalten. Der poten- tielle Codierungsgewinn steigt mit transienteren Signalen an.

Als mögliche Prädiktionsschemen bietet sich sowohl das Prä- diktionsschema mit geschlossener Schleife, das auch Rück- wärtsprädiktion genannt wird, sowie das Prädiktionsschema mit offener Schleife, das auch Vorwärtsprädiktion genannt wird, an. Beim spektralen Prädiktionsschema mit geschlos- sener Schleife (Rückwärtsprädiktion) ist die Hüllkurve des Fehlers flach. Anders ausgedrückt wird die Fehlersignalener- gie gleichmäßig über der Zeit verteilt.

Bei einer Vorwärtsprädiktion, wie sie in Fig. 7 dargestellt ist, tritt jedoch eine zeitliche Formung des durch die Quan-- tisierung eingeführten Rauschens auf. Ein zu prädizierender Spektralkoeffizient x (f) wird einem Summationspunkt 600 zu- geführt. Derselbe Spektralkoeffizient wird ferner einem Prä- diktor 610 zugeführt, dessen Ausgangssignal mit negativem Vorzeichen ebenfalls dem Summationspunkt 600 zugeführt wird.

Das Eingangssignal in einen Quantisierer 620 stellt somit die Differenz des Spektralwerts x (f) und des durch Prädik- tion berechneten Spektralwerts xp (f) dar. Bei der Vorwärts- prädiktion wird die Gesamtfehlerenergie in den decodierten Spektralkoeffizientendaten gleichbleiben. Die zeitliche Form des Quantisierungsfehlersignals wird jedoch als zeitlich geformt am Ausgang des Decodierers erscheinen, da die Prä- diktion auf die Spektralkoeffizienten angewendet wurde, wodurch das Quantisierungsrauschen zeitlich unter das tat- sächliche Signal gelegt wird und somit maskiert werden kann.

Auf diese Art und Weise werden Probleme der zeitlichen Mas- kierung z. B. bei transienten Signalen oder Sprachsignalen vermieden.

Dieser Typ der prädiktiven Codierung von Spektralwerten wird daher als die TNS-oder zeitliche Rauschformungstechnik bezeichnet. Zur Veranschaulichung dieser Technik sei auf Fig. 8A verwiesen. Links oben in Fig. 8A befindet sich ein Zeitverlauf eines stark transienten Zeitsignals. Dem Zeit- verlauf ist der Ausschnitt eines DCT-Spektrums rechts oben in Fig. 8A gegenübergestellt. Die linke untere Darstellung von Fig. 8 zeigt die resultierende Frequenzantwort eines TNS-Synthesefilters, das durch die LPC-Operation berechnet wurde (LPC = Linear Prediction Coding). Es sein angemerkt, daß die (normierten) Frequenzkoordinaten in diesem Diagramm den Zeitkoordinaten aufgrund der Zeitbereichs-und Frequenz- bereichsdualität entsprechen. Offensichtlich führt die LPC- Berechnung zu einem"Quellenmodell"des Eingangssignals, da die Frequenzantwort des LPC-berechneten Synthesefilters der Hüllkurve des stark transienten Zeitsignals ähnelt. In Fig.

8A rechts unten ist eine Darstellung der spektralen Rest- werte, d. h. des Eingangssignals des Quantisierers 620 in Fig. 7, über der Frequenz gezeigt. Ein Vergleich zwischen den spektralen Restwerten nach der Prädiktion und den Spek- tralwerten bei direkter Zeit-Frequenz-Transformation zeigt, daß die spektralen Restwerte eine wesentlich geringere Energie als die ursprünglichen Spektralwerte aufweisen. Bei dem gezeigten Beispiel entspricht die Reduktion der Energie der spektralen Restwerte einem Gesamtprädiktionsgewinn von etwa 12 dB.

Zu der Bedeutung der linken unteren Darstellung in Fig. 8A sei folgendes angemerkt. Bei klassischer Anwendung der Prä- diktion auf Zeitbereichssignale ist der Frequenzgang des Synthesefilters eine Annäherung des Betragssspektrums des Eingangssignals. Das Synthesefilter (re) generiert gewisser- maßen die spektrale Gestalt des Signals aus einem Restsignal mit naherungsweise"weißem"Spektrum. Bei Anwendung der Prä- diktion auf spektrale Signale, wie es bei der TNS-Technik der Fall ist, ist der Frequenzgang des Synthesefilters eine Annäherung der Hüllkurve des Eingangsfilters. Der Frequenz- gang des Synthesefilters ist nicht die Fouriertransformierte der Impulsantwort, wie es im klassischen Fall gilt, sondern die inverse Fouriertransformierte. Das TNS-Synthesefilter (re) generiert sozusagen den Hüllkurvenverlauf des Signals aus einem Restsignal mit näherungsweise"weißer" (d. h. flacher) Hüllkurve. So zeigt die linke untere Abbildung von Fig. 8A also die durch das TNS-Synthesefilter modellierte Hüllkurve des Eingangssignals. Diese ist hier eine loga- rithmische Darstellung der Hüllkurven-Annäherung des im der darüberliegenden Abbildung geziegten Kastagnettensignals.

Anschließend wurde ein Codierungsrauschen in die spektralen Restwerte eingeführt, derart, daß in jedem Codierband mit einer Breite von beispielsweise 0,5 Bark ein Signal/Rau- schen-Verhältnis von etwa 13 dB resultierte. Die aus der Einführung des Quantisierungsrauschen resultierenden Fehler- signale im Zeitbereich sind in Fig. 8B gezeigt. Die linke Darstellung in Fig. 8B zeigt das Fehlersignal aufgrund des Quantisierungsrauschens bei verwendeter TNS-Technik, während im rechten Diagramm die TNS-Technik aus Vergleichszwecken nicht verwendet wurde. Wie erwartet ist das Fehlersignal im linken Diagramm nicht gleichmäßig über den Block verteilt, sondern in dem Bereich konzentriert, in dem auch ein hoher Signalanteil vorhanden ist, welcher dieses Quantisierungs- rauschen optimal verdecken wird. Im rechten Fall ist dagegen das eingeführte Quantisierungsrauschen gleichmäßig im Block, d. h. über der Zeit, verteilt, was dazu führt, daß im vor- deren Bereich, in dem tatsächlich kein oder fast kein Signal ist, ebenfalls Rauschen vorhanden ist, das zu hören sein wird, während in dem Bereich, in dem hohe Signalanteile vorhanden sind, ein relativ kleines Rauschen vorhanden ist, durch das die Markierungsmöglichkeiten des Signals nicht vollständig ausgenützt werden.

Im nachfolgenden wird ein einfacher, d. h. nicht skalier- barer, Audiocodierer beschrieben, der ein TNS-Filter auf- weist.

Eine Implementierung eines TNS-Filters 804 in einen Codierer ist in Fig. 9A gezeigt. Derselbe ist zwischen einer Analyse- filterbank 802 und einem Quantisierer 806 angeordnet. Das zeitdiskrete Eingangssignal wird bei dem in Fig. 9A gezeig- ten Codierer in einen Audioeingang 800 eingespeist, während das quantisierte Audiosignal bzw. quantisierte Spektralwerte oder die quantisierten spektralen Restwerte an einem Ausgang 808 ausgegeben werden, dem ein Redundanz-Codierer nachge- schaltet sein kann. Das Eingangssignal wird also in Spek- tralwerte transformiert. Basierend auf den berechneten Spek- tralwerten wird eine übliche lineare Prädiktionsrechnung ausgeführt, welche beispielsweise durch Bilden der Auto- korrelationsmatrix der Spektralwerte und unter Verwendung einer Levinson-Durbin-Rekursion stattfindet. Fig. 9B zeigt eine detailliertere Ansicht des TNS-Filters 804. An einem Filtereingang 810 werden die Spektralwerte x (1),..., x (i), ..., x (n) eingespeist. Es kann vorkommen, daß lediglich ein bestimmter Frequenzbereich transiente Signale aufweist, während wiederum ein anderer Frequenzbereich eher statio- närer Natur ist. Diese Tatsache wird bei dem TNS-Filter 804 durch einen Eingangsschalter 812 sowie durch einen Ausgangs- schalter 814 berücksichtigt, wobei die Schalter zunächst jedoch für eine Parallel-zu-Seriell-bzw. Seriell-zu-Pa- rallel-Wandlung der zu verarbeitenden Daten sorgen. Abhängig davon, ob ein bestimmter Frequenzbereich instationär ist und einen bestimmten Codierungsgewinn durch die TNS-Technik verspricht, wird nur dieser Spektralbereich TNS-verarbeitet, was dadurch geschieht, daß der Eingangsschalter 812 bei- spielsweise bei dem Spektralwert x (i) startet und z. B. bis zu dem Spektralwert x (i+2) läuft. Der innere Bereich des Filters besteht wieder aus der Vorwärtsprädiktionsstruktur, d. h. dem Prädiktor 610 sowie dem Summationspunkt 600.

Die Berechnung zur Bestimmung der Filterkoeffizienten des TNS-Filters bzw. zur Bestimmung der Prädiktionskoeffizienten wird folgendermaßen durchgeführt. Das Bilden der Autokorre- lationsmatrix und das Verwenden der Levinson-Durbin-Rekur- sion wird für die höchste erlaubte Ordnung des Rauschfor- mungsfilters, z. B. 20, durchgeführt. Wenn der berechnete Prädiktionsgewinn eine bestimmte Schwelle überschreitet, wird die TNS-Verarbeitung aktiviert.

Die Ordnung des verwendeten Rauschformungsfilters für den gegenwärtigen Block wird dann durch anschließendes Entfernen aller Koeffizienten mit einem ausreichend kleinen Absolut- wert vom Ende des Koeffizientenarrays bestimmt. Auf diese Art und Weise liegen die Ordnungen von TNS-Filtern üblicher- weise in der Größenordnung von 4-12 für ein Sprachsignal.

Wenn für einen Bereich von Spektralwerten x (i) beispiels- weise ein ausreichend hoher Codierungsgewinn bestimmt wird, wird derselbe verarbeitet, und es wird am Ausgang des TNS- Filters nicht der Spektralwert x (i) sondern der spektrale Restwert Xp (i) ausgegeben. Dieser hat eine wesentlich ge- ringere Amplitude als der ursprüngliche Spektralwert x (i), wie es aus Fig. 7a ersichtlich ist. Die zum Decodierer übertragenen Seiteninformationen erhalten somit zusätzlich zu den üblichen Seiteninformationen eine Flag, die die Verwendung von TNS anzeigt, und falls erforderlich, Infor- mationen über den Zielfrequenzbereich und ebenfalls über das TNS-Filter, das zum Codieren verwendet wurde. Die Filterda- ten können als quantisierte Filterkoeffizienten dargestellt werden.

In Analogie zum Codierer mit TNS-Filter sei nun auf einen Decodierer eingegangen, welcher ein inverses TNS-Filter aufweist.

Im Decodierer, welcher in Fig. 10A skizziert ist, wird für jeden Kanal eine TNS-Codierung rückgängig gemacht. Spektrale Restwerte xR (i) werden in dem inversen Quantisierer 216 requantisiert und in ein inverses TNS-Filter 900 einge- speist, dessen näherer Aufbau in Fig. 10B dargestellt ist.

Das inverse TNS-Filter 900 liefert als Ausgangssignal wieder Spektralwerte, die in einer Synthesefilterbank 218 in den Zeitbereich transformiert werden. Das TNS-Filter 900 umfaßt wiederum einen Eingangsschalter 902 sowie einen Ausgangs- schalter 908, welche zunächst wieder zur Parallel-Seriell- Wandlung bzw. zur Seriell-Paralalel-Wandlung der verarbei- teten Daten dienen. Der Eingangsschalter 902 berücksichtigt ferner einen eventuell verwendeten Zielfrequenzbereich, um nur spektrale Restwerte einer inversen TNS-Codierung zuzu- führen, während nicht TNS-codierte Spektralwerte zu einem Ausgang 910 unverändert durchgelassen werden. Das inverse Prädiktionsfilter umfaßt wiederum einen Prädiktor 906 sowie einen Summationspunkt 904. Dieselben sind jedoch im Unter- schied zum TNS-Filter folgendermaßen verbunden. Ein spektra- ler Restwert gelangt über den Eingangsschalter 902 an den Summationspunkt 904, an dem derselbe mit dem Ausgangssignal des Prädiktors 906 summiert wird. Der Prädiktor liefert als Ausgangssignal einen geschätzten Spektralwerts xp (i). Der Spektralwert x (i) wird über den Ausgangsschalter an den Aus- gang des inversen TNS-Filters ausgegeben. Die TNS-bezogenen Seiteninformationen werden im Decodierer also decodiert, wobei die Seiteninformationen eine Flag umfassen, die die Verwendung von TNS anzeigt, und, falls erforderlich, Infor- mationen bezüglich der Zielfrequenzbereichs. Zusätzlich ent- halten die Seiteninformationen ferner die Filterkoeffizien- ten des Prädiktionsfilters, das zum Codieren eines Blocks oder"Frames"verwendet wurde.

Das TNS-Verfahren läßt sich also folgendermaßen zusammen- fassen. Ein Eingangssignal wird in eine spektrale Dar- stellung mittels einer hochauflösenden Analysefilterbank transformiert. Anschließend wird eine lineare Prädiktion im Frequenzbereich ausgeführt, und zwar zwischen den frequenz- mäßig benachbarten Spektralwerten. Diese lineare Prädiktion kann als Filterprozeß zum Filtern der Spektralwerte inter- pretiert werden, welcher im Spektralbereich ausgeführt wird. Damit werden die ursprünglichen Spektralwerte durch den Prädiktionsfehler, d. h. durch die spektralen Restwerte, ersetzt. Diese spektralen Restwerte werden ebenso wie übli- che Spektralwerte quantisiert und codiert zum Decodierer übertragen, indem die Werte wieder decodiert und invers quantisiert werden. Vor der Anwendung der inversen Filter- bank (Synthesefilterbank) wird eine zur im Codierer vorge- nommenen Prädiktion inverse Prädiktion vorgenommen, indem das inverse Prädiktionsfilter auf das übertragene Prädik- tionsfehlersignal, d. h. auf die requantisierten spektralen Restwerte, angewendet wird.

Durch die Anwendung dieser Technik ist es möglich, die zeit- liche Hüllkurve des Quantisierungsrauschens an die des Ein- gangssignals anzupassen. Dies erlaubt eine bessere Aus- nutzung der Markierung der Fehlersignale bei Signalen, die eine ausgeprägte Zeitfeinstruktur oder ein ausgeprägtes transientes Wesen haben. Im Falle von transienten Signalen vermeidet die TNS-Technik die sog."Vorechos", bei denen das Quantisierungsgeräusch bereits vor dem"Anschlag"eines solchen Signals erscheint.

Bei einem skalierbaren Audiocodierer, wird, wie es bereits erwähnt wurde, in der ersten Stufe ein Codierer mit niedrig- er Abtastfrequenz eingesetzt, da im allgemeinen eine sehr niedrige Bitrate des codierten Signals angestrebt wird. In der zweiten Stufe findet sich dann vorzugsweise ein Audio- codierer, der zwar bei höheren Bitraten codiert, jedoch eine wesentlich größere Bandbreite benötigt und somit Audiosig- nale mit viel höhere Klangqualität codieren kann als der Sprachcodierer. Üblicherweise wird ein zu codierendes Audio- signal, das in einer hohen Abtastrate vorliegt, zuerst auf eine niedrige Abtastrate beispielsweise mittels eines Down- sampling-Filters heruntergesetzt. Das in der Abtastrate reduzierte Signal wird dann in den Codierer der ersten Stufe eingespeist, wobei das Ausgangssignal dieses Codierers direkt in den Bitstrom geschrieben wird, der den skalierbar- en Audiocodierer verläßt. Dieses codierte Signal mit nied- riger Bandbreite wird wieder decodiert und dann mittels beispielsweise mittels eines Upsampling-Filters wieder auf die hohe Abtastrate gebracht und dann in den Frequenzbereich transformiert. Ebenfalls in den Frequenzbereich transfor- miert wird das ursprüngliche am Eingang des Codierers anliegende Audiosignal. Es liegen nun zwei Audiosignale vor, wobei jedoch das erstere mit den Codierfehlern des Codierers der ersten Stufe versehen ist. Diese beiden Signale im Frequenzbereich können dann einem Differenzglied zugeführt werden, um ein Signal zu erhalten, das nur noch die Differ- enz beider Signale darstellt. In einem Schaltmodul, das auch als frequenzselektiver Schalter ausgeführt sein kann, wie es weiter hinten beschrieben wird, kann bestimmt werden, ob es günstiger ist, die Differenz der beiden Eingangssignale oder aber das ursprüngliche in den Frequenzbereich transformierte Audiosignal direkt weiter zu verarbeiten. Das Ausgangssignal des Schaltmoduls wird jedenfalls beispielsweise einem bekannten Quantisierer/Codierer zugeführt, welcher, wenn er nach einem MPEG-Standard arbeitet, zum einen eine Quanti- sierung unter Berücksichtigung eines psychoakustischen Mo- dells durchführt, und zum anderen anschließend eine Entro- pie-Codierung vorzugsweise unter Verwendung der Huffman-Co- dierung mit den quantisierten Spektralwerten bewirkt. Das Ausgangssignal des Quantisierers und Codierers wird neben dem Ausgangssignal des Codierers der ersten Stufe in den Bitstrom geschrieben. Zunächst könnte daran gedacht werden, das eingangs beschriebene TNS-Filter direkt hinter dem Schaltmodul, d. h. vor dem Quantisierer/Codierer anzuordnen, um die in Fig. 10A gezeigte Struktur einfach nachzuahmen.

Ein Nachteil dieser Lösung besteht jedoch darin, daß das Ausgangssignal des Schaltmoduls bezüglich des ursprünglichen zeitlichen Audiosignals am Eingang des Codierers starkt verändert ist, weshalb eine Filterkoeffizientenbestimmung für das TNS-Filter nicht mit gleicher Qualität anwendbar ist.

Die Aufgabe der vorliegenden Erfindung besteht darin, das Konzept des skalierbaren Audiocodierens mit dem Konzept der zeitlichen Rauschformung zu verbinden, um auch bei skalier- baren Audiocodierern in den Genuß der zeitlichen Rauschfor- mung zu kommen.

Diese Aufgabe wird durch ein Verfahren zum Codieren gemäß Anspruch 1 oder 2, durch ein Verfahren zum Decodieren gemäß Anspruch 3 oder 4, durch eine Vorrichtung zum Codieren gemäß Anspruch 5 oder 6 sowie durch eine Vorrichtung zum Decodier- en gemäß Anspruch 7 oder 8 gelöst.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Bestimmung der TNS-Filterkoeffizienten bzw. Prädik- tionskoeffizienten unbedingt anhand von Spektralwerten durchgeführt werden muß, welche nicht durch den Codierer der ersten Stufe beeinflußt sind. Ein skalierbarer Audiocodierer soll ja zudem ein flexible Codierer sein, bei dem als Co- dierer der ersten Stufe irgendeiner der in der Beschrei- bungseinleitung genannten Varianten eingesetzt werden kann. Erfindungsgemäß wird die Bestimmung der TNS-Prädiktions- koeffizienten aufgrund von Spektralwerten durchgefuhrt, die eine direkte Darstellung des Audiosignals am Eingang des Codierers sind. Mittels einer Filterbank oder einer MDCT kann eine Spektraldarstellung des Audiocodierereingangs- signals erzeugt werden. Nun ist es jedoch nicht mehr mög- lich, die Bestimmung der TNS-Filterkoeffizienten an gleicher Stelle im Codierer wie die tatsächliche Filterung durch das TNS-Codierungsfilter durchzuführen. Die TNS-Filterkoeffizi- entenbestimmung muß daher getrennt vom tatsächlichen TNS-Co- dierungsfilter stattfinden.

Gemäß einem ersten Aspekt der vorliegenden Erfindung wird die TNS-Filterkoeffizientenbestimmung direkt hinter der Filterbank durchgeführt, welche das ursprüngliche Audio- eingangssignal direkt in den Frequenzbereich transformiert.

Vor dem Summierer bzw. dem Schaltmodul liegen somit Signale gleicher Art, d. h. nicht-TNS-verarbeitete Signale, an. Die TNS-Filterung mit den bereits bestimmten TNS-Koeffizienten findet gemäß dem ersten Aspekt der vorliegenden Erfindung hinter dem Schaltmodul und vor dem Quantisierer/Codierer, der nach dem psychoakustischen Modell arbeiten könnte, statt. Wie es später ersichtlich werden wird, erfordert diese Implementierung der TNS-Technik im skalierbaren Audiocodierer jedoch eine Änderung des Decodierers.

Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist diese Decodierung jedoch nicht mehr notwendig. Wieder werden hier an gleicher Stelle wie beim ersten Aspekt der vor- liegenden Erfindung TNS-Prädiktionskoeffizienten bestimmt. Im Gegensatz zum ersten Aspekt der vorliegenden Erfindung werden beide relevanten Spektralsignale, d. h. das Spektral- signal, das den Codierfehler der ersten Stufe aufweist, bzw. das Spektralsignal, das eine im wesentlichen ungestörte Darstellung des Audioeingangssignal ist, vor dem Summier- glied einer Verarbeitung mit dem TNS-Codierungsfilter unter- zogen werden, wobei das TNS-Codierungsfilter mittels der vorher bestimmten TNS-Koeffizienten arbeitet. Es wird besonders darauf hingewiesen, daß die TNS-Filterung des mit dem Codierungsfehler des Codierers der ersten Stufe behaf- teten Spektralsignals ohne Neubestimmung der TNS-Koeffizien- ten lediglich unter Verwendung der vom fehlerfreien Audio- signal abgeleiteten TNS-Koeffizienten arbeitet. Gemäß dem zweiten Aspekt der vorliegenden Erfindung liegen also wieder zwei Signale gleicher Art, d. h. hier TNS-verarbeitete Si- gnale, am Eingang des Summierers bzw. des Schaltmoduls an.

Allgemein gesagt unterscheiden sich der erste und der zweite Aspekt der vorliegenden Erfindung darin, daß einmal vor dem Summierer nicht-TNS-verarbeitete Signale anliegen, während ein andermal TNS-verarbeitete Signale der Differenzbildung unterzogen werden bzw. in das Schaltmodul eingespeist werden.

Die genannten Verhältnisse werden bei den erfindungsgemäßen Decodierern berücksichtigt. Ein Decodierer, der ein gemäß dem ersten Aspekt der vorliegenden Erfindung codiertes Signal decodiert, findet die TNS-Decodierung, d. h. die Anwendung des TNS-Decodierfilters unter Verwendung der bei der Codierung bestimmten TNS-Koeffizienten, welche sich als Seiteninformationen im Bitstrom wiederfinden, vor einem zu dem Schaltmodul analogen inversen Schaltmodul statt. Das inverse Schaltmodul wird damit wie beim Codierer auch beim Decodierer mit nicht-TNS-verarbeiteten Signalen bedient.

Ein Decodierer, der gemäß dem zweiten Aspekt der vorlie- genden Erfindung codierte Signale decodiert, wird das in- verse Schaltmodul dagegen mit TNS-verarbeiteten Signalen gespeist. Zu diesem Zweck muß das decodierte Signal des Codierers der ersten Stufe in den Frequenzbereich umgesetzt werden und mittels eines TNS-Codierungsfilters gefiltert werden, das die im Codierer bestimmten TNS-Filterkoeffizien- ten verwendet. Nur dann werden im inversen Schaltmodul bzw. im davor angeordneten Addierer Signale gleicher Art, d. h. TNS-verarbeitete Signale, verglichen, wie es auch prinzi- piell im Codierer gemäß dem zweiten Aspekt der Erfindung der Fall war. Die Ausgangssignale des inversen Schaltmoduls wer- den schließlich in ein TNS-Decodierungsfilter eingespeist, dessen Ausgangssignale dann einer inversen Filterbank unter- zogen werden, um das ursprüngliche Audiosignal abgesehen von Codierungsfehlern der gesamten Anordnung wiederzugeben. Wie es bereits erwähnt wurde, wird der Codierer bzw. Decodierer gemäß dem zweiten Aspekt der vorliegenden Erfindung unter den erfindungsgemäßen Ausführungsbeispielen bevorzugt, da im Decodierer keine wesentlichen Änderungen erforderlich sind, da das TNS-Decodierungsfilter bzw. das inverse TNS-Filter vor der inversen Filterbank angeordnet ist, was der Anord- nung von Fig. 10A entspricht.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich- nungen detaillierter erläutert. Es zeigen : Fig. 1 einen skalierbaren Audiocodierer gemäß einem ersten Aspekt der vorliegenden Erfindung ; Fig. 2 einen skalierbaren Audiocodierer gemäß einem zweiten Aspekt der vorliegenden Erfindung ; Fig. 3 einen Decodierer gemäß dem ersten Aspekt der vorlie- genden Erfindung ; Fig. 4 einen Decodierer gemäß dem zweiten Aspekt der vor- liegenden Erfindung ; Fig. 5 eine Tabelle zur Veranschaulichung der Dualität zwi- schen dem Zeit-und dem Frequenzbereich ; Fig. 6A ein Beispiel für ein transientes Signal ; Fig. 6B Hilbert-Hüllkurven von Teilbandpaßsignalen aufgrund des in Fig. 6A gezeigten transienten Zeitsignals ; Fig. 7 eine Prinzipdarstellung der Prädiktion im Frequenz- bereich ; Fig. 8A ein Beispiel zur Veranschaulichung der TNS-Technik ; Fig. 8B eine Gegenüberstellung des zeitlichen Verlaufs eines eingeführten Quantisierungsrauschens mit (links) und ohne (rechts) TNS-Technik ; Fig. 9A eine vereinfachte Blockdarstellung eines unskalier- ten Codierers, der ein TNS-Filter aufweist ; Fig. 9B eine Detaildarstellung des TNS-Filters von Fig. 9A ; Fig. 10A eine vereinfachte Blockdarstellung eines unskalier- ten Decodierers, der ein inverses TNS-Filter auf- weist ; und Fig. 10B eine detailliertere Darstellung des inversen TNS- Filters von Fig. 10A.

Fig. 1 zeigt ein Prinzipblockschaltbild eines skalierbaren Audiocoders gemäß der vorliegenden Erfindung. Ein mit einer ersten Abtastrate, z. B. 48 kHz, abgetastetes diskretes Zeitsignal x1 wird mittels eines Downsampling-Filters 12 auf eine zweite Abtastrate, z. B. 8 kHz, gebracht, wobei die zweite Abtastrate kleiner als die erste Abtastrate ist. Vorzugsweise bilden die erste und die zweite Abtastrate ein ganzzahliges Verhältnis. Das Ausgangssignal des Down- sampling-Filters 12, der als ein Dezimationsfilter implemen- tiert sein kann, wird in einen Codierer/Decodierer 14 einge- geben, der sein Eingangssignal gemäß einem ersten Codieral- gorithmus codiert. Der Codierer/Decodierer 14 kann, wie es bereits erwähnt wurde, ein Sprachcodierer niedrigerer Ord- nung sein, wie z. B. ein Codierer G. 729, G. 723, FS1016, MPEG-4 CELP, MPEG-4 PAR. Solche Codierer arbeiten bei Datenraten von 4,8 Kilobit pro Sekunde (FS1016) bis zu Datenraten bei 8 Kilobit pro Sekunde (G. 729). Alle verar- beiten Signale, die mit einer Abtastfrequenz von 8 kHz ab- getastet worden sind. Für Fachleute ist es jedoch offen- sichtlich, daß beliebige andere Codierer mit anderen Daten- raten bzw. anderen Abtastfrequenzen eingesetzt werden könn- ten.

Das von dem Codierer 14 codierte Signal, d. h. das codierte zweite Signal x2c, das ein von dem Codierer 14 abhängiger Bitstrom ist und bei einer der genannten Bitraten vorliegt, wird über eine Leitung 16 in eine Bitformatiereinrichtung 18 eingegeben, wobei die Funktion der Bitformatiereinrichtung 18 später beschrieben wird. Das Downsampling-Filter 12 sowie der Codierer/Decodierer 14 bilden eine erste Stufe des ska- lierbaren Audiocodierers gemäß der vorliegenden Erfindung.

Die auf der Leitung 16 ausgegebenen codierten zweiten Zeit- signale x2c werden ferner in dem ersten Codierer/Decodierer 14 wieder decodiert, um codierte/decodierte zweite Zeit- signale x2cd auf einer Leitung 20 zu erzeugen. Die codier- ten/decodierten zweiten Zeitsignale x2cd sind zeitdiskrete Signale, die eine im Vergleich zu den ersten diskreten Zeit- signalen x1 reduzierte Bandbreite aufweisen. Bei dem genann- ten Zahlenbeispiel weist das erste diskrete Zeitsignal x1 eine Bandbreite von maximal 24 kHz auf, da die Abtastfre- quenz 48 kHz ist. Die codierten/decodierten zweiten Zeit- signale x2cd weisen eine Bandbreite von maximal 4 kHz auf, da das Downsampling-Filter 12 das erste Zeitsignal xl mit- tels Dezimation auf eine Abtastfrequenz von 8 kHz umgesetzt hat. Innerhalb der Bandbreite von null bis 4 kHz sind die Signale xl und x2cd abgesehen von durch den Codierer/Deco- dierer 14 eingeführten Codierungsfehlern gleich.

Hier sei angemerkt, daß die durch den Codierer 14 eingeführ- ten Codierungsfehler nicht immer kleine Fehler sind, sondern daß dieselben ohne weiteres in Größenordnungen des Nutzsi- gnals kommen können, wenn beispielsweise ein stark transien- tes Signal im ersten Codierer codiert wird. Aus diesem Grund wird überprüft, ob eine Differenzcodierung überhaupt sinn- voll ist, wie es weiter unten erklärt ist. Das Signal x2cd am Ausgang des Codierer/Decodierers 14 wird in ein Upsampling-Filter 23 eingespeist, um wieder auf die hohe Abtastrate umgesetzt zu werden, damit es mit dem Signal xi verglichen werden kann.

Das upgesamplte Signal x2cd sowie das Signal x1 werden je- weils in eine Filterbank FB1 22 bzw. in eine Filterbank FB2 24 eingespeist. Die Filterbank FB1 22 erzeugt Spektralwerte X2cd, die eine Frequenzbereichsdarstellung der Signale xCd sind. Die Filterbank FB2 hingegen erzeugt Spektralwerte X1, die eine Frequenzbereichsdarstellung des ursprünglichen er- sten Zeitsignals xl sind. Die Ausgangssignale der beiden Filterbänke werden in einer Summationseinrichtung 26 subtra- hiert. Genauer gesagt werden die Ausgangsspektralwerte X2cd der Filterbank FB1 22 von den Ausgangsspektralwerten der Filterbank FB2 24 subtrahiert. Der Summationseinrichtung 26 nachgeschaltet ist ein Schaltmodul SM 28, das als Eingangs- signal sowohl das Ausgangssignal Xd der Summationseinrich- tung 26 als auch das Ausgangssignal X1 der Filterbank 24, d. h. die Spektraldarstellung der ersten Zeitsignale, welche nachfolgend als erste Spektralwerte X1 bezeichnet werden, erhält.

Gemäß einem ersten Aspekt der vorliegenden Erfindung werden mittels einer Einrichtung 25 zum Berechnen der TNS-Koeffi- zienten Prädiktionskoeffizienten für ein TNS-Filter bzw. fur ein Prädiktionsfilter 27 berechnet, das hinter dem Schalt- modul 28 angeordnet ist. Die TNS-Koeffizientenberechnungs- einrichtung 25 speist die Koeffizienten sowohl in das TNS- Codierungsfilter 27 als auch in die Bitformatierungseinrich- tung 18, wie es aus Fig. 1 ersichtlich ist.

Das TNS-Codierungsfilter speist eine Quantisierungs/Codie- rungseinrichtung 30, die eine für Fachleute bekannte Quan- tisierung unter Berücksichtigung eines psychoakustischen Modells durchführt, das durch ein psychoakustisches Modul 32 symbolisiert ist. Die beiden Filterbänke 22,24, die Summa- tionseinrichtung 26, das Schaltmodul 28, der Quantisierer- /Codierer 30 und das psychoakustische Modul 32 bilden eine zweite Stufe des skalierbaren Audiocoders gemäß der vorlie- genden Erfindung.

Im nachfolgenden wird der Betrieb des skalierbaren Audioco- dierers gemäß Fig. 1 erklärt. Die diskreten, mit einer er- sten Abtastrate abgetasteten ersten Zeitsignale x1 werden, wie es bereits erwähnt wurde, in das Downsampling-Filter 12 eingespeist, um zweite Zeitsignale x2 zu erzeugen, deren Bandbreite einer zweiten Abtastrate entspricht, wobei die zweite Abtastrate kleiner als die erste Abtastrate ist. Der Codierer/Decodierer 14 erzeugt aus dem zweiten Zeitsignalen X2 gemäß eines ersten Codieralgorithmus zweite codierte Zeitsignale x2c sowie mittels einer anschließenden Deco- dierung gemäß dem ersten Codierungsalgorithmus codier- te/decodierte zweite Zeitsignale x2cd. Die codierten/deco- dierten zweiten Zeitsignale x2cd werden mittels der ersten Filterbank FB1 22 in den Frequenzbereich transformiert, um zweite Spektralwerte X2cd zu erzeugen, die eine Frequenz- bereichsdarstellung der codierten/decodierten zweiten Zeit- signale x2cd sind.

An dieser Stelle sei angemerkt, daß die codierten/decodier- ten zweiten Zeitsignale x2cd Zeitsignale mit der zweiten Abtastfrequenz, d. h. 8 kHz beim Beispiel, sind. Die Fre- quenzbereichsdarstellung dieser Signale und die ersten Spektralwerte X1 sollen nun bewertet werden, wobei die ersten Spektralwerte X1 mittels der zweiten Filterbank FB2 24 aus dem ersten Zeitsignal xl, das die erste, d. h. hohe, Abtastfrequenz aufweist, erzeugt werden. Um vergleichbare Signale zu erhalten, die eine identische Zeit-und Frequenz- auflösung haben, muß das 8-kHz-Signal, d. h. das Signal mit der zweiten Abtastfrequenz, auf ein Signal mit der ersten Abtastfrequenz überführt werden. Für den skalierbaren Codie- rer ist es jedoch nicht zwingend, daß die beiden Abtastfre- quenzen unterschiedlich sind, dieselben können auch gleich sein.

Dies kann statt des Upsampling-Filters auch dadurch ge- schehen, daß zwischen die einzelnen zeitdiskreten Abtast- werte des Signals x2cd eine bestimmte Anzahl von Nullwerten eingefügt wird. Die Anzahl der Nullwerte errechnet sich aus dem Verhältnis der ersten Abtastfrequenz und der (zweiten Abtastfrequenz-1). Das Verhältnis der ersten (hohen) zur zweiten (niedrigen) Abtastfrequenz wird als Upsampling- Faktor bezeichnet. Wie es Fachleuten bekannt ist, wird durch das Einfügen von Nullen, das mit sehr geringem Rechenaufwand möglich ist, eine Aliasing-Störung in dem Signal x2cd er- zeugt, die sich derart auswirkt, daß das niederfrequente oder Nutzspektrum des Signals x2cd wiederholt wird, und zwar insgesamt so oft, wie viel Nullen eingefügt werden. Das Aliasing-behaftete Signal x2cd wird nun mittels der ersten Filterbank FB1 in den Frequenzbereich transformiert, um zweite Spektralwerte X2cd zu erzeugen.

Durch das Einfügen von z. B. fünf Nullen zwischen jeden Ab- tastwert des codierten/decodierten zweiten Signals x2cd ent- steht ein Signal, von dem von vorneherein bekannt ist, daß lediglich jeder sechste Abtastwert dieses Signals von Null verschieden ist. Diese Tatsache kann beim Transformieren dieses Signals in den Frequenzbereich mittels einer Filter- bank oder MDCT oder mittels einer beliebigen Fourier-Trans- formation ausgenützt werden, da beispielsweise auf bestimmte Summationen, die bei einer einfachen FFT auftreten, verzich- tet werden kann. Die von vorneherein bekannte Struktur des zu transformierenden Signals kann somit auf vorteilhafte Weise zur Rechenzeiteinsparung bei einer Transformation des- selben in den Frequenzbereich verwendet werden.

Die zweiten Spektralwerte X2cd sind nur im unteren Teil eine korrekte Darstellung des codierten/decodierten zweiten Zeit- signals x2cd, weshalb am Ausgang der Filterbank FB1 nur ma- ximal das 1/Upsampling-Faktor-fache der gesamten Spektralli- nien X2cd verwendet wird. An dieser Stelle sei angemerkt, daß die verwendete Anzahl der Spektrallinien X2cd durch das Einfügen der Nullen in dem codierten/decodierten zweiten Zeitsignal x2cd nun dieselbe Zeit-und Frequenzauflösung besitzt, wie die ersten Spektralwerte X1, die eine Frequenz- darstellung ohne Aliasing-Störung des ersten Zeitsignals x1 ist. In der Subtrahiereinrichtung 26 sowie in dem Schaltmo- dul 28 werden die beiden Signale X2cd und X1 bewertet, um bewertete Spektralwerte Xb oder X1 zu erzeugen. Das Schalt- modul 28 führt nun eine sogenannte Simulcast-Differenz-Um- schaltung durch.

Nicht immer ist es günstig, eine Differenzcodierung in der zweiten Stufe zu verwenden. Dies ist beispielsweise dann der Fall, wenn das Differenzsignal, d. h. das Ausgangssignal der Summationseinrichtung 26, eine höhere Energie als das Aus- gangssignal der zweiten Filterbank X1 aufweist. Da ferner für den Codierer/Decodierer 14 der ersten Stufe ein belie- biger Codierer verwendet werden kann, kann es vorkommen, daß der Codierer bestimmte in der zweiten Stufe schwer zu codie- rende Signalanteile produziert. Der Codierer/Decodierer 14 soll vorzugsweise Phaseninformationen des von ihm codierten Signals bewahren, was in der Fachwelt als"Wave-Form-Coding" oder"Signalformcodieren"bezeichnet wird. Die Entscheidung in dem Schaltmodul 28 der zweiten Stufe, ob eine Differenz- codierung oder eine Simulcast-Codierung verwendet wird, wird frequenzabhängig getroffen.

"Differenzcodierung"bedeutet, daß lediglich die Differenz der zweiten Spektralwerte X2cd und der ersten Spektralwerte X1 codiert wird. Falls diese Differenzcodierung jedoch nicht günstig ist, da der Energieinhalt des Differenzsignals größer als der Energieinhalt der ersten Spektralwerte X1 ist, dann wird von einer Differenzcodierung abgesehen. Wird von einer Differenzcodierung abgesehen, dann werden die er- sten Spektralwerte X1 des im Beispiel mit 48 kHz abgetaste- ten Zeitsignals x1 vom Schaltmodul 28 durchgeschaltet und als Ausganssignal des Schaltmoduls SM 28 verwendet.

Da die Differenzbildung im Frequenzbereich stattfindet, ist es ohne weiteres möglich, eine frequenzselektive Auswahl von Simulcast-oder Differenzcodierung durchzuführen, da die Differenz der beiden Signale X1 und X2cd ohnehin berechnet wird. Die Differenzbildung im Spektrum erlaubt somit eine einfache frequenzselektive Wahl der Frequenzbereiche, welche differenzcodiert werden sollen. Prinzipiell könnte eine Um- schaltung von einer Differenz-zu einer Simulcast-Codierung für jeden Spektralwert einzeln auftreten. Dies wird jedoch eine zu große Menge an Seiteninformationen erfordern und nicht unbedingt nötig sein. Daher wird es bevorzugt, bei- spielsweise ein frequenzgruppenweises Vergleichen der Ener- gien der Differenzspektralwerte und der ersten Spektralwerte durchzuführen. Alternativ dazu können bestimmte Frequenz- bänder von vornherein festgelegt werden, z. B. acht Bänder von jeweils 500 Hz Breite, wodurch sich wieder die Band- breite des Signals X2cd ergibt, wenn das Zeitsignal x2 eine Bandbreite von 4 kHz aufweist. Ein Kompromiß bei der Fest- legung der Frequenzbänder besteht darin, die Menge der zu übertragenden Seiteninformationen, d. h. ob in einem Fre- quenzband die Differenzcodierung aktiv ist oder nicht, ge- genüber dem Nutzen abzuwägen, der aus einer möglichst häu- figen Differenzcodierung erwächst.

Im Bitstrom können Seiteninformationen, beispielsweise 8 Bit für jedes Band, ein Ein/Aus-Bit für die Differenzcodierung oder auch eine andere geeignete Codierung übertragen werden, die anzeigen, ob ein bestimmtes Frequenzband differenzco- diert ist oder nicht. Im Decodierer, welcher später be- schrieben wird, werden dann dementsprechend bei der Rekon- struktion nur die entsprechenden Teilbänder des ersten Co- dierers addiert.

Ein Schritt des Bewertens der ersten Spektralwerte X1 und der zweiten Spektralwerte X2cd umfaßt somit vorzugsweise das Subtrahieren der zweiten Spektralwerte X2cd von den ersten Spektralwerten X1, um Differenzspektralwerte Xd zu erhalten. Zudem werden dann auf bekannte Art und Weise, beispielsweise durch Summieren und Quadrieren, die Energien mehrerer Spek- tralwerte in einem vorbestimmten Band, beispielsweise 500 Hz beim 8-kHz-Beispiel, für die Differenz-Spektralwerte Xd so- wie für die ersten Spektralwerte X1 berechnet. In jedem Frequenzband wird nun ein frequenzselektives Vergleichen der jeweiligen Energien durchgeführt. Falls die Energie in einem bestimmten Frequenzband der Diffenzspektralwerte Xd die Energie der ersten Spektralwerte X1 multipliziert mit einem vorbestimmten Faktor k überschreitet, wird bestimmt, daß die bewerteten Spektralwerte Xb die ersten Spektralwerte X1 sind. Andernfalls wird bestimmt, daß die Differenz-Spektral- werte Xd die bewerteten Spektralwerte X1 sind. Der Faktor k kann beispielsweise etwa von 0,1 bis 10 reichen. Bei Werten von k kleiner 1 wird bereits eine Simulcast-Codierung einge- setzt, wenn das Differenzsignal eine geringere Energie als das Ursprungssignal aufweist. Bei Werten von k größer 1 wird dagegen weiter eine Differenzcodierung verwendet, selbst wenn der Energieinhalt des Differenzsignals bereits größer als der des nicht im ersten Codierer codierten Ursprungs- signals ist. Wird eine Simulcast-Codierung bewertet, wird das Schaltmodul 28 die Ausgangssignale der zweiten Filter- bank 24 gewissermaßen direkt durchschalten. Als Alternative zu der beschriebenen Differenzbildung kann auch eine Bewer- tung derart durchgeführt werden, daß z. B. ein Verhältnis oder eine Multiplikation oder eine sonstige Verknüpfung der beiden genannten Signale durchgeführt wird.

Das TNS-Codierungsfilter 27, das mit dem Ausgang des Schalt- moduls 28 verbunden ist, führt nun eine Prädiktion der be- werteten Spektralwerte Xb über der Frequenz mittels der durch die TNS-Koeffizientenberechnungseinrichtung 25 berech- neten Prädiktionskoeffizienten durch, um bewertete spektrale Restwerte zu erhalten.

Die bewerteten spektralen Restwerte, die entweder den Dif- ferenzspektralwerten Xd oder den ersten Spektralwerte X entsprechen, wie es durch das Schaltmodul 28 bestimmt wurde, werden nun mittels eines ersten Quantisierers/Codierers 30 unter Berücksichtigung des psychoakustischen Models, das für Fachleute bekannt ist und in dem psychoakustischen Modell 32 vorhanden ist, quantisiert und anschließend vorzugsweise mittels einer Redundanz-reduzierenden Codierung, bei- spielsweise unter Verwendung von Huffman-Tabellen, codiert.

Wie es für Fachleute ferner bekannt ist, wird das psycho- akustische Modell aus Zeitsignalen berechnet, weshalb das erst Zeitsignal Xi mit der hohen Abtastrate direkt in das psychoakustische Modul 32 eingespeist wird, wie es in Fig. 1 zu sehen ist. Das Ausgangssignal Xcb des Quantisierers/Co- dierers 30 wird auf der Leitung 42 direkt zur Bitformatier- einrichtung 18 geleitet und ins Ausgangsignal XAUS ge- schrieben.

Im Vorhergehenden wurde ein skalierbarer Audiocodierer mit einer ersten und einer zweiten Stufe beschrieben. Das erfin- dungsgemäße Konzept des skalierbaren Audiocodierers in der Lage, auch mehr als zwei Stufen zu kaskadieren. So wäre es beispielsweise möglich, bei einem Eingangssignal xl, das mit 48 kHz abgetastet ist, im ersten Codierer/Decodierer 14 mittels Reduzierung der Abtastrate die ersten 4 kHz des Spektrums zu codieren, um eine Signalqualität nach der Decodierng zu erreichen die etwa der Sprachqualität von Telefongesprächen entspricht. In der zweiten Stufe könnte, implementiert durch den Quantisierer/Codierer 30, eine Bandbreitencodierung von bis zu 12 kHz durchgeführt werden, um eine Tonqualität zu erreichen, die etwa der HIFI-Qualität entspricht. Für Fachleute ist es offensichtlich, daB ein mit 48 kHz abgetastetes Signal x1 eine Bandbreite von 24 kHz haben kann. Die dritte Stufe könnte nun implementiert durch den weiteren Quantisierer/Codierer 38 eine Codierung bis zu einer Bandbreite von maximal 24 kHz oder bei einem prakti- schen Beispiel von z. B. 20 kHz durchführen, um eine Tonqua- lität zu erreichen, die etwa der einer Compact Disc (CD) entspricht.

Der codierte Datenstrom xAUS setzt sich neben den ebenfalls zu übertragenden Seiteninformationen aus folgenden Signalen zusammen : -den codierten zweiten Signalen x2c (volles Spektrum von 0 bis 4 kHz) ; und -den codierten bewerteten spektralen Restwerten (volles Spektrum von 0 bis 12 kHz bei einer Simulcast-Codierung oder Codierfehler von 0 bis 4 kHz des Codierers 14 und volles Spektrum von 4 bis 12 kHz bei einer Differenzcodierung).

Eventuell können beim Übergang vom ersten Codierer/Decodie- rer 14 zum Quantisierer/Codierer 30 im Beispiel beim Über- gang von 4 kHz auf einen größeren Wert von 4 kHz Übergangs- störungen auftreten. Diese Übergangsstörungen können sich in fehlerhaften Spektralwerten äußern, die in den Bitstrom xAUS geschrieben werden. Der Gesamtcodierer/Decodierer kann nun so spezifiziert werden, daß z. B. nur die Frequenzlinien bis 1/Upsampling-Faktor minus x (x = 1,2,3) verwendet werden.

Dies führt dazu, daß die letzten Spektrallinien des Signals X2cd am Ende der gemäß der zweiten Abtastfrequenz erreich- baren maximalen Bandbreite nicht berücksichtigt werden.

Implizit wird also eine Bewertungsfunktion verwendet, die beim genannten Fall eine Rechteckfunktion ist, die über einem bestimmten Frequenzwert Null ist und darunter einen Wert von Eins aufweist. Alternativ dazu kann auch eine "weichere"Bewertungsfunktion eingesetzt werden, die Spek- trallinien, die Übergangsstörungen haben, in ihrer Amplitude reduziert, wonach die in ihrer Amplitude reduzierten Spektrallinien doch berücksichtigt werden.

An dieser Stelle sei angemerkt, daß die Übergangsstörungen nicht hörbar sind, da sie im Decodierer wieder eliminiert werden. Die Übergangsstörungen können jedoch zu überhöhten Differenzsignalen führen, für die dann der Codierungsgewinn durch die Differenzcodierung verringert wird. Durch Bewerten mit einer Bewertungsfunktion, wie sie oben beschrieben wur- de, kann somit ein Verlust an Codierungsgewinn in Grenzen gehalten werden. Eine andere Bewertungsfunktion als die Rechteckfunktion wird keine zusätzlichen Seiteninformationen benötigen, da dieselbe genauso wie die Rechteckfunktion a priori für den Codierer und den Decodierer vereinbart werden kann.

Fig. 2 zeigt eine praktische Implementation eines Codierers, der gemäß dem zweiten Aspekt der vorliegenden Erfindung arbeitet. Gleiche Elemente wie in Fig. 1 tragen die gleichen Bezugszeichen und erfüllen, wenn nicht explizit darauf hin- gewiesen wird, dieselben Funktionen. Wie es bereits darge- stellt wurde, ist der zweite Aspekt der vorliegenden Erfin- dung für den Decodierer günstiger, da derselbe geringere Modifikationen erforderlich macht. Im Gegensatz zum skalier- baren Audiocodierer von Fig. 1 ist in Fig. 2 ein zweites TNS-Codierungsfilter 27 hinter der Filterbank 1 der Stelle 22 angeordnet. Ferner ist das erste TNS-Codierungsfilter bereits hinter der Filterbank 2 24 angeordnet, was dazu führt, daß die Summierer in Richtung 26 sowie das Schalt- modul 28 TNS-verarbeitete, d. h. erste spektrale Restwerte bzw. zweite spektrale Restwerte, verarbeiten. Es werden also in dem Schaltmodul 28 und der Summiereinrichtung 26 die ersten spektralen Restwerte mit den zweiten spektralen Rest- werten bewertet, um bewertete spektrale Restwerte zu erhal- ten, die dann in den Quantisierer/Codierer 30 eingespeist werden. Derselbe quantisiert bzw. codiert ebenso wie in Fig.

1 somit bewertete spektrale Restwerte. Die TNS-Koeffizien- tenberechnungseinrichtung 25 speist sowohl den TNS-Codierer hinter der Filterbank 24 als auch den TNS-Codierer hinter der Filterbank 22, wobei das Ausgangssignal der Filterbank 22 jedoch einer TNS-Filterung unterzogen wird, die auf der Basis der TNS-Koeffizienten durchgeführt wird, die aus dem Ausgangssignal der Filterbank 24 berechnet worden sind. Ebenso wie in Fig. 1 werden die TNS-Koeffizienten der Bit- stromformatierungseinrichtung 18 als Seiteninformationen zugeführt.

Fig. 3 zeigt einen Decodierer zum Decodieren von mittels dem skalierbaren Audiocoderer gemäß Fig. 1 codierten Daten. Der Ausgangsdatenstrom des Bitformatierers 18 von Fig. 1 wird in einen Demultiplexer 46 eingespeist, um die bezüglich Fig. 1 auf den Leitungen 42 und 16 vorhandenen Signale aus dem Datenstrom xAus zu gewinnen. Die codierten zweiten Signale x2c werden in ein Verzögerungsglied 48 eingespeist, wobei das Verzögerungsgleid 48 eine Verzögerung in die Daten einführt, die aufgrund anderer Gesichtspunkte des Systems notwendig sein kann und keinen Teil der Erfindung darstellt.

Nach der Verzögerung werden die codierten zweiten Signale x2c in einen Decodierer 50 eingespeist, der mittels des ersten Codierungsalgorithmus, der auch in dem Codierer/De- codierer 14 von Fig. 1 implementiert ist, decodiert, um das codierte/decodierte zweite Zeitsignal xCd2 zu erzeugen, das über eine Leitung 52 ausgegeben werden kann, wie es in Fig. 2 zu sehen ist. Die codierten bewerteten spektralen Rest- werte werden mittels einer Requantisierungseinrichtung 54 requantisiert, um die bewerteten spektralen Restwerte zu erhalten. Eine Summationseinrichtung 58 bildet die Summe der spektralen Restwerte und der spektralen Restwerte einer optionalen weiteren Schicht (gestrichelt gezeichnet).

Um vor einer Summationseinrichtung 62, die analog zur Ein- richtung 26 arbeitet, wieder gleiche Verhältnisse zu schaf- fen, befindet sich hinter dem Summierer 58 ein TNS-Decodier- ungsfilter 59. Das TNS-Decodierungsfilter 59 führt eine inverse TNS-Filterung mit dem Ausgangssignal des Summierers 58 durch. Dabei werden die Pradiktionskoeffizienten ver- wendet, die in den Seiteninformationen vorhanden sind, wobei dieselben durch die TNS-Koeffizienteneinrichtung 25 von Fig. 2 berechnet wurden. Am Ausgang der TNS-Decodierungseinrich- tung 59 befinden sich dann die wieder decodierten bewerteten Spektralwerte Xb.

An dieser Stelle sei angemerkt, daß, wie aus Fig. 3 ersicht- lich ist, das codierte/decodierte zweite Zeitsignal zunächst mittels eines geeigneten Upsampling-Filters 63 umgesetzt und mittels einer Filterbank 64 in den Frequenzbereich transfor- miert werden muß, um die zweiten Spektralwerte X2cd zu er- halten, da die Summation der Summationseinrichtung 62 eine Summation von Spektralwerten ist. Die Filterbank 64 ist vorzugsweise mit den Filterbänken FBI 22 und FB2 24 identisch, wodurch nur eine Einrichtung implementiert werden muß, die bei Verwendung geeigneter Puffer nacheinander mit verschiedenen Signalen gespeist wird. Alternativ können auch geeignete unterschiedliche Filterbanken eingesetzt werden.

Wie es bereits erwähnt wurde, werden aus dem ersten Zeitsi- gnal x1 mittels des psychoakustischen Moduls 32 Informatio- nen abgeleitet, die bei der Quantisierung von Spektralwerten verwendet werden. Insbesondere besteht die Bestrebung, im Sinne einer Minimierung der zu übertragenden Datenmenge, die Spektralwerte möglichst grob zu quantisieren. Andererseits sollen durch die Quantisierung eingeführte Störungen nicht hörbar sein. Ein in dem psychoakustischen Modul 32 vorhande- nes an sich bekanntes Modell wird verwendet, um eine erlaub- te Störungsenergie zu berechnen, die durch die Quantisierung eingeführt werden kann, damit keine Störung hörbar ist. Eine Steuerung steuert nun in einem bekannten Quantisierer/Co- dierer den Quantisierer, um eine Quantisierung durchzufüh- ren, die eine Quantisierungsstörung einführt, die kleiner oder gleich der erlaubten Störung ist. Dies wird bei bekann- ten Systemen ständig überwacht, indem das durch den Quanti- sierer, der z. B. im Block 30 enthalten ist, quantisierte Signal wieder dequantisiert wird. Durch Vergleich des Ein- gangssignals in den Quantisierer mit dem quantisierten/de- quantisierten Signal wird die tatsächlich durch die Quan- tisierung eingeführte Störungsenergie berechnet. Die tat- sächliche Störungsenergie des quantisierten/dequantisierten Signals wird in der Steuerung mit der erlaubten Störungs- energie verglichen. Ist die tatsächliche Störungsenergie größer als die erlaubte Störungsenergie, so wird die Steu- erung in dem Quantisierer eine feinere Quantisierung ein- stellen. Der Vergleich zwischen erlaubter und tatsächlicher Störungsenergie findet typischerweise pro psychoakustischem Frequenzband statt. Dieses Verfahren ist bekannt und wird von dem skalierbaren Audiocoder gemäß der vorliegenden Erfindung verwendet, wenn eine Simulcast-Codierung verwendet wird.

Am Ausgang des Decodierers 50 findet sich ein sog. Post-Fil- ter 67, das bestimmte Nachfilterungen des Ausgangssignals des Decodierers, der dem Decodierer der ersten Stufe ent- spricht, vornehmen kann. Dieses Filter stellt jedoch keinen Teil der Erfindung dar.

Fig. 4 zeigt einen zu Fig. 3 ähnlichen Decodierer. Der in Fig. 4 gezeigte Codierer arbeitet jedoch für Signale, die gemäß dem zweiten Aspekt der vorliegenden Erfindung codiert worden sind. Im Gegensatz zu Fig. 3 arbeitet hier das in- verse Schaltmodul 60 mit TNS-codierten Eingangssignalen, während das inverse Schaltmodul 60 von Fig. 3 mit nicht- TNS-verarbeiteten Signalen, d. h. TNS-decodierten Signalen, arbeitet. Da das Ausgangssignal des Decodierers 50 an keiner Stelle, auch nicht im Codierer, TNS-codiert wurde, muß es durch ein TNS-Codierungsfilter 27, das genauso wie die TNS- Codierungsfilter 27 der Fig. 1 und 2 ausgeführt sein kann, gefiltert werden. Das schließliche TNS-Decodierungsfilter 59 befindet sich beim Decodierer gemäß dem zweiten Aspekt der vorliegenden Erfindung direkt vor der inversen Filterbank 66, die die Filterbankoperationen der Filterbänke 22 und 24 rückgängig machen kann. Diese Anordnung wird bevorzugt, da sie der in Fig. l0a dargestellten Anordnung entspricht, welche üblicherweise in Transformationscodierern gefunden werden kann. Sowohl das TNS-Decodierungsfilter 59 als auch das TNS-Codierungsfilter 27 werden mit Prädiktionskoeffi- zienten versorgt, die der Demultiplexer 46 aus den Seiten- informationen des codierten Bitstroms xaus extrahiert.

Das zusätzliche TNS-Codierungsfilter 27 im Decodierer gemäß Fig. 4 stellt lediglich einen minimal höheren Aufwand dar, da die bei der TNS-Filterparameterbestimmung ermittelten Parameter ohnehin übertragen werden, um das TNS-Decodier- ungsfilter rechnen zu können. Dieselben sind hinreichend, um auch im Decodierer das TNS-Codierungsfilter zu berechnen. Es ist keine Änderung des übertragenen Bitstroms nötig.

Für Fachleute ist offensichtlich, daß das gegebene Beispiel, bei dem die ersten Abtastfrequenz 48 kHz beträgt und die zweite Abtastfrequenz 8 kHz beträgt, lediglich beispielhaft ist. Als zweite niederere Abtastfrequenz kann auch eine kleinere Frequenz als 8 kHz verwendet werden. Als Abtastfre- quenzen für das Gesamtsystem können 48 kHz, 44,1 kHz, 32 kHz, 24 kHz, 22,05 kHz, 16 kHz, 8 kHz oder eine andere ge- eignete Abtastfrequenz verwendet werden. Der Bitratenbereich des Codierers/Decodierers 14 der ersten Stufe kann, wie es bereits erwähnt wurde, von 4,8 kBit pro Sekunde bis zu 8 kBit pro Sekunde reichen. Der Bitratenbereich des zweiten Codierers in der zweiten Stufe kann von 0 bis 64,69,659, 96,128,192 oder 256 kBit pro Sekunde bei Abtastraten von 48,44,1,32,24,16 bzw 8 kHz reichen. Der Bitratenbereich des Codierers der dritten Stufen kann von 8 kBit pro Sekunde bis 448 kBit pro Sekunde für alle Abtastraten reichen.