Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICES FOR CODING DISCRETE SIGNALS OR FOR DECODING CODED DISCRETE SIGNALS
Document Type and Number:
WIPO Patent Application WO/1998/037544
Kind Code:
A1
Abstract:
The invention relates to a method for coding discrete time signals (x�1?) sampled at a first sampling rate. According to said method second time signals (x�2?) are generated using the first time signals, the band width of which corresponds to a second sampling rate which is lower than the first. The second time signals are coded in accordance with a first coding algorithm. The coded second time signals (x�2c?) are decoded again so as to obtain coded/decoded second time signals (x�2cd?), the band width of which corresponds to the second sampling rate. The first time signals are transformed by frequency range transformation into first spectral values (X�1?). From the coded/decoded second time signals second spectral values (X�2cd?) are generated, which are a representation of the coded/decoded second time signals in the frequency range. To obtain weighted spectral values the first spectral values are weighted with the second spectral values, whereby the first and second spectral values have the same frequency and time resolution. The weighted spectral values (X�b?) are coded, taking into consideration a psychoacoustic model, in accordance with a second coding algorithm and entered into a bit stream.

Inventors:
Grill, Bernhard (Am Schwabenweiher 24, Lauf, D-91207, DE)
Edler, Bernd (Hemelingstrasse 10, Hannover, D-30419, DE)
Brandenburg, Karlheinz (Haagstrasse 32, Erlangen, D-91054, DE)
Application Number:
PCT/EP1997/006633
Publication Date:
August 27, 1998
Filing Date:
November 28, 1997
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
Fraunhofer-gesellschaft V, Zur F�rderung Der Angewandten Forschung E. (Leonrodstrasse 54, M�nchen, D-80636, DE)
Grill, Bernhard (Am Schwabenweiher 24, Lauf, D-91207, DE)
Edler, Bernd (Hemelingstrasse 10, Hannover, D-30419, DE)
Brandenburg, Karlheinz (Haagstrasse 32, Erlangen, D-91054, DE)
International Classes:
G10L19/24; H03M7/02; H04B14/04; G10L19/02; G10L; (IPC1-7): G10L9/14; G10L5/06; G10L7/08; G10L9/06; G10L9/18
Foreign References:
EP0805435A2
EP0770990A2
EP0578436A1
Attorney, Agent or Firm:
Schoppe, Fritz (Postfach 71 08 67, M�nchen, D-81458, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zum Codieren von diskreten, mit einer ersten Abtastrate abgetasteten ersten Zeitsignalen (xi), mit folgenden Schritten : Erzeugen von zweiten Zeitsignalen (x2), deren Bandbreite einer zweiten Abtastrate entspricht, aus den ersten Zeitsignalen (xi), wobei die zweite Abtastrate 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 (x1) in den Fre quenzbereich, um erste Spektralwerte (X1) zu erhalten ; Erzeugen von zweiten Spektralwerten (X2cd) aus den co dierten/decodierten zweiten Zeitsignalen (x2cd), wobei die zweiten Spektralwerte (X2cd) eine Darstellung der codierten/decodierten zweiten Zeitsignale (x2cd) im Fre quenzbereich sind und eine zu den ersten Spektralwerten (X1) im wesentlichen gleiche Zeitund Frequenzauflösung aufweisen ; 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 ; und Codieren der bewerteten Spektralwerten (Xb) gemäß einem zweiten Codieralgorithmus, um codierte bewertete Spek tralwerte (Xcb) zu erhalten.
2. Verfahren nach Anspruch 1, bei dem der Schritt des Er zeugens der zweiten Spektralwerte (X2cd) folgende Schritte aufweist : Einfügen einer Anzahl von Nullwerten zwischen jedem dis kreten Wert der codierten/decodierten zweiten Zeitsigna le (x2cd), wobei die Anzahl von Nullwerten gleich dem Verhältnis der ersten zur zweiten Abtastfrequenz weniger Eins ist, um ein modifiziertes codiertes/decodiertes zweites Signal zu erhalten ; Transformieren des modifizierten, codierten/decodierten zweiten Signals in den Frequenzbereich, um modifizierte Spektralwerte zu erhalten ; Auswählen eines Bereichs der modifizierten Spektralwer te, um die zweiten Spektralwerte (X2cd) zu erhalten, wo bei sich der Bereich von dem Spektralwert bei der klein sten Frequenz bis zu dem Spektralwert erstreckt, dessen Frequenzwert im wesentliche gleich dem Wert der Band breite des zweiten Zeitsignals (x2) ist.
3. Verfahren nach Anspruch 1, bei dem der Schritt des Er zeugens der zweiten Spektralwerte (X2cd) folgende Schritte aufweist : Einfügen einer Anzahl von Nullwerten zwischen jedes co dierte/decodierte zweite Zeitsignal (x2cd), wobei die Anzahl von Nullwerten gleich dem Verhältnis der ersten zur zweiten Abtastfrequenz weniger Eins ist, um ein mo difiziertes codiertes/decodiertes zweites Signal zu er halten ; Berechnen lediglich eines Bereichs von Spektralwerten aus dem modifizierten codierten/decodierten zweiten Signal, wobei sich der Bereich von dem Spektralwert von der kleinsten Frequenz bis zu dem Spektralwert er streckt, dessen Frequenz gleich dem Wert der Bandbreite des zweiten Zeitsignals (x2) ist.
4. Verfahren nach Anspruch 2 oder 3, bei dem eine kleine Anzahl von Spektrallinien um die Frequenz herum, die dem Wert der Bandbreite des zweiten Zeitsignals (x2) entspricht, nicht ausgewählt oder mit tels einer Bewertungsfunktion gewichtet und dann ausge wählt wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Schritt des Bewertens folgende Schritte auf weist : Subtrahieren der zweiten Spektralwerte (X2cd) von den ersten Spektralwerten (X1), um DifferenzSpektralwerte (Xd) zu erhalten ; Berechnen einer Energie der DifferenzSpektralwerte (Xd) ; Berechnen einer Energie der ersten Spektralwerte (X1) ; frequenzselektives Vergleichen der Energien der Diffe renzspektralwerte (Xd) und der ersten Spektralwerte (X1) ; falls die Energie der DifferenzSpektralwerte (Xd) die Energie der ersten Spektralwerte (X1) multipliziert mit einem Faktor k in einem Frequenzabschnitt überschreitet, wobei der Faktor k zwischen 0,1 und 10 liegt, Bestimmen der ersten Spektralwerte (X1) als bewertete Spektralwerte ; sonst, Bestimmen der DifferenzSpektralwerte (Xd) als bewertete Spektralwerte (Xb).
6. Verfahren nach Anspruch 5, bei dem das frequenzselektive Vergleichen frequenzgrup penweise durchgeführt wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Codieren der bewerteten Spektralwerte (Xb) gemäß dem zweiten Codieralgorithmus unter Berücksichti gung eines psychoakustischen Modells durchgeführt wird.
8. Verfahren nach Anspruch 7, bei dem das Codieren folgende Schritte aufweist : Berechnen einer erlaubten Störenergie (EpM) in einem Frequenzband unter Berücksichtigung des psychoakusti schen Modells aus dem ersten Zeitsignal (x1) ; Quantisieren der bewerteten Spektralwerte (Xb) in dem Frequenzband ; Dequantisieren der quantisierten bewerteten Spektral werte (Xqb) in dem Frequenzband ; Berechnen der tatsächlichen Störenergie (ETS) in dem Frequenzband mittels folgender Gleichung : Es = E (Xi [i] (Xqdb + X2cd)) t wobei X1 die ersten Spektralwerte, Xqdb die quantisier ten/dequantisierten bewerteten Spektralwerte, X2cd die zweiten Spektralwerte und i der Summierindex eines Spek tralwerts sind, wobei i vom ersten Spektralwert des Fre quenzbandes bis zum letzten Spektralwert des Frequenz bandes reicht ; Vergleichen der tatsächlichen Störenergie (ETS) mit der erlaubten Störenergie (EpM) in dem Frequenzband ; falls die tatsächliche Störenergie (ETS) größer als die erlaubte Störenergie (EpM) in dem Frequenzband ist, Co dieren mit einer feineren Quantisierung in dem Frequenz band ; und sonst, Codieren mit einer gröberen Quantisierung in dem Frequenzband.
9. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das Codieren gemäß dem zweiten Codieralgorithmus eine HuffmanCodierung zur Redundanzreduktion umfaßt.
10. Verfahren nach einem der vorhergehenden Ansprüche, das ferner folgenden Schritt aufweist : Formatieren der codierten zweiten Signale (x2c) und der codierten bewerteten Signale (Xcb), um einen übertragba ren Datenstrom (xAus) zu erhalten.
11. Verfahren nach einem der Ansprüche 1 bis 8, das nach dem Schritt des Codierens der bewerteten Spektralwerte (Xb) folgende Schritte aufweist : Decodieren der bewerteten codierten Spektralwerte (Xcb), um codierte/decodierte bewertete Spektralwerte (Xcdb) zu erhalten ; Subtrahieren der codierten/decodierten bewerteten Spek tralwerte (Xcdb) von den bewerteten Spektralwerten (Xb), um weitere DifferenzSpektralwerte (X'd) zu erhalten ; Codieren der weiteren DifferenzSpektralwerte (X'd) ge mäß dem zweiten Codieralgorithmus, um codierte weitere Spektralwerte (X'cd) zu erhalten.
12. Verfahren nach Anspruch 10, das ferner folgenden Schritt aufweist : Formatieren der codierten zweiten Signale (X2c), der co dierten bewerteten Spektralwerte (Xb) und der codierten weiteren DifferenzSpektralwerte (X'cd) um einen über tragbaren Datenstrom (xAus) zu erhalten.
13. Verfahren zum Decodieren eines codierten diskreten Si gnals, mit folgenden Schritten : Decodieren von codierten zweiten Signalen (x2c), um co dierte/decodierte zweite diskrete Zeitsignale (x2cd) zu erhalten, mittels eines ersten Codieralgorithmus ; Decodieren von codierten bewerteten Spektralwerten (Xcb) mittels eines zweiten Codieralgorithmus, um bewertete Spektralwerte (Xb) zu erhalten ; Transformieren der codierten/decodierten zweiten diskre ten Zeitsignale (x2) in den Frequenzbereich, um zweite Spektralwerte (X2cd) zu erhalten ; inverses Bewerten der bewerteten Spektralwerte (Xb) und der zweiten Spektralwerte (X2cd), um erste Spektralwerte (X1) zu erhalten ; und Rücktransformieren der ersten Spektralwerte (X1) in den Zeitbereich, um erste diskrete Zeitsignale (x1) zu er halten.
14. Vorrichtung zum Codieren von diskreten, mit einer ersten Abtastrate abgetasteten ersten Zeitsignalen (x1), mit folgenden Merkmalen : einer Einrichtung (12) zum Erzeugen von zweiten Zeit signalen (x2), deren Bandbreite einer zweiten Abtastrate entspricht, aus den ersten Zeitsignalen (xi), wobei die zweite Abtastrate 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 Codieralgorith mus, um codierte/decodierte zweite Zeitsignale (x2cd) zu erhalten, deren Bandbreite der zweiten Abtastfrequenz entspricht ; einer Einrichtung (24) zum Transformieren der ersten Zeitsignale (x1) in den Frequenzbereich, um erste Spek tralwerte (X1) zu erhalten ; einer Einrichtung (22) zum Erzeugen von zweiten Spek tralwerten (X2cd) aus den codierten/decodierten zweiten Zeitsignalen (x2cd) wobei die zweiten Spektralwerte (X2cd) eine Darstellung der codierten/decodierten zwei ten Zeitsignale (x2cd) im Frequenzbereich sind und eine zu den ersten Spektralwerten (X1) im wesentlichen glei che Zeitund Frequenzauflösung aufweisen ; einer Einrichtung (26,28) zum Bewerten der ersten Spek tralwerte (X1) mit den zweiten Spektralwerten (X2cd), um bewertete Spektralwerte (Xb) zu erhalten, deren Anzahl der Anzahl der ersten Spektralwerte (X1) entspricht ; und einer Einrichtung (30) zum Codieren der bewerteten Spek tralwerte (Xb) gemäß dem zweiten Codieralgorithmus, um codierte bewertete Spektralwerte (Xcb) zu erhalten.
15. Vorrichtung zum Decodieren eines codierten zeitdiskreten Signals, mit folgenden Merkmalen : einer Einrichtung (50) zum Decodieren von codierten zweiten Signalen (x2c), um codierte/decodierte zweite diskrete Zeitsignale (x2cd) zu erhalten, mittels eines ersten Codieralgorithmus ; einer Einrichtung (54) zum Decodieren von codierten be werteten Spektralwerten (Xcb) mittels eines zweiten Co dieralgorithmus, um bewertete Spektralwerte (Xb) zu er halten ; einer Einrichtung (64) zum Transformieren der codier ten/decodierten zweiten diskreten Zeitsignale in den Frequenzbereich, um zweite Spektralwerte (X2cd) zu er halten ; einer Einrichtung zum inversen Bewerten der bewerteten Spektralwerte (Xb) und der zweiten Spektralwerte (X2cd), um erste Spektralwerte (X1) zu erhalten ; und einer Einrichtung (66) zum Transformieren der ersten Spektralwerte (X1) in den Zeitbereich, um erste diskrete Zeitsignale (x1) zu erhalten.
Description:
Verfahren und Vorrichtungen zum Codieren von diskreten Si- gnalen bzw. zum Decodieren von codierten diskreten Signalen Beschreibung Die vorliegende Erfindung bezieht sich auf Verfahren und Vorrichtungen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen und insbesondere auf eine effiziente Implementierung einer Differenzcodierung für skalierbare Audiocodierer.

Skalierbare Audiocodierer sind Codierer, die modular aufge- baut sind. So besteht die Bestrebung, bereits bestehende Sprachcodierer zu verwenden, die Signale, die z. B. mit 8 kHz abgetastet sind, verarbeiten können und Datenraten von beispielsweise 4,8 bis 8 Kilobit pro Sekunde ausgeben kön- nen. Diese bekannten Codierer, wie z. B. die für Fachleute bekannten Codierer G. 729, G. 723, FS1016 und CELP, 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 abgeta- stete Signale entworfen sind, weshalb sie lediglich eine Audiobandbreite von maximal 4 kHz codieren können. Sie zei- gen jedoch im allgemeinen einen schnellen Betrieb und einen geringen Rechenaufwand.

Zur Audiocodierung von Musiksignalen, um beispielsweise HIFI-Qualität 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 MPEG3.

Eine derartige Kettenschaltung eines Sprachcodierers mit einem höherwertigen Audiocodierer verwendet üblicherweise das Verfahren der Differenzcodierung im Zeitbereich. Ein Eingangssignal, das beispielsweise eine Abtastrate von 48 kHz aufweist, wird mittels eines Downsampling-Filters auf die für den Sprachcodierer geeignete Abtastfrequenz herun- ter-abgetastet. Nun wird das herunter-abgetastete Signal codiert. Das codierte Signal kann direkt einer Bitstromfor- matiereinrichtung 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 herauf-abge- tastet. 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 herauf-abgetasteten 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 Co- dierfehler einführen (siehe"First Ideas on Scalable Audio Coding", K. Brandenburg, B. Grill, 97th AES-Convention, San Francisco, 1994, Preprint 3924).

Wie bereits erwähnt wurde, weist ein skalierbarer Codierer sowohl einen allgemein bekannten Sprachcodierer als auch ei- nen Audiocodierer auf, der Signale mit höheren Abtastraten verarbeiten kann. Um Signalanteile des Eingangssignals über- tragen zu können, deren Frequenzen über 4 kHz sind, wird ei- ne Differenz des Eingangssignals mit 8 kHz und des codier- ten/decodierten, herauf-abgetasteten 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 herauf-abgetasteten codierten/decodierten Ausgangssignals des Sprachcodierers liegt, entspricht das Differenzsignal im wesentlichen dem wahren Eingangssignal bei 48 kHz.

In der ersten Stufe, d. h. der Stufe des Sprachcodierers, wird also zumeist ein Codierer mit niedriger Abtastfrequenz eingesetzt, da im allgemeinen eine sehr niedrige Bitrate des codierten Signals angestrebt wird. Derzeit arbeiten mehrere Codierer, auch die genannten Codierer, mit Bitraten von we- nigen Kilobit (zwei bis 8 Kilobit oder auch darüber). Die- selben ermöglichen ferner eine maximale Abtastfrequenz von 8 kHz, da ohnehin nicht mehr Audiobandbreite bei dieser ge- ringen Bitrate möglich ist, und die Codierung bei niedriger Abtastfrequenz 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 Audiocodierer, ei- ne Bandbreitenverbesserung erzielt werden, muß diese weitere Stufe mit einer höheren Abtastfrequenz arbeiten.

Zur Anpassung der Abtastfrequenzen werden Dezimations-und Interpolationsfilter zum Down-bzw. Upsampling eingesetzt.

Da zur Erzielung eines günstigen Phasenverhaltens im allge- meinen FIR-Filter (FIR = Finite Impulse Response = begrenzte Impulsantwort) eingesetzt werden, können z. B. bei der An- passung von 8 kHz auf 48 kHz Filterordnungen von einigen hundert Koeffizienten oder"Taps"erforderlich sein.

Ausgehend von diesem Stand der Technik besteht die Aufgabe der vorliegenden Erfindung darin, Verfahren und Vorrichtun- gen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen zu schaffen, die ohne auf- wendige Upsampling-Filter arbeiten können.

Diese Aufgabe wird durch ein Verfahren zum Codieren gemäß Anspruch 1, durch ein Verfahren zum Decodieren gemäß An- spruch 13, durch eine Vorrichtung zum Codieren gemäß An- spruch 14 und durch eine Vorrichtung zum Decodieren gemäß Anspruch 15 gelöst.

Ein Vorteil der vorliegenden Erfindung besteht darin, daß bei der erfindungsgemäßen Vorrichtung zum Codieren (skalier- barer Audiocodierer), die wenigstens zwei separate Codierer aufweist, ein zweiter Codierer unter Berücksichtigung des psychoakustischen Modells optimal arbeiten kann.

Der Erfindung liegt die Erkenntnis zugrunde, daß auf das rechenzeitaufwendige Upsampling-Filter verzichtet werden kann, wenn ein Audiocodierer bzw. Decodierer verwendet wird, der im Spektralbereich codiert bzw. decodiert, und wenn die Differenzbildung bzw. inverse Differenzbildung zwischen dem codierten/decodierten Ausgangssignal des Codierers bzw.

Decodierers niedrigerer Ordnung und dem ursprünglichen Ein- gangssignal bzw. der Spektraldarstellung eines auf demselben basierenden Signals mit hoher Abtastfrequenz im Frequenz- bereich durchgeführt wird. Es ist somit nicht mehr notwen- dig, das codierte/decodierte Ausgangssignal des Codierers niedrigerer Ordnung mittels eines herkömmlichen Upsampling- Filters herauf-abzutasten, sondern es werden lediglich zwei Filterbänke benötigt, und zwar eine Filterbank für eben das codierte/decodierte Ausgangssignal des Codierers niedrigerer Ordnung und eine Filterbank für das ursprüngliche Eingangs- signal mit hoher Abtastfrequenz.

Beide genannten Filterbänke liefern als Ausgangssignale Spektralwerte, die mittels einer geeigneten Bewertungsein- richtung, die bevorzugterweise als Subtrahiereinrichtung ausgeführt ist, bewertet werden, um bewertete Spektralwerte zu bilden. Diese bewerteten Spektralwerte können dann mit- tels eines Quantisierers und Codierers unter Berücksichti- gung eines psychoakustischen Modells codiert werden. Die Daten, die aus der Quantisierung und Codierung der bewerte- ten Spektralwerte entstanden sind, können bevorzugterweise zusammen mit den codierten Signalen des Codierers niedri- gerer Ordnung in eine Bitformatiereinrichtung eingespeist werden, um geeignet gemultiplext zu werden, um übertragen oder gespeichert werden zu können.

An dieser Stelle sei angemerkt, daß die Rechenzeitersparnis in der Tat immens ist. Bei dem genannten Beispiel, bei dem der Sprachcodierer mit 8 kHz abgetastete Signale verarbei- tet, und ferner mit 48 kHz abgetastete Signale codiert wer- den sollen, wird ein Upsamling-FIR-Filter über 100 Multipli- kationen pro Abtastwert oder Sample benötigen, während eine Filterbank, die mittels einer für Fachleute bekannten MDCT implementiert sein kann, lediglich etwa zehn bis zu mehreren zehn (z. B. etwa 30) Multiplikationen pro Abtastwert erfor- dert.

An dieser Stelle sei darauf hingewiesen, daß bei einem ska- lierbaren Audiocodierer gemäß der vorliegenden Erfindung der Sprachcodierer auch durch einen beliebigen Codierer gemäß den Standards MPEG1 bis MPEG3 ersetzt werden kann, solange die beiden Codierer in der ersten und in der zweiten Stufe für zwei unterschiedliche Abtastfrequenzen ausgelegt sind.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich- nungen detaillierter erläutert. Es zeigen : Fig. 1 ein Blockschaltbild einer Vorrichtung zum Codieren gemäß der vorliegenden Erfindung ; Fig. 2 ein Blockschaltbild einer Vorrichtung zum Decodieren für codierte diskrete Zeitsignale ; und Fig. 3 ein detailliertes Blockschaltbild eines Quantisie- rers/Codierers von Fig. 1.

Fig. 1 zeigt ein Prinzipblockschaltbild einer Vorrichtung zum Codieren eines zeitdiskreten Signals (eines skalierbaren Audiocodierers) gemäß der vorliegenden Erfindung. Ein mit einer ersten Abtastrate, z. B. 48 kHz, abgetastetes diskre- tes 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. Vor- zugsweise bilden die erste und die zweite Abtastrate ein ganzzahliges Verhältnis. Das Ausgangssignal des Downsamp- ling-Filters 12, das als ein Dezimationsfilter implementiert sein kann, wird in einen Codierer/Decodierer 14 eingegeben, der sein Eingangssignal gemäß einem ersten Codieralgorithmus codiert. Der Codierer/Decodierer 14 kann, wie es bereits erwähnt wurde, ein Sprachcodierer niedrigerer Ordnung sein, wie z. B. ein Codierer G. 729, G. 723, FS1016, MPEG-4 CELP, usw. Solche Codierer arbeiten bei Datenraten von 4,8 Kilobit pro Sekunde (FS1016) bis zu Datenraten bei 8 Kilobit pro Se- kunde (G. 729). Alle verarbeiten Signale, die mit einer Ab- tastfrequenz von 8 kHz abgetastet worden sind. Für Fachleute ist es jedoch offensichtlich, daß beliebige andere Codierer mit anderen Datenraten bzw. anderen Abtastfrequenzen einge- setzt werden könnten.

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 Xi 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 x1 mit- tels Dezimation auf eine Abtastfrequenz von 8 kHz umgesetzt hat. Innerhalb der Bandbreite von null bis 4 kHz sind die Signale x, und xcd 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.

Die Signale x2cd sowie die Signale x1 werden jeweils in eine Filterbank FB1 22 bzw. in eine Filterbank FB2 24 einge- speist. 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 ersten Zeitsignals x1 sind. Die Ausgangssignale der beiden Filter- bänke werden in einer Summationseinrichtung 26 subtrahiert.

Genauer gesagt werden die Ausgangsspektralwerte X2cd der Filterbank FB1 22 von den Ausgangsspektralwerten der Filter- bank FB2 24 subtrahiert. Der Summationseinrichtung 26 nach- geschaltet ist ein Schaltmodul SM 28, das als Eingangssignal sowohl das Ausgangssignal Xd der Summationseinrichtung 26 als auch das Ausgangssignal X1 der Filterbank 224, d. h. die Spektraldarstellung der ersten Zeitsignale, welche nachfol- gend als erste Spektralwerte X2 bezeichnet werden, erhält.

Das Schaltmodul 28 speist eine Quantisierungs/Codierungs- einrichtung 30, die eine für Fachleute bekannte Quantisie- rung unter Berücksichtigung eines psychoakustischen Modells durchführt, das durch ein psychoakustisches Modul 32 sym- bolisiert ist. Die beiden Filterbänke 22,24, die Summa- tionseinrichtung 26, das Schaltmodul 28, der Quantisie- rer/Codierer 30 und das psychoakustische Modul 32 bilden eine zweite Stufe des skalierbaren Audiocodierers gemäß der vorliegenden Erfindung.

Eine dritte Stufe des skalierbaren Audiocodierers der vor- liegenden Erfindung umfaßt einen Requantisierer 34, der die durch den Quantisierer/Codierer 30 durchgeführte Verarbei- tung wieder rückgängig macht. Das Ausgangssignal Xcdb des Requantisierers 34 wird in eine weitere Summationsein- richtung 36 mit negativem Vorzeichen eingespeist, während das Ausgangssignal Xb des Schaltmoduls 28 in die weitere Summationseinrichtung 36 mit positivem Vorzeichen einge- speist wird. Das Ausgangssignal X'd der weiteren Summations- einrichtung 36 wird mittels eines weiteren Quantisierers/Co- dierers 38 unter Berücksichtigung des psychoakustischen Modells, das im psychoakustischen Modul 32 vorhanden ist, quantisiert und codiert, um auf einer Leitung 40 ebenfalls die Bitformatierungseinrichtung 18 zu erreichen. Die Bitfor- matierungseinrichtung 18 empfängt ferner das Ausgangssignal Xcb des ersten Quantisierers/Codierers 30. Das Ausgangssi- gnal xAUS der Bitformatierungseinrichtung 18, das auf einer Leitung 44 vorhanden ist, umfaßt, wie es aus Fig. 1 er- sichtlich ist, das codierte zweite Zeitsignal x2c, das Ausgangssignal des ersten Quantisierers/Codierers 30 Xcb, sowie das Ausgangssignal X'cd des weiteren Quantisierers/Co- dierers 38.

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 x1, 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.

Dies kann dadurch geschehen, daß zwischen die einzelnen zeitdiskreten Abtastwerte des Signals x2cd eine bestimmte Anzahl von Nullwerten eingefügt wird. Die Anzahl der Null- werte errechnet sich aus dem Verhältnis der ersten und der zweiten Abtastfrequenz. 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 bekannnte 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 Frequenzbän- der von vornherein festgelegt werden, z. B. acht Bänder von jeweils 500 Hz Breite, wodurch sich wieder die Bandbreite des Signals X2cd ergibt, wenn das Zeitsignal x2 eine Band- breite von 4 kHz aufweist. Ein Kompromiß bei der Festlegung der Frequenzbänder besteht darin, die Menge der zu übertra- genden Seiteninformationen, d. h. ob in einem Frequenzband die Differenzcodierung aktiv ist oder nicht, gegenüber dem Nutzen abzuwägen, der aus einer möglichst häufigen Diffe- renzcodierung 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 Differenzspektralwerte Xd die Energie der ersten Spektralwerte X1 multipliziert mit einem vorbestimmten Faktor k überschreitet, wird bestimmt, daß die bewerteten Spektralwerte Xb die ersten Spektralwerte X 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 Ürsprungssignal 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.

Die bewerteten Spektralwerte Xb, die entweder die Differenz- spektralwerte Xd oder die ersten Spektralwerte X1 sind, wie es durch das Schaltmodul 28 bestimmt wurde, werden nun mit- tels eines ersten Quantisierers/Codierers 30 unter Berück- sichtigung 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, beispielsweise unter Ver- wendung von Huffman-Tabellen, codiert. Wie es für Fachleute ferner bekannt ist, wird das psychoakustische 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 Aus- gangssignal Xcb des Quantisierers/Codierers 30 wird auf der Leitung 42 direkt zur Bitformatiereinrichtung 18 geleitet und ins Ausgangssignal xAUS geschrieben.

Im Vorhergehenden wurde ein skalierbarer Audiocodierer mit einer ersten und einer zweiten Stufe beschrieben. Gemäß ei- nem vorteilhaften Aspekt der Erfindung ist das erfindungsge- mäße Konzept des skalierbaren Audiocodierers in der Lage, auch mehr als zwei Stufen zu kaskadieren. So wäre es bei- spielsweise möglich, bei einem Eingangssignal x1, 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 er- reichen 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, daß ein mit 48 kHz abge- tastetes 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 Band- breite von maximal 24 kHz oder bei einem praktischen Bei- spiel von z. B. 20 kHz durchführen, um eine Tonqualität zu erreichen, die etwa der einer Compact Disc (CD) entspricht.

Beim Implementieren der dritten Stufe werden die bewerteten Signale Xb am Ausgang des Schaltmoduls 28 zu der weiteren Summationseinrichtung 36 gespeist. Ferner werden die codier- ten bewerteten Spektralwerte Xcb, die nun im Beispiel eine Bandbreite von 12 kHz aufweisen, in der Requantisierungs- einrichtung 34 wieder decodiert, um codierte/decodierte bewertete Spektralwerte Xcdb zu erhalten, die ebenfalls im Beispiel eine Bandbreite von 12 kHz haben werden. Durch Differenzbildung in der zweiten Summationseinrichtung 36 werden weitere Differenz-Spektralwerte X'd berechnet. Die weiteren Differenz-Spektralwerte X'd können dann im Bereich von 4 kHz bis 12 kHz den Codierungsfehler des Quantisie- rer/Codierers 30 sowie den vollen Spektralgehalt im Bereich zwischen 12 und 20 kHz enthalten, wenn das verwendete Bei- spiel weitergeführt wird. Die weiteren Differenz-Spektral- werte X'd werden nun in dem weiteren Quantisierer/Codierer 38 der dritten Stufe, der im wesentlichen wie der Quanti- sierer/Codierer 30 der zweiten Stufe ausgeführt sein wird und ebenfalls mittels des psychoakustischen Models gesteuert wird, quantisiert und codiert, um weitere codierte Diffe- renz-Spektralwerte X'cd zu erhalten, die ebenfalls in dem Bitformatierer 18 eingespeist werden können. Der codierten Datenstrom xAUS setzt sich nun neben den ebenfalls zu über- tragenden Seiteninformationen aus folgenden Signalen zusam- men : -den codierten zweiten Signalen x2c (volles Spektrum von 0 bis 4 kHz) ; -den codierten bewerteten Spektralwerten Xcb (volles Spek- trum 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) ; -den weiteren codierten Differenzwerten X'cd (Codierfehler von 0 bis 12 kHz des Codierers/Decodierers 14 und des Quantisierers/Codierers 30 und voller Spektralgehalt von 12 bis 20 kHz oder Codierungsfehler des Quantisierers/Co- dierers 30 von 0 bis 12 kHz bei Simulcast-Betrieb und vol- les Spektrum von 12 bis 20 kHz).

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 ein bevorzugtes Ausführungsbeispiel eines Deco- dierers zum Decodieren von durch den skalierbaren Audioco- dierer gemäß Fig. 1 codierten Daten. Der Ausgangsdatenstrom des Bitformatierers 18 von Fig. 1 wird in einen Demultiple- xer 46 eingespeist, um die bezüglich Fig. 1 auf den Leitun- gen 42,40 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öge- rungsglied 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 er- sten Codierungsalgorithmus, der auch in dem Codierer/Deco- dierer 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 Spektralwerte Xcb werden mittels einer Requantisierungseinrichtung 54, die zu der Requantisierungseinrichtung 34 identisch sein kann, re- quantisiert, um die bewerteten Spektralwerte Xb zu erhalten.

Die weiteren codierten Differenzwerte X'cd, die in Fig. 1 auf der Leitung 40 liegen, werden ebenfalls mittels einer Requantisierungseinrichtung 56, die zur Requantisierungsein- richtung 54 und zur Requantisierungseinrichtung 34 (Fig. 1) identisch sein kann, requantisiert, um weitere Differenz- Spektralwerte X'd zu erhalten. Eine Summationseinrichtung 58 bildet die Summe der Spektralwerte Xb und X'd, welche be- reits den Spektralwerten X1 des ersten Zeitsignals x, ent- sprechen, wenn eine Simulcast-Codierung verwendet wurde, wie es durch ein inverses Schaltmodul 60 aufgrund von in dem Bitstrom übertragenen Seiteninformationen bestimmt wird. Wurde eine Differenzcodierung verwendet, so wird das Aus- gangssignal der Summationseinrichtung 58 in eine Summations- einrichtung 60 eingespeist, um die Differenzcodierung rück- gängig zu machen. Wenn dem inversen Schaltmodul 60 eine Dif- ferenzcodierung signalisiert worden ist, so wird das den in Fig. 2 gezeigten oberen Eingangszweig sperren und den unte- ren Eingangszweig durchschalten, um die ersten Spektralwerte X1 auszugeben.

An dieser Stelle sei angemerkt, daß, wie aus Fig. 2 ersicht- lich ist, das codierte/decodierte zweite Zeitsignal mittels einer Filterbank 64 in den Frequenzbereich transformiert werden muß, um die zweiten Spektralwerte X2cd zu erhalten, da die Summation der Summationseinrichtung 62 eine Summation von Spektralwerten ist. Die Filterbank 64 ist vorzugsweise mit den Filterbänken FB1 22 und FB2 24 identisch, wodurch nur eine Einrichtung implementiert werden muß, die bei Ver- wendung geeigneter Puffer nacheinander mit verschiedenen Signalen gespeist wird. Alternativ können auch geeignete unterschiedliche Filterbänke eingesetzt werden.

Wie es bereits erwähnt wurde, werden aus dem ersten Zeitsi- gnal xl 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/Codie- rer den Quantisierer, um eine Quantisierung durchzuführen, die eine Quantisierungsstörung einführt, die kleiner oder gleich der erlaubten Störung ist. Dies wird bei bekannten Systemen ständig überwacht, indem das durch den Quantisie- rer, der z. B. im Block 30 enthalten ist, quantisierte Si- gnal 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 Steue- rung in dem Quantisierer eine feinere Quantisierung einstel- len. Der Vergleich zwischen erlaubter und tatsächlicher Stö- rungsenergie findet typischerweise pro psychoakustischem Frequenzband statt. Dieses Verfahren ist bekannt und wird von dem skalierbaren Audiocodierer gemäß der vorliegenden Erfindung verwendet, wenn eine Simulcast-Codierung verwendet wird.

Falls eine Differenzcodierung bestimmt worden ist, kann das bekannte Verfahren nicht verwendet werden, da ja keine Spek- tralwerte sondern Differenzspektralwerte Xb quantisiert wer- den sollen. Das psychoakustische Modell liefert erlaubte Störenergieen EpM pro psychoakustischem Frequenzband, die für einen Vergleich mit Differenzspektralwerten nicht geeig- net sind.

Fig. 3 zeigt ein detailliertes Blockschaltbild des Quan- tisierers/Codierers 30 oder 38 von Fig. 1. Die bewerteten Spektralwerte Xb gelangen in einen Quantisierer 30a, der quantisierte bewertete Spektralwerte Xqb liefert. Die quan- tisierten bewerteten Spektralwerte werden anschließend in einem Dequantisierer 30b invers quantisiert, um quantisier- te/dequantisierte bewertete Spektralwerte Xqdb zu ergeben.

Dieselben werden in eine Steuerung 30c eingespeist, die von dem psychoakustischen Modul 38 die erlaubte Störungsenergie EpM pro Frequenzband erhält. Zu dem Signal Xqdb, das ja Dif- ferenzen darstellt, wird das Signal X2cd addiert, um ein mit der Ausgabe des psychoakustischen Moduls vergleichbares Si- gnal zu schaffen. In der Steuerung 30c wird die tatsächliche Störenergie ETS für ein Frequenzband mittels folgender Glei- chung berechnet wird : ETS = S (X1 [i]- (Xqdb + X2cd)) 2 Durch einen Vergleich der tatsächlichen Störenergie ETS mit der erlaubten Störenergie EpM stellt die Steuerung fest, ob die Quantisierung zu fein oder zu grob ist, um die Quanti- sierung für den Quantisierer 30a über eine Leitung 30d der- art einzustellen, daß die tatsächliche Störung kleiner als die erlaubte Störung ist. Für Fachleute ist es offensicht- lich, daß die Energie eines Spektralwertes berechnet wird, indem derselbe quadriert wird, und daß die Energie eines Frequenzbandes bestimmt wird, indem die quadrierten in dem Frequenzband vorhandenen Spektralwerte addiert werden. Fer- ner ist es wichtig, darauf hinzuweisen, daß sich die Breite der Frequenzbänder der Differenzcodierung von der Breite der psychoakustischen Frequenzbänder (d. h. Frequenzgruppen) un- terscheiden kann, was im allgemeinen auch der Fall ist. Die Frequenzbänder, die bei der Differenzcodierung verwendet werden, werden zum Erreichen einer effizienten Codierung festgelegt, während die psychoakustischen Frequenzbänder oder Frequenzgruppen durch die Wahrnehmung des menschlichen Ohrs, d. h. durch das psychoakustische Modell, festgelegt sind.

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.