patent
EP0287578
filed
1987-08-29
published
1988-03-10
granted
1995-08-09
score
-
bayes
-
votes
-

Digital coding process.

applicantBrandenburg karl heinz
inventors
eclaNone
ipcH03M7/00; G10L7/06
designatedAT,BE,CH,DE,FR,GB,IT,LI,LU,NL,SE
priorityWO1987DE00384 19870829; DE19863629434 19860829
applicationEP19870905587 19870829
state (internal)36
claims0

abstract

A digital coding process for transmitting and/or storing acoustic signals, in particular musical signals, in which N pick-up values of the acoustic signal are transformed into M spectral coefficients. The process is characterised by the fact that in a first stage the M spectral coefficients are quantified. After coding, an optimal coder checks the number of bits necessary for reproduction. If the number of bits is above a predetermined number, the quantification and coding are repeated in further stages until the number of bits necessary for reproduction no longer exceeds the predetermined number of bits. The required quantification stage is transmitted or stored in addition to the data bits. The advantage of the process is that acoustic signals in particular musical signals, can be transmitted and/or recorded without any subjective quality reduction of the musical signals with a reduction of data rate by factors of 4 to 6.

description

Description of correspondent: DE3629434


Die Erfindung bezieht sich auf ein digitales Codierverfahren für die Übertragung und/oder Speicherung von akustischen Signalen und insbesondere von Musiksignalen gemäss dem Oberbegriff des Patentanspruchs 1.

Ein Standardverfahren zur Codierung akustischer Signale ist die sogenannte Pulscodemodulation. Bei diesem Verfahren werden Musiksignale mit mindestens 32 kHz, normalerweise mit 44,1 kHz abgetastet. Bei 16 Bit linearer Codierung ergeben sich somit Datenraten zwischen 512 und 705,6 kbit/s.

Verfahren zur Reduktion dieser Datenmengen haben sich für Musiksignale in der Praxis bislang nicht durchsetzen können. Die bisher besten Ergebnisse bei der Codierung und Datenreduktion von Musiksignalen sind mit der sogenannten "Adaptiven Transformationscodierung" erzielt worden; hierzu wird auf die DE-PS 33 10 480 verwiesen, auf deren Inhalt im übrigen auch hinsichtlich aller hier nicht näher beschriebenen Einzelheiten ausdrücklich Bezug genommen wird. Die Adaptive Transformationscodierung erlaubt bei guter Qualität Datenreduktionen auf ca. 110 kbit/s.

Nachteilig bei diesem bekannten Verfahren, von dem bei der Formulierung des Oberbegriffs des Patentanspruchs 1 ausgegangen wird, ist jedoch, dass insbesondere bei kritischen Musikstücken subjektiv wahrnehmbare Qualitätsminderungen auftreten können. Dies kann unter anderem eine Folge davon sein, dass bei dem bekannten Verfahren Störanteile im codierten Signal nicht an die Hörschwelle des Ohres angepasst werden können und darüber hinaus Übersteuerungen oder zu grobe Quantisierungen möglich sind.

Der Erfindung liegt die Aufgabe zugrunde, ein digitales Codierverfahren für die Übertragung und/oder Speicherung von akustischen Signalen und insbesondere von Musiksignalen sowie ein entsprechendes Decodierverfahren anzugeben, das ohne subjektive Qualitätsminderung des Musiksignals eine Reduktion der Datenraten um den Faktor 4 bis 6 ermöglicht.

Eine erfindungsgemässe Lösung dieser Aufgabe ist mit ihren Weiterbildungen in den Patentansprüchen gekennzeichnet.

Bei dem erfindungsgemässen Codierverfahren werden die Daten nach einer Pegelsteuerung zunächst blockweise wie bei dem bekannten Verfahren, beispielsweise unter Verwendung der "diskreten Cosinus-Transformation" (Anspruch 8) oder einer "Fast Fourier-Transformation", in einen Satz von Spektralkoeffizienten transformiert. Aus den Spektralkoeffizienten wird ein Wert für die sogenannte "spektrale Ungleichverteilung" errechnet. Aus diesem Wert wird dann ein Anfangswert für die Quantisierungsstufe im Spektralbereich bestimmt. Die Daten im Spektralbereich werden nunmehr gleichermassen mit der so gebildeten Quantisierungsstufe quantisiert. Das entstehende Feld von ganzen Zahlen, das den quantisierten Werten der Spektralkoeffizienten entspricht, wird mit einem Optimalcodierer und insbesondere einem Entropiecodierer (Anspruch 2) direkt codiert.

Wenn die Gesamtlänge der so codierten Daten grösser als die für diesen Block zur Verfügung stehende Bitzahl ist, wird die Quantisierungsstufe erhöht und die Codierung erneut durchgeführt. Dieser Vorgang wird so oft wiederholt, bis nicht mehr als die vorgegebene Bitzahl für die Codierung benötigt wird.

Als Zusatzinformation sollten gemäss Anspruch 3 in jedem Block übertragen bzw. gespeichert werden:

- Ein Wert für die akutelle Signalamplitude (Pegelsteuerung),
- ein Wert für die spektrale Ungleichverteilung,
- ein Wert für den Multiplikationsfaktor, der zur Codierung mit den tatsächlich zur Verfügung stehenden Bits benötigt wird,
- die Zahl der zu "Null" quantisierten Spektralkoeffizienten.


Die Werte dieser Zusatzinformationen können - soweit es sich nicht bereits um ganze Zahlen handelt - grob quantisiert übertragen werden.

Gemäss den Ansprüchen 4 bis 7 können erfindungsgemäss sowohl lineare Codierer mit fester oder variabler Quantisierungsstufe als auch nichtlineare, beispielsweise logarithmische oder sogenannte MAX-Codierer verwendet werden, die mit ungerader Stufenzahl arbeiten, so dass die quantisierten Werte entweder genau "0" sind oder sich durch ein Vorzeichenbit und den codierten Wert des Betrages darstellen lassen.

Die Effektivität der Codierung kann für übliche Musiksignale durch zusätzliche Massnahmen weiter verbessert werden:

Zu hohen Frequenzen hin können Spektralkoeffizienten nach der Quantisierung verschwinden oder sehr klein werden.

Diese Werte können gemäss Anspruch 9 bevorzugt gesondert gezählt und codiert werden. In diesem Falle ist dann die Anzahl und die Codierungsart der sehr kleinen Werte gesondert zu übertragen.

Wenn zur Codierung der quantisierten Spektralkoeffizienten eines Blocks nicht alle zur Verfügung stehenden Bits benötigt werden, kann nach Anspruch 10 die Zahl der "übrig gebliebenen" Bits zur Bitzahl des nächsten Blocks mitgezählt werden, d. h., ein Teil der Übertragung erfolgt in dem einen Block, während der restliche Teil erst im nächsten erfolgt. In diesem Falle ist selbstverständlich die Information mit zu übertragen, wieviele Bits bereits zum nächsten Block gehören.

Ferner ist es gemäss Anspruch 10 möglich, die Hörbarkeit von Störungen bei kritischen Musiksignalen dadurch zu vermeiden, dass psychoakustische Erkenntnisse in die Codierung mit einbezogen werden. Diese Möglichkeit ist ein wesentlicher Vorteil des erfindungsgemässen Verfahrens gegenüber bekannten Verfahren:

Hierzu werden die Spektralkoeffizienten in sogenannte Frequenzgruppen aufgeteilt. Diese Frequenzgruppen sind so gewählt, dass nach den Erkenntnissen der Psychoakustik eine Hörbarkeit einer Störung ausgeschlossen werden kann, wenn die Signalenergie innerhalb jeder einzelnen Frequenzgruppe deutlich höher als die Störenergie innerhalb derselben Frequenzgruppe oder die Störenergie geringer als die Ruhehörschwelle in dieser Frequenzgruppe ist. Hierzu wird aus den Spektralkoeffizienten nach der Transformation zunächst die Signalenergie für jede Frequenzgruppe errechnet. Hieraus wird errechnet, welche Störenergie für jede Frequenzgruppe zulässig ist.Als zulässiger Wert gilt die Ruhehörschwelle, die u. a. vom eingestellten Wert der Pegelsteuerung abhängig ist, oder die sogenannte Mithörschwelle, die sich aus der Multiplikation der Signalenergie mit einem von der Frequenz abhängigen Faktor ergibt, je nachdem, welcher Wert grösser ist.

Danach werden die Spektralkoeffizienten nach dem vorstehend beschriebenen Verfahren quantisiert, codiert und rekonstruiert. Aus den Originaldaten der Spektralkoeffizienten und den rekonstruierten Werten kann die Störenergie pro Frequenzgruppe berechnet werden. Wenn die Störenergie in einer Frequenzgruppe grösser als die vorher errechnete erlaubte Störenergie in dieser Frequenzgruppe und diesem Block ist, werden die Werte dieser Frequenzgruppe durch Multiplikation mit einem festen Faktor vergrössert, so dass die relative Störung in dieser Frequenzgruppe entsprechend geringer wird. Dann wird wieder quantisiert und codiert.Diese Schritte werden so lange iterativ wiederholt, bis entweder die Störung in allen Frequenzgruppen relativ so gering ist, dass eine Hörbarkeit von Störungen ausgeschlossen werden kann oder bis z. B. nach einer bestimmten Zahl von Iterationen zur Verkürzung der Berechnung oder weil keine Verbesserung mehr möglich ist, abgebrochen wird.

Zu beachten ist, dass bei der Codierung mit Berücksichtigung der Hörschwellen die Multiplikationsfaktoren pro Frequenzgruppe als weitere Zusatzinformation mitübertragen werden muss.

Zur Rekonstruktion der Daten (mit und ohne Einbeziehung von psychoakustischen Erkenntnissen) müssen gemäss Anspruch 12 zunächst die optimalcodierten Werte beispielsweise mittels eines Assoziativspeichers in die quantisierten ganzen Zahlen für die Spektralkoeffizienten decodiert werden sowie gegebenenfalls die kleinen Werte und die Werte "=0" ergänzt werden. Anschliessend werden die mit dem mit übertragenen Multiplikationsfaktor und einem weiteren, aus dem gegebenenfalls ebenfalls mitübertragenen Wert für die spektrale Ungleichverteilung errechneten Wert multipliziert. Anschliessend ist zur Rekonstruktion nur noch eine Rundung erforderlich.

Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels ohne Beschränkung des allgemeinen Erfindungsgedankens näher beschrieben.

Bei dem folgenden Beispiel ist aus Gründen der Übersichtlichkeit M=8; tatsächlich würde jedoch M typischerweise gleich 256 oder grösser gewählt.

Nach der Transformation des akustischen Signals in den Spektralbereich beispielsweise mit der diskreten Cosinus- Transformation liegen bei dem gewählten Beispiel die folgenden Werte für die Spektralkoeffizienten vor: -1151 66.4 1860 465 -288 465 -88.6 44.3

Hieraus wird zunächst die spektrale Ungleichverteilung sfm mit der Formel
EMI9.1
errechnet. Es ergibt sich: sfm=0.0045. Aus sfm wird der quantisierte Wert sfmq nach folgender Formel errechnet: sfmq = int (1n (1/sfm / 1.8) = 3

Der mitübertragene Wert sfmq liegt im Wertebereich 0-15 und ist damit durch 4 Bit darstellbar.

Hieraus folgt die 1. Quantisierungsstufe im Frequenzbereich:
EMI10.1


Zur Berücksichtigung von psychoakustischen Gegebenheiten werden die Spektralkoeffizienten in 3 Gruppen eingeteilt:
EMI10.2


Die Faktoren für "erlaubte Störungen" sollen sein: 0.1 0.1 0.5 Hörschwelle 0.05 x letzter Wert Maskierung von niedrigeren Frequenzen her

Damit ergeben sich bei diesem Beispiel als erlaubte Störungen: 1,32 x 10<5>
3,68 x 10<5> + 0.05 x 1,32 x 10<6> = 4,34 x 10<5>
1,54 x 10<5> + 0.05 x 3,68 x 10<6> = 3,38 x 10<5>

Damit sind die für diesen Block konstanten Werte berechnet; es folgt der erste Codierungsversuch; die erste Quantisierungsstufe ist 221, so dass sich ergibt:
EMI10.3
bzw. quantisiert:
EMI10.4


Bei einer Codierung mit dem folgenden Entropiecoder sollen 20 Bit zur Verfügung stehen:
EMI11.1


Zur Codierung wird an Bit benötigt: 7 1 10 4 3 4 1 1 Summe 31

Die benötigten Bit überschreiten den zur Verfügung stehenden Wert. Deshalb erfolgt ein zweiter Quantisierungsversuch. In der ersten Stufe wird jedoch noch die Codierung durch Rekonstruktion der Werte auf der Senderseite überprüft. Rekonstruktion: Faktor: 2 x 2 x 221 = 884 rekonstruierte Werte: -884 0 1768 884 0 884 0 0 Codierungsfehler pro Koeffizient (Differenz):
267 -66.4 -92 419 288 419 88.6 -44.3 Codierungsfehler pro Frequenzgruppe (je Summe x<2>):
7.57x10<4> 1.84x10<5> 2.68x10<5>

Der Codierungsfehler ist in jeder Frequenzgruppe kleiner als die erlaubte Störung, so dass die Werte in dieser Stufe tatsächlich codiert und übertragen werden können: Pegelfaktor (Normierung vor der Transformation) 4 bit sfm 3 4 bit Zahl Mult. für Codierung 2 5 bit Zahl Mult. äussere Schleife
(wenn Störenergie zu gross war) 0, 0, 0 3 x 3 bit codierte Werte: 10101100100010000 17 bit (hier)

In der zweiten Quantisierungsstufe (Faktor 2) ergeben sich als neue Werte: -3 0 4 1 -1 1 0 0 Zur Codierung werden an Bit benötigt: 5 1 6 3 3 3 1 1 Summe 23

Deshalb erfolgt eine weitere Quantisierung (Faktor 4): -1 0 2 1 0 1 0 0 Zur Codierung dieser Werte werden an Bit benötigt: 3 1 4 3 1 3 1 1 Summe 17

Als Zusatzinformation ist zu übertragen, dass der dritte Codierversuch zum Erfolg geführt hat. Rekonstruktion:

(i) Rekonstruktion der quantisierten Werte aus den codierten Bitfolgen:
Ergebnis: -1 0 2 1 0 1 0 0
(ii) Division jeder Frequenzgruppe durch Faktor, so oft Zahl der Mult. äussere Schleife angibt (also 2. Frequenzgruppe einmal):
Ergebnis:-1 0 2/3 1/3 0 1 0 0
(iii) Multiplikation mit Faktor, so oft bei der Codierung die Division nötig war (also 2mal, angenommener Faktor war 2):
Ergebnis: -4 0 8/3 4/3 0 4 0 0
(iv) Aus dem quantisierten Wert von sfm (hier 3) wird wieder die erste Quantisierungsstufe berechnet (hier 221).Mit diesem Wert werden die Koeffizienten multipliziert und gerundet (hier nicht ausgeführt):
Ergebnis: -884 0 589 295 0 884 0 0
(Es ergeben sich andere Werte als am Anfang angegeben, da zusätzlich angenommen wurde, dass die äussere Schleife nochmal durchlaufen wurde, d. h. eine Korrektur (in der zweiten Frequenzgruppe) nötig wurde.)
(v) Rücktransformation (Diskrete Cosinus-Transformation, hier nicht ausgeführt)
(vi) Pegelsteuerung Ausgangsteil (wie auch bei ATC)
(vii) Überlappung mit vorigem Block (Ausgangsteil Fensterung)


Vorstehend ist die Erfindung anhand eines Ausführungsbeispiels beschrieben worden. Innerhalb des allgemeinen, in den Ansprüchen niedergelegten Erfindungsgedankens sind selbstverständlich die verschiedensten Modifikationen möglich:

Die Quantisierung muss selbstverständlich nicht durch eine Division durch einen Wert und nachfolgende Rundung auf einen ganzzahligen Wert erfolgen, selbstverständlich ist auch eine nichtlineare Quantisierung möglich. Diese kann z. B. durch einen Vergleich mit einer Tabelle erfolgen. Nur exemplarisch sollen als Möglichkeiten die logarithmische und die Max-Quantisierung genannt werden. Auch ist es möglich, zunächst eine Vorverzerrung und anschliessend eine lineare Quantisierung durchzuführen.

Ferner ist es möglich, als Optimalcodierer einen Codierer zu verwenden, dessen Ausbildung an die Statistik der zu übertragenden akustischen Signale angepasst ist.

Ferner sind typische tatsächliche Werte sehr unterschiedlich von den vorstehend verwendeten Werten. Als Beispiele für tatsächliche Werte seien aufgeführt: Blocklänge: 512 Werte Fensterlänge: 32 Werte Zahl der Frequenzgruppen: 27 Zusatzinformation:
Pegelsteuerung 4 Bit sfm 4 Bit Mult.faktor Coder 6 Bit Mult.fakt. Freq.gr. 27 x 3 bit Zahl Werte = 0 9 Bit Zahl Werte < 1 9 Bit Mult.faktor Coder 1.189 = sqrt [sqrt (2)]
Mult.faktoren Freq. Gruppen 3.

claims

Claims of correspondent: DE3629434


1. Digitales Codierverfahren für die Übertragung und/oder Speicherung von akustischen Signalen und insbesondere von Musiksignalen, bei dem N Abtastwerte des akustischen Signals in M Spektralkoeffizienten transformiert werden, gekennzeichnet durch folgende Schritte:

- die M Spektralkoeffizienten werden in einer ersten Stufe quantisiert,
- nach Codierung mit einem Optimalcodierer wird die zur Darstellung benötigte Bitzahl überprüft,
- liegt diese Bitzahl über einer vorgegebenen Bitzahl, wird die Quantisierung und Codierung in weiteren Stufen so lange wiederholt, bis die zur Darstellung benötigte Bitzahl die vorgegebene Bitzahl nicht überschreitet,
- zusätzlich zu den Datenbits wird die benötigte Quantisierungsstufe übertragen und/oder gespeichert.


2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Optimalcodierer ein Entropiecoder ist.

3.Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zusätzlich Werte für die aktuelle Signalamplitude, die spektrale Ungleichverteilung, den Multiplikationsfaktor für die Codierung im Rahmen der vorgegebenen Bits und/oder die Zahl der "zu Null" quantisierten Spektralkoeffizienten übertragen werden.

4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Codierung in jeder Stufe nach einer vom Signal abhängigen Zuordnung erfolgt.

5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass linear und/oder allgemein nichtlinear quantisiert wird.

6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass in der ersten Stufe logarithmisch oder linear und in den weiteren Stufen linear quantisiert wird.

7.Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass ein "Max-Quantisierer" verwendet wird.

8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Transformation eine diskrete Cosinus-Transformation oder eine Fourier-Transformation ist.

9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass Spektralkoeffizienten, die für hohe Frequenzen sehr klein sind oder verschwinden, gesondert gezählt und codiert werden.

10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass nicht benötigte Bits eines Blocks auf den nächsten Block übertragen werden.

11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass nach den Erkenntnissen der Psychoakustik laufend Schwellen für die Hörbarkeit von Quantisierungsfehlern errechnet und die Spektralwerte so korrigiert werden, dass eine Hörbarkeit von Störungen ausgeschlossen ist.

12. Verfahren zur Decodierung von akustischen Signalen, die mit einem Verfahren nach einem der Ansprüche 1 bis 11 codiert worden sind, gekennzeichnet durch folgende Schritte:

- die optimalcodierten Werte werden in die quantisierten ganzen Zahlen für die Spektralkoeffizienten decodiert,
- die kleinen Werte bzw. die Werte "=0" werden gegebenenfalls ergänzt,
- die erhaltenen Werte werden mit gegebenenfalls mitübertragenen Multiplikationsfaktoren sowie dem Wert für die spektrale Ungleichverteilung multipliziert.