DIGITALES CODIERVERFAHREN

申请号 EP87905587.0 申请日 1987-08-29 公开(公告)号 EP0287578A1 公开(公告)日 1988-10-26
申请人 BRANDENBURG, Karl-Heinz; 发明人 BRANDENBURG, Karl-Heinz;
摘要 Selon un procédé de codage numérique utile pour transmettre et/ou mémoriser des signaux acoustiques, en particulier des signaux de musique, N valeurs de détection des signaux acoustiques sont transformées en M coefficients spectraux. Le procédé se caractérise par le fait que les M coefficients spectraux sont quantifiés pendant une première étape. Après codage, un codeur optimiseur vérifie le nombre de bits nécessaire à la reproduction. Si le nombre de bits dépasse un nombre prédéterminé, des étapes supplémentaires de quantification et de codage sont effectuées jusqu'à ce que le nombre de bits nécessaire à la reproduction ne dépasse plus le nombre prédéterminé de bits. L'étape désirée de quantification est transmise ou mémorisée avec les bits de données. Ce procédé a l'avantage de permettre la transmission et/ou la mémorisation de signaux acoustiques, en particulier de signaux de musique, sans perte de qualité subjective des signaux de musique et avec une réduction des taux de données selon un facteur de 4 à 6.
权利要求
P atentanspr ü che
1. Digitales Codierverfahren für die Übertragung und/oder Speicherung von akustischen Signalen und insbesondere von Musiksignalen, bei dem N Abtastwerte des akustischen Sig¬ nals 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 des quantisierten Spektralkoeffizienten benötigte Bitzahl überprüft,
- entspricht diese Bitzahi nicht einer vorgegebenen Bit¬ zahl, so wird die Quantisierung und Codierung in weiteren Schritten mit geänderter Quantisierungsstufe solange wiederholt, bis die zur Darstellung benötigte Bitzahl die vorgegebene Bitzahl erreicht,
- zusätzlich zu den Datenbits wird die benötigte Quantisierungsstufe übertragen und/oder gespeichert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß aus einer endlichen Zahl zur Verfügung stehender Quantisierungsstufen durch wiederholte Quantisierung mit geänderter Quantisierungsstufe und Co¬ dierung mit einem Optimalcodierer und Überprüfung der zur Codierung benötigten Bitzahl die Quantisierungsstufe aus¬ gewählt wird, bei der die Bitzahl im vorgegebenen Bereich liegt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Optimalcodierer ein Entro¬ piecoder ist. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß zusätzlich Werte für die ak¬ tuelle Signalamplitude, die spektrale Ungleichverteilung, den Multiplikationsfaktor für die Codierung im Rahmen der vorgegebenen Bits und/oder die Zahl der "zu Null" quanti¬ sierten Spektralkoeffizienten übertragen werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Codierung in jeder stufe nach einer vom Signal abhängigen Zuordnung erfolgt.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß linear und/oder allgemein nichtlinear quantisiert wird.
7. Verfahren nach einem der Ansprüche 1 bis '6, dadurch gekennzeichnet, daß in der ersten stufe loga¬ rithmisch oder linear und in den weiteren Stufen linear quantisiert wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß ein "Max-Quantisierer" verwen¬ det wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Transformation eine dis¬ krete Cosinus-Transformation, eine TDAC-Transformation oder eine Fourier-Transformation ist.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß Spektralkoeffizienten, die für hohe Frequenzen sehr klein sind oder verschwinden, geson¬ dert gezählt und codiert werden. 11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß nicht benötigte Bits eines Blocks auf den nächsten Block übertragen werden.
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß nach den Erkenntnissen der Psychoakustik laufend Schwellen für die Hörbarkeit von Quantisierungsfehlem errechnet und die Spektralwerte so korrigiert werden, daß eine Hörbarkeit von Störungen aus¬ geschlossen ist.
13. Verfahren nach einem der Ansprüche 1 bis 12, daadurch gekennzeichnet, daß der Gleichanteil (1.Spektralkoeffizient) abgezogen wird.
14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß eine Fensterung erfolgt.
15. Verfahren zur Decodierung von akustischen Signalen, die mit einem Verfahren nach einem der Ansprüche 1 bis 14 codiert worden sind, gekennzeichnet durch folgende Schritte:
- die optimalcodierten Werte werden in die quantisierten ganzen Zahlen für die Spektralkoeffizenten decodiert,
- die kleinen Werte bzw. die Werte "=0" werden gegebenen¬ falls ergänzt,
- die erhaltenen Werte werden mit gegebenenfalls mitüber¬ tragenen Multiplikationsfaktoren sowie dem Wert für die spektralen Ungleichverteilung multipliziert.
- die Rücktransformation wird ausgeführt,
- gegebenenfalls werden die Werte im Zeitbereich entspre¬ chend der gewählten Fensterung überlappt.
说明书全文

- 4 -

Digitalβs Codierverfahren

Technisches Gebiet

Die Erfindung bezieht sich auf ein digitales Codierverfah¬ ren für die Übertragung und/oder Speicherung von akusti¬ schen Signalen und insbesondere von Musiksignalen gemäß dem Oberbegriff des Patentanspruchs 1.

Stand der Technik

Ein Standardverfahren zur Codierung akustischer Signale ist die sog. 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ön¬ nen. Die bisher besten Ergebnisse bei der Codierung und Datenreduktion von Musiksignalen sind mit der sogenannten "Adaptiven Transformationscodierung" erzielt worden; hier¬ zu wird auf die DE-PS 33 10 480 verwiesen, auf deren In¬ halt 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 ausge¬ gangen wird, ist jedoch, daß insbesondere bei kritischen Musikstücken subjektiv wahrnehmbare Qualitätsminderungen auftreten können. Dies kann unter anderem einen Folge davon sein, daß bei dem bekannten Verfahren Störanteile im codierten Signal nicht an die Hörschwelle des Ohres ange¬ paßt werden können und darüberhinaus Obersteuerungen oder zu grobe Quantisierungen möglich sind.

Darstellung der Erfindung

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

Ein erfindungsgemäße Lösung- dieser Aufgabe ist mit ihren Weiterbildungen in den Patentansprüchen gekennzeichnet.

Bei dem erfindungsgemäßen Codierverfahren werden die Daten zunächst blockweise wie bei dem bekannten Verfahren bei¬ spielsweise unter Verwendung der "diskreten Cosinus-Trans¬ formation" - (Anspruch 8), der " TDAC-Transformation (Anspruch 8) oder einer- "Fast Fourier-Transformation" in einen Satz von Spektralkoeffizienten transformiert. Vorher kann eine Pegelsteuerung erfolgen. Ferner ist es möglich, eine soge¬ nannte Fensterung durchzuführen. Aus den Spektralkoeffi¬ zienten wird ein Wert für die sog. "spektrale Ungleichver¬ teilung" errechnet. Aus diesem Wert wird dann ein Anfangs¬ wert für die Quantisierungsstufe im Spektralbereich be¬ stimmt. Im Gegensatz zu den bekannten Verfahren, wie bei¬ spielsweise dem ATC-Verfahren werden sämtliche Daten im Spektralbereich mit der so gebildeten Quantisierungsstufe quantisiert. Das entstehende Feld von "" ganzen Zahlen, das den quantisierten Werten der Spektralkoeffizienten ent- spri ht, wird mit einem Optimalcodierer und insbesondere einem Entropiecodierer (Anspruch 3) direkt codiert.

Wenn die Gesamtlänge der so codierten Daten größer als die für diesen 31ock 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 werden gemäß Anspruch 3 in jedem Block übertragen bzw. gespeichert:

- ein Wert für die spektrale Ungleichverteilung,

- ein Auswahlfaktor, der zur Codierung mit den tatsächlich zur Verfügung stehenden Bits benötigt wird,

- die Zahl der zu "Null" quantisierten Spektralkoeffi¬ zienten.

Ferner muß der Wert für die aktuelle Signalamplitude (Pe¬ gelsteuerung) , übertragen werden, sofern eine Pegelsteue¬ rung erfolgt ist. Die Werte dieser Zusatzinformationen können - soweit es sich nicht bereits um ganze Zahlen handelt - grob quantisiert übertragen werden.

Gemäß den Ansprüchen 4 bis 7 können erfindungsgemäß sowohl lineare Quantisierer mit fester oder variabler Quantisie¬ rungsstufe als auch nichtlineare, beispielsweise logarith¬ mische oder sog. MAX-Quantisierer verwendet werden. Ferner können auch spezielle Quantisierer verwendet werden, die mit ungerader Stufenzahl arbeiten, so'daß die quantisier¬ ten Werte entweder genau "0" sind oder sich durch ein Vorzeichenbit und den codierten Wert des Betrages darstel¬ len lassen. Die Effektivität der Codierung kann für übliche Musiksig¬ nale durch zusätzliche Maßnahmen weiter verbessert werden:

Zu hohen Frequenzen hin können Spektralkoeffizienten nach der Quantisierung verschwinden oder sehr klein werden. Diese Werte können gemäß Anspruch 9 bevorzugt gesondert gezählt und codiert werden. In diesem Falle ist dann die Anzahl und die Codierungsart der sehr kleinen Werte geson¬ dert zu übertragen.

Wenn zur Codierung der quantisierten Spektralkoeffizienten eines Blocks nicht alle zur Verfügung stehenden Bits benö¬ tigt werden, kann nach Anspruch 11 die Zahl der "übrig gebliebenen" Bits zur Bitzahl des nächsten Blocks mitge¬ zählt werden, dh 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 Infor¬ mation mit zu übertragen, wieviele Bits bereits zum nächsten Block gehören.

Ferner ist es gemäß Anspruch 12 möglich, die Hörbarkeit von Störungen bei kritischen Musiksignalen dadurch zu vermeiden, daß psychoakustische Erkenntnisse in die Co¬ dierung mit einbezogen werden. Diese Möglichkeit ist ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens gegenüber bekannten Verfahren:

Hierzu werden die Spektralkoeffizienten in sog. Frequenz¬ gruppen aufgeteilt. Diese Frequenzgruppen sind so gewählt, daß nach den Erkenntnissen der Psychoakustik eine Hörbar¬ keit einer Störung ausgeschlossen werden kann, wenn die Signalenergie innerhalb jeder einzelnen Frequenzgruppe deutlich höher als die Stδrenergie innerhalb der selben Frequenzgruppe oder die Störenergie geringer als die Ruhe¬ hörschwelle in dieser Frequenzgruppe ist. Hierzu wird aus den Spektralkoeffizienten nach der Transformation zunächst die Signalenergie für ' jede Frequenzgruppe errechnet. Hier¬ aus wird errechnet, welche Störenergie für jede Frequenz¬ gruppe zulässig ist. Als zulässiger Wert gilt die Ruhehör¬ schwelle, die ua vom eingestellten Wert der Pegel¬ steuerung abhängig ist, oder die sog. Mithörschwelle, die sich aus der Multiplikation der Signalenergie mit einem von der Frequenz abhängigen Faktor ergibt, je nachdem, welcher Wert größer ist.

Danach werden die Spektralkoeffizienten nach dem vorste¬ hend beschriebenen Verfahren quantisiert, codiert und rekonstruiert. Aus den Orginaldaten der Spektralkoef¬ fizienten und den rekonstruierten Werten kann die Stör¬ energie pro .Frequenzgruppe berechnet werden. Wenn die Störenergie in einer Frequenzgruppe größer als die vorher errechnete erlaubte Störenergie in dieser Frequenzgruppe und diesem Block ist, werden die Werte dieser Frequenz¬ gruppe durch Multiplikation mit einem festen Faktor ver¬ größert, so daß die relative Störung in dieser Frequenz¬ gruppe entsprechend geringer wird. Dann wird wieder quan¬ tisiert und codiert. Diese Schritte werden solange itera¬ tiv wiederholt, bis entweder die Störung in allen Fre¬ quenzgruppen relativ so gering ist, daß eine Hörbarkeit von Störungen ausgeschlossen werden kann oder bis zB nach einer bestimmten Zahl von Iterationen zur Verkürzung der Berechnung oder weil keine Verbesserung mehr möglich ist, abgebrochen wird.

Zu beachten ist, daß bei der Codierung mit Berücksichti¬ gung der Hörschwellen die Multiplikationsfaktoren pro Frequenzgruppe als weitere Zusatzinformation mitübertra- gen werden muß.

Zur Rekonstruktion der Daten (mit und ohne Einbeziehung von psychakustischen Erkenntnissen) müssen gemäß Anspruch 13 zunächst die optimalcodierten Werte beispielsweise mittels einem Assoziativspeicher in die quantisierten ganzen Zahlen für die Spektralkoeffizienten decodiert werden sowie gegebenenfalls die kleinen Werte und die Werte "=0" ergänzt werden. Anschließend werden die mit dem mit übertragenen Multiplikationsfaktor und einem weiteren, aus dem gegebenenfalls ebenfalls mit übertragenen Wert für die spektrale Ungleichverteilung errechneten Wert multi¬ pliziert. Anschließend ist zur Rekonstruktion nur noch eine Rundung erforderlich.

Beschreibung von Ausführungsbeispielen Die Erfindung wird nachstehend anhand von zwei Ausfüh- rungsbeispielen ohne Beschränkung des allgemeinen Erfin- dungsge ' dankens näher beschrieben.

Bei den folgenden Beispielen ist aus Gründen der Übersicht¬ lichkeit M=8; tatsächlich.würde jedoch M typischerweise gleich 256, 512 oder 1024 gewählt.

Beispiel 1

Bei diesem Beispiel wird als Transformation zwischen dem akustischen Signal (Zeitsignai) und den Spektralwerten die Cosinustransformation verwendet. Dabei ist N=M.

Nach der Transformation der N (=M) Abtastwerte des akusti¬ schen Signals in den Spektralbereich mit der diskreten Cosinus-Transformation liegen z.3. 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

errechnet. Es ergibt sich:

sfm = 0.0045

Aus sfm wird der quantisierte Wert sfm nach folgender Formel errechnet:

sfm = int(ln(l/sfm)/1.8) = 3

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

Anschließend erfolgt die 1. Quantisierung im Frequenzbe¬ reich, die bei dem gewählten Ausführungsbeispiel ein Teilen des Wertes des jeweiligen Spektralkoeffizienten durch den Wert 3 anf ist:

- .(1.3

*anf sf V = 221

Ferner werden zur Berücksichtigung von psychoakustischen Gegebenheiten die Spektralkoeffizienten in 3 Gruppen ein¬ geteilt:

Koeffizienten 1-2 3-4 5-6 l,32*10 δ 3,68*10 6 3,09*10 5

und Faktoren für "erlaubte Störungen" eingeführt: -3-

0.1 0.1 0.5 Mithörschwelle

0.05 * letzter Wert Maskierung von niedrigeren

Frequenzen her.

Damit ergeben sich als erlaubte Störungen:

1,32 * 10 5

3,68 * 10 5 + 0.05 * 1,32 * 10 β = 4,34 * IQ 5

1,54 * 10 5 + 0.05 * 3,68 * 10 6 = 3,38 * 10 5

Damit sind die für diesen Block konstanten Werte berech¬ net.

Beim ersten Codierungsversuch mit der Quantisierungsstufe 221 erhält man:

-5,2 0,3 8,4 2,1 -1,3 2,1 -0,4 0,2

bzw. quantisiert:

-5 0 8 2 -1 2 0 0

Bei einer Codierung mit dem folgendem Entropiecoder sollen bei dem gewählten Beispiel 20 Bit zur Verfügung stehen:

zu quanti:sierender

Wert Darst. Länge

0 0 1 5 1111100 7

1 100 3 -5 1111101 7

-1 101 3 6 11111100 8

2 1100 4 -6 11111101 8

-2 1101 4 7 111111100 9

3 11100 5 -7 111111101 9

-3 11101 5 8 1111111100 10

4 111100 6 -8 1111111101 10

-4 111101 6

Zur Codierung wird an Bit benötigt :

7 1 10 4 3 4 1 1

Insgesamt werden also 31 Bit zur Codierung benötigt. Die benötigten Bit überschreiten damit den zur Verfügung ste¬ henden Wert. Deshalb erfolgt ein zweiter Quantisierungs- versuch.

In der zweiten Quantisierungsstufe, in der bei dem gewähl¬ ten Beispiel durch die Zahl 2 geteilt und in üblicher Weise gerundet wird, ergeben sich als neue Werte:

-3 .1 0 0

zur Codierung werden an Bit benötigt:

Insgesamt werden also 23 Bit benötigt, so daß eine weitere Quantisierung erforderlich ist, um die (vorgegebene) Dar¬ stellungslänge von 20 Bit zu unterschreiten: In der 3. Quantisierungsstufe wird nochmals durch die Zahl 2 geteilt und gerundet:

-1

Zur Codierung dieser Werte werden an Bit benötigt:

Die benötigte Bitzahl ist 17 und damit kleiner als der vorgegebene Wert, so daß die Codierung bezüglich der Bit- Zahl zum Erfolg geführt hat. Um auch die Brauchbarkeit der Codierung zu überprüfen, wird nunmehr noch die Codierung durch Rekonstruktion der Werte auf der Senderseite über¬ prüft:

Rekonstruktion:

Faktor: 2 * 2 * 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

2 Codierungsfehler pro Frequenzgruppe (je Summe x )

7.57 * 10 4 1.84 * IQ 5 2.68 * 10 5

Der Codierungsfehler ist in jeder Frequenzgruppe kleiner als die erlaubte Störung, so daß 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. äußere Schleife

(wenn Störenergie zu groß war) 0, 0, 0 3 * 3 Bit codierte Werte: 10101100100010000 17 ' Bit

(hier)

Die in der 3. Quantisierungsstufe übertragenen Werte kön¬ nen nun übertragen oder gespeichert werden.

Als Zusatzinformation ist zu übertragen, daß der dritte Codierversuch zum Erfolg geführt hat.

Im folgenden wird die Rekonstruktion der codierten Werte beschrieben:

(i) Rekonstruktion der quantisierten Werte aus den co¬ dierten Bitfolgen: Ergebnis: -1 0 2 1 0 1 0 0

(ii) Division jeder Frequenzgruppe durch den Faktor, sooft wie dies die Zahl der Multiplikationen in der äuße¬ ren Schleife angibt: (Beispiel: 2. Frequenzgruppe 1*)

Ergebnis: -1 0 2/3 1/3 0 1 0 0

(iii) Multiplikation mit dem Faktor, sooft wie dies bei der Codierung die Division nötig war:

(im Beispiel 2*, da der angenommene Faktor 2 ist) : -12-

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 also andere Werte als am Anfang angegeben, da zusätzlich angenommen wurde, daß die äußere Schleife nochmal durchlaufen wurde, dh eine Korrektur (in der zweiten Frequenzgruppe) nötig wurde)

(v) Rücktransformation (Diskrete Cosinus-Transformation, hier nicht ausgeführt)

(vi) Pegelsteuerung Ausgangsteil (wie auch ATC)

(vii) Überlappung mit vorigem Block (Ausgangsteil Fen- sterung)

2. Beispiel

Das im folgenden beschriebene zweite Ausführungsbeispiel weist die zusätzliche Eigenschaft auf, daß sich zur Ver¬ ringerung des Frequenzübersprechens (Aliasing) die einzel¬ nen 31öcke um die Hälfte der Blocklänge überlappen. Hierzu werden die Abtastwerte des akustischen Signais in einem Ξingangspuffer mit einer Fensterfunktion multipliziert

(Analysefenster) , codiert, auf der Empfängerseite deco¬ diert, erneut mit einer Fensterfunktion multipliziert

(Synthesefenster) und die einander überlappenden Bereiche - 13-

addiert .

Dabei wird bei dem im folgenden beschriebenen Ausführungs¬ beispiel das Verfahren der "Time Domain Aliasing Cancella- tion" (TDAC) angewendet, bei dem trotz eines um die Hälfte der Blocklänge überlappenden Fensters die Zahl der im Frequenzbereich zu übertragenden Werte gleich der Zahl der Werte im Zeitbereich ist. Zu Einzelheiten des TDAC-Verfah¬ rens wird beispielsweise auf die Literaturstelle "Sub- band/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation" in IEEE Proceeding of Intern. Conf. an Acoustic Speech and Signal Proceeding, Jg 1987, s. 2161 f. verwiesen.

Die ersten 8 Abtastwerte des zusammengesetzten Fensters für das akustische Signal werden mit folgenden Werten (Fensterfunktion) multipliziert:

0.1736 .3420 .5 .6428 .7660 .8660 .9397 .9848

Entsprechend werden die zweiten 8 Werte des Fensters mit den "gespiegelten" Werten der Fenst rfunktion multipli¬ ziert.

Die Abtastwerte des akustischen Signals des letzten Daten¬ blocks können beispielweise folgende Werte sein:

607 541 484 418 337 267 207 154

und die des aktuellen Datenblocks:

108 61 17 -32 -78 -125 -174 -249

Nach der Multiplikation mit der oben angegebenen Fenster-

-14-

funktion bei einer Überlappung von 8 Werten ergeben sich folgende Werte:

105 .4 185 . 0 -242. 0 268.7 258. 1 231.2 194. 5 151. 6

106. 3 57 . 3 14. 7 -24.5 -50 . 1 -62. 5 -59 . 5 -43 . 2

Nach Anwendung des TDAC-Transformations-Algorithmus auf die "gefensterten" 16 Werte erhält man anstelle der 16 Abtastwerte (N=16) des zusammengesetzten Fensters nur noch 8 Spektralwerte (M=8> :

43.49 170.56 152.3 -38.0 -31.4 -.59 23.1 6.96

Nunmehr wird der Gleichanteil abgezogen. Bei dem vorlie¬ genden Beispiel ist der quantisierte Gleichanteil =0, da der erste Wert der Frequenzgruppe in der gleichen Größen¬ ordnung wie die anderen Werte liegt.

Aus den mit der TDAC-Transformation gewonnenen Spektral¬ werten wird wieder zunächst die spektrale Ungleichvertei¬ lung sfm mit der Formel

errechnet. Man erhält:

sfm = 0.2892

Aus sfm wird erneut der quantisierte Wert sfm nach fol¬ gender Formel errechnet:

sfm = int(ln(l/sfm)/1.8) = 1

= β ' 05

„__.» _t . . J—. i i__t_.l»4' β iä a Bei diesem Beispiel soll angenommen werden, daß die er¬ laubte Bitzahl 25 beträgt.

In der ersten Quantisierungsstufe werden die Spektralwerte durch ^a πf ^- 05 geteilt. Man erhält:

7.18 28.20 25.17 -6.28 -5.19 -.097 3.3 1.15

bzw. quantisiert:

7 28 25 -6 -5 0 4 1

Die zur Darstellung dieser Werte mit dem beim ersten Bei¬ spiel verwendeten Entropiedecoder benötigte Bitzahl liegt - wie sofort einzusehen ist - über der vorgegebenen Bit¬ zahl; darüberhinaus kommen Werte vor, die den Bereich des Entropiecoders überschreiten. Dies wird als Kriterium verwendet, daß eine weitere Quantisierung erforderlich ist.

Deshalb erfolgt ein zweiter Quantisierungsversuch, bei dem durch 2 * 6.05 geteilt wird. Man erhält:

3.59 14.09 12.59 -3.14 -2.59 -.048 1.90 .575 4 14 13 -3 -3 0 2 1

Auch in dieser Stufe wird die Bitzahl bzw. der Bereich des Entropiecoders überschritten, deshalb erfolgt ein dritter Quantisierungsversuch, bei dem durch 2 * 2* 6.05 geteilt wird. Man erhält:

1.79 7.04 6.29 -1.57 -1.29 -.024 .95 .28 2 7 6 -2 -1 0 1 0 -16-

Die Bitzahl beträgt nun mit dem im ersten Beispiel angegebenen Entropiecoder:

8

Die insgesamt benötigte Bitzahl beträgt 33 und überschrei¬ tet damit den vorgegebenen Bereich:

In der vierten Stufe wird durch 2 * 2 * 2 * 6.05 geteilt. Man erhält:

.90 3.52 3.14 -.78 -.65 -.012 -.48 .14 1 4 3 -1 -1 0 0 0

Zur Codierung werden folgende Bitzahlen benötigt:

Die insgesamt benötigte Bitzahl beträgt 23 und liegt damit in dem vorgegebenen Bereich.

Die weitere Vorgehensweise ist analog der in Verbindung mit dem ersten Beispiel beschriebenen.

Zusätzlich soll noch auf folgendes hingewiesen werden:

Wenn an dieser Stelle die Werte, die gleich 0 sind, von hohen Frequenzen her extra gezählt werden (hier ,33* die 0) und nicht einzeln übertragen werden, dann reichen bereits 20 Bit.

Wie auch bei dem ersten Beispiel erfolgt nun eine Rekon¬ struktion, um den Quantisierungsfehler zu überprüfen: Hierzu werden die codierten Werte mit folgendem Faktor:

2 3 * 6.05 = 48.397

multipliziert. Man erhält folgende rekonstruierte Werte:

48.39 193.59 145.19 -48.39 -48.39 0 0 0

Codierungsfehler der einzelnen Spektralkoeffizienten beträgt also:

-4.9 23 -7.11 10.39 16.99 -.59 23.1 6.96

2

Damit erhält man als Fehler pro Frequenzgruppe (∑x )

553 158.5 289.00 (L-2) (3-4) , (5-6)

Wie bei dem vorigen Beispiel wird die "erlaubte Störung" berechnet:

Energie: Koeff. 1-2 3-4 5-6

30982 24639 986

Die Faktoren für die erlaubten Störungen, die in gleicher Weise wie bei dem vorigen Beispiel berechnet werden, be¬ tragen:

0.1 0.1 0.5

+ 0.05 * letzter Wert 0,005 * letzter Wert

Hieraus ergibt sich bei diesem Beispiel: 3098 . 2

2463.9 + .05 * 3098.2 = 2618.8

493 + .05 + 2463.9 = 616.2

Die erlaubte Störung wurde in keinem Fall überschritten.

Im folgenden soll noch kurz die Rekonstruktion (Decoder) erläutert werden:

(i) Rekonstruktion der quantisierten Werte Huffman-Decoder: (Beispiel)

Bitstrom:

0001 0011 lOOllllOOlllOOlOHOlOOOxx

4Bit 4Bit 25 Bit ffüürr ssffmm ffüürr ZZaahhll für Spektral Koeffizienten =1 Multiplik

Der Code ist so gewählt, daß kein Wort Anfangswort eines anderen ist (FANO-Bedingung, aus der Literatur bekannt) . Deshalb können die quantisierten Werte aus dem Bitstrom durch Vergleich mit den möglichen Codeworten zurückgewon¬ nen werden:

sfmq, = 1 <

= 6.05 ..

Zahl Mult. - 3 < quant.Stufe = 6.05 * 2

= 48.397

Die quantisierten Spektralwerte sind:

1 4 3 -1 -1 0 0 ( Diese Werte werden durch den Korrekturfehler der äußeren Schleife - im Beispiel immer 1 - dividiert und an¬ schließend mit der "Quantisierungsstufe" multipliziert (48.39). Man erhält damit:

48.39 193.59 145.19 -48.49 -48.39 0 0 0

Nach der Rücktransformation erhält man wieder 16 Werte:

-56.42 -11.35 7.20 2.57 -2.57 -7.20 11.35 56.42 61.45 -2,47-62.24 -73.30 -73.30 -62.24 -2.47 61.45

Diese Werte werden mit der selben Fensterfunktion wie bei Sender gefenstert, und man erhält:

-9.79 -3.88 3.60 1.65 -1.96 -6.23 10.66 55.5 60.5 -2.3 -53.9 -56.1 -47.1 -31.1 -.05 10.67

In einem Zwischenspeicher sind die Ergebniswerte des letz¬ ten Durchgangs (letzte 8 Werte) gespeichert.

615.0 544 478.6 411.2 345.1 276.3 198.1 108.4

Diese Werte werden mit den ersten 8 Werten "überlappt", dh die Werte werden addiert. Das Ergebnis, dh das Zeitsignal erhält man durch Addition der ersten 8 Werte zu den Werten im Zwischenspeicher:

605.2 540.1 475 409.55 343.14 270.07 208.76 163.9

Die zweiten 8 Werte werden im Zwischenspeicher gespeichert.

Zum Vergleich sollen die Eingangswerte angegeben werden: 607 541 484 418 337 267 207 154

Man erkennt sofort die hervorragende Übereinstimmung der Orginaldaten und der rekonstruierten Daten.

Die Erfindung ist vorstehend anhand von Ausführungsbei- spielen beschrieben worden, ohne daß hieraus eine Ein¬ schränkung des allgemeinen Erfindungsgedankens abgeleitet werden könnte. Selbstverständlich sind die verschiedensten Modifikationen innerhalb dieses allgemeinen Erfindungsge¬ dankens möglich:

Die Quantisierung muß nicht durch eine Division durch einen Wert und nachfolgende Rundung auf einen ganzzahligen Wert erfolgen, selbstverständlich ist auch eine nichtline¬ are Quantisierung möglich. Diese kann zB durch einen Vergleich mit einer Tabelle erfolgen. Nur exemplarisch sollen als Möglichkeitenn die logartihmische und die Max- Quantisierung genannt werden. Auch ist es möglich, zu¬ nächst eine Vorverzerrung und anschließend eine lineare Quantisierung durchzuführen.

Ferner ist es möglich, als Optimalcodierer einen Codierer zu verwenden, dessen Ausbildung an die Statisitk der zu übertragenden akustischen Signale angepaßt ist.

Abschließend soll darauf hingewiesen werden, daß typische tatsächliche Werte sehr unterschiedlich von den vorstehend verwendeten Werten sein können. Als Beispiel für tatsäch¬ liche Werte seien aufgeführt:

31ocklä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 * 3 Bit

Zahl Werte = 0 9 Bit

Zahl Werte < 1 9 Bit

Mult.faktor Coder 1.189 = sqrt (sqrt(2)) Mult. aktoren Freq.Gruppen 3.

Das e findungsgemäße Verfahren kann mit einem Signalpro¬ zessor realisiert werden. Deshalb kann auf eine detail¬ lierte Beschreibung der schlatungsmäßigen Realisierung verzichtet werden.

QQ群二维码
意见反馈