-
Diese Erfindung bezieht sich auf
ein Verfahren und eine Vorrichtung zum Codieren eines Sprachsignals
und insbesondere, jedoch nicht ausschließlich, auf ein Verfahren und
eine Vorrichtung zum Codieren von Sprache für die Übertragung und Speicherung
mit niedriger Bitrate.
-
HINTERGRUND
DER ERFINDUNG
-
In vielen Audio-Anwendungen ist es
wünschenswert
ein Audiosignal, wie beispielsweise ein Sprachsignal, digital zu übertragen
oder zu speichem. Anstelle des Versuchs des Abtastens und anschließender Wiedergabe
des Sprachsignals wird oftmals ein Vocoder eingesetzt, der ein synthetisiertes
Sprachsignal konstruiert, das die Hauptmerkmale des Audiosignals
enthält,
wobei das synthetisierte Signal anschließend für die Wiedergabe decodiert
wird.
-
Ein für den Einsatz mit einem Vocoder
vorgeschlagener Codierungsalgorithmus verwendet ein Sprachmodell,
das man als Mehrband-Anregungsmodell (Multi-Band Excitation Model
= MBE) bezeichnet. Dieses Modell wurde zuerst in der Abhandlung "Multi-Band
Excitation Vocoder" von Griffin und Lim, IEEE Transactions on Acoustics,
Speech and Signal Processing, Band 36; Nr. 8, August 1988, Seite
1223 vorgeschlagen. Das MBE-Modell unterteilt das Sprachsignal in
eine Vielzahl von Datenblöcken,
die unabhängig
analysiert werden, um einen Satz von Parametern zu erzeugen. Diese
Parameter bilden das Sprachsignal bei diesem Datenblock nach, wobei
sie für
die Übertragung/Speicherung
anschließend
codiert werden. Das Sprachsignal in jedem Datenblock wird in eine
Anzahl von Frequenzbändern unterteilt
und für
jedes Frequenzband wird eine Entscheidung getroffen, ob dieser Abschnitt
des Spektrums eine Stimmelkeine Stimme enthält und dann entweder durch
periodische Energie im Falle einer Entscheidung Stimme oder durch
rauschähnliche Energie
im Falle einer Entscheidung keine Stimme dargestellt. Unter Verwendung
des Modells wird das Sprachsignal in jedem Datenblock mittels Informationen
charakterisiert, die die Grundfrequenz des Sprachsignals in dem
Datenblock, Entscheidungen Stimme/keine Stimme für die Frequenzbänder und die
entsprechenden Amplituden für
die Oberwellen in jedem Band enthalten. Diese Informationen werden dann
umgewandelt und vektorquantisiert, um das Codierausgangssignal bereitzustellen.
Das Ausgangssignal wird decodiert, indem dieses Verfahren umgekehrt
wird. Ein Vorschlag für
die Implementierung eines Vocoders mittels des Mehrband-Anregungsmodells
ist in dem Inmarsat-M Voice Codec, Version 3, August 1991 SDM/M,
Mod. 1/Appendix 1 (Digital Voice System Inc.) zu finden.
-
Ein Problem bei der Implementierung
eines solchen Vocoders ist, dass sich die Periode der Grundtonlage
und die Anzahl der Oberwellen von Datenblock zu Datenblock ändert, da
diese Eigenschaften Funktionen des Sprechers sind. So hat eine männliche
Stimme eine niedrigere Grundfrequenz mit mehr harmonischen Komponenten,
wohingegen eine weibliche Stimme eine höhere Grundfrequenz mit weniger
Oberwellen aufweist. Dies führt
zu einem Quantisierungsproblem von Vektoren mit variabler Dimension.
Eine vorgeschlagene Lösung
für das Problem
ist es, das Sprachsignal zu kürzen,
indem nur eine vorbestimmte Anzahl von Oberwellen ausgewählt wird.
Ein derartiger Ansatz hat jedoch einen inakzeptablen Qualitätsverlust
der Sprache zur Folge, insbesondere dann, wenn der Sprecher des
rekonstruierten Sprachsignals erkannt werden soll.
-
Ein Vorschlag zur Problemverringerung
ist die Verwendung einer Nicht-Quadrat-Transformation-Vektorquantisierung (NST
=Non-Sguare Transform), wie sie von Lupini und Cuperman in IEEE
Signal Processing Letters, Band 3, Nr. 1, Januar 1996 und Cuperman,
Lupini und Bhattacharya in der Abhandlung "Spectral Excitation Coding
of Speech at 2.4 kb/s" Proceedings, IEEE Intemational Conference
on Acoustics, Speech and Signal Processing 1995, Band 1, Seiten
496–499
vorgeschlagen wird. Bei diesem Ansatz transformiert die NST die
wechselnde Anzahl von spektralen Oberwellenamplituden in eine feste
Anzahl von Transformationskoeffizienten, die anschließend vektorquantisiert
werden.
-
Ein Nachteil dieses Vorschlags ist
jedoch, dass die Operation der Nicht-Quadrat-Transformation rechnerisch sehr komplex
ist. Das liegt daran, dass die Transformation von Vektoren mit wechselnder
Dimension in Vektoren von entweder 30 oder 40 festen Dimensionen
in diesem Vorschlag sehr rechenintensiv ist und ein großer Speicher
benötigt wird,
um alle Elemente der Transformationsmatrizen zu speichern. Der empfohlene
Vektor mit fester Dimension benötigt
eine einstufige Quantisierung, die ebenfalls einen hohen Rechenaufwand
verursacht. Ein weiterer Nachteil der NST-Vektorquantisierung ist,
dass das Verfahren eine Verzerrung in das Sprachsignal einbringt,
die die Erkennungsqualität der
wiedergegebenen Sprache verschlechtert, wenn die Größe des Codeiexikons
des Vektorquantisierers klein ist.
-
In einigen Anwendungen ist es wünschenswert,
die Sprache bei niedriger Bitrate zu codieren, wie beispielsweise
2,4 kbps oder weniger. Ein auf diese Weise codiertes Sprachsignal
benötigt
weniger Speicherplatz, um das Signal digital zu speichern, wodurch
die Kosten für
ein Gerät,
das die Bitrate verwendet, niedrig gehalten werden. Die Verwendung der
NST-Vektorquantisierung, für
die folglich eine hohe Rechenleistung und ein großer Speicher
benötigt
werden, liefert zusammen mit dem Problem der Verzerrung keine durchführbare Lösung des
Problems einer kostengünstigen
Codierung und Speicherung von Sprache bei derart niedrigen Bitraten.
-
Aufgabe der Erfindung ist es, ein
Verfahren und eine Vorrichtung zur Sprachcodierung bereitzustellen,
bei dem zumindest einer der Nachteile aus dem Stand der Technik
verringert wird.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß der Erfindung unter dem ersten
Aspekt wird ein Verfahren zum Codieren eines Sprachsignals mit den
folgenden Schritten bereitgestellt:
Abtasten des Sprachsignals;
Unterteilen
des abgetasteten Sprachsignals in eine Vielzahl von Datenblöcken;
Durchführen einer
Mehrband-Anregungsanalyse an dem Signal innerhalb jedes Datenblocks,
um eine Grundtonlage, eine Vielzahl von Entscheidungen Stimmelkeine
Stimme für
Frequenzbänder
im Signal und Amplituden von Oberwellen innerhalb der Bänder abzuleiten;
Transformieren
der Oberwellenamplituden, um eine Vielzahl von Transformationskoeffizienten
zu erzeugen;
Vektorquantisieren der Koeffizienten, um eine
Vielzahl von Indizes zu erzeugen; gekennzeichnet durch
Unterteilen
der Oberwellenamplituden in eine erste Gruppe mit einer festen Anzahl
von Oberwellen und eine zweite Gruppe des Rests der Oberwellen,
wobei die erste und die zweite Gruppe verschiedenen Transformationen
unterzogen werden, um jeweilige erste und zweite Sätze von
Transformationskoefitzienten zur Quantisierung zu erzeugen.
-
Vorzugsweise ist die erste Transformation eine
diskrete Cosinus Transformation (DCT), die die erste vorbestimmte
Anzahl von Oberwellen in dieselbe Anzahl von ersten Transformationskoeffizienten transformiert.
Die zweite Transformation ist vorzugsweise eine Nicht-Quadrat-Transformation
(NST), die die Reste der Oberwellen in eine feste Anzahl von zweiten
Transformationskoeffizienten transformiert.
-
Am meisten bevorzugt ist es, wenn
die erste Gruppe die ersten 8 Oberwellen des Audio-Signals umfasst,
die in 8 Transformationskoeffizienten transformiert werden, und
die zweite Gruppe den Rest der Oberwellen umfasst, die ebenfalls
in 8 Transformationskoeffizienten transformiert werden.
-
Bei dem Verfahren der Erfindung wird
die erste Gruppe von Oberwellen als Gruppe mit den wichtigsten Oberwellen
ausgewählt
für den
Zweck, das rekonstruierte Sprachsignal zu erkennen. Da die Anzahl
von derartigen Oberwellen fest ist, kann eine Transformation fester
Dimension, wie beispielsweise die DCT verwendet werden, wodurch
sich die Verzerrung minimieren Isst und die Dimension der wichtigsten
Parameter unverändert
bleibt. Auf der anderen Seite werden die restlichen weniger bedeutenden Oberwellen
transformiert, indem die NST-Transformation
mit variabler Dimension verwendet wird. Da nur die weniger bedeutenden
Oberwellen mittels der NST transformiert werden, wird der Verzerrungseffekt
auf die Reproduzierbarkeit des Audio-Signals minimiert.
-
Außerdem, da die Oberwellen in
zwei Gruppen unterteilt werden, ist der Grad der Rechenleistung,
der für
die Transformation und Codierung der folglich kleineren Vektoren
notwendig ist, geringer, wodurch die für den Codieren notwendige Rechenleistung
reduziert wird.
-
Gemäß der Erfindung unter einem
zweiten Aspekt wird ein Verfahren zum Decodieren eines Eingangsdatensignals
für die
Sprachsynthese mit den folgenden Schritten bereitgestellt:
Vektordequantisieren
einer Vielzahl von Indizes des Datensignals, um erste und zweite
Sätze von
Transformationskoeffiziehten zu erzeugen;
inverses Transformieren
der ersten und zweiten Sätze
von Koeffizienten mit verschiedenen inversen Transformationen, um
jeweilige erste und zweite Gruppen von Oberwellenamplituden abzuleiten;
Ableiten
einer Tonlageinformation und einer Entscheidungsinformation Stimmelkeine
Stimme aus dem Eingangsdaterisignal;
Durchführen einer Mehrband-Anregunganalyse
an der Information und den Oberwellenamplituden, um ein synthetisiertes
Signal zu erzeugen; und
Konstruieren eines Sprachsignals aus
dem synthetisierten Signal.
-
Gemäß der Erfindung unter einem
dritten Aspekt wird eine Vorrichtung zur Sprachcodierung bereitgestellt,
die folgendes umfasst:
eine Einrichtung zum Abtasten eines
Sprachsignals und Unterteilen des abgetasteten Signals in eine Velzahl
von Datenblöcken;
ein
Mehrband-Anregungsanalysator zum Ableiten einer Grundtonlage und
einer Vielzahl von Entscheidungen Stimme/keine Stimme für Frequenzbänder in jedem
Datenblock und Amplituden von Oberwellen innerhalb der Bänder;
eine
Transformationseinrichtung zum Transformieren der Oberwellenamplituden,
um eine Vielzahl von Transformationskoeftizienten zu erzeugen;
eine
Vektorquantisierungseinrichtung zum Quantisieren der Koeffizienten,
um eine Vielzahl von Indizes zu erzeugen;
dadurch gekennzeichnet,
dass die Trarlsformationseinrichtung eine erste Transformationseinrichtung
zum Transformieren einer ersten festen Anzahl von Oberwellen in
einen ersten Satz von Transformationskoeffizienten und eine zweite
Transformationseinrichtung zum Transfonrieren des Rests der Oberwellenamplituden
mit einer unterschiedlichen Transformation in einen zweiten Satz
von Transformationskoeffizienten umfasst.
-
Gemäß der Erfindung unter einem
vierten Aspekt wird eine Decodiervorrichtung zum Decodieren eines
Eingangsdatensignals zur Sprachsynthese bereitgestellt, bestehend
aus einer Vektordequantisierungseinrichtung zum Dequantisieren einer
Vielzahl von Indizes, um mindestens zwei Sätze von Transformationskoeffizienten
zu erzeugen, einer ersten und einer zweiten Transformationseinrichtung zum
inversen Transformieren jeweils des ersten und des zweiten Satzes
von Koeffizienten mit verschiedenen inversen Transformationen, um
eine erste und zweite Gruppe von Oberwellenamplituden abzuleiten,
einem Mehrband-Anregungssynthesizer zum Kombinieren der Oberwellen
mit einer Tonlageinformation und einer Entscheidungsinformation
Stimmelkeine Stimme aus dem Eingangssignal und einer Einrichtung
zum Konstruieren eines Sprachsignals aus dem Ausgangssignal des
Synthesizers.
-
Eine Ausführungsform der vorliegenden
Erfindung wird nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben, in denen:
-
1. 1 ein
Blockdiagramm einer Ausführungsform
einer Codiervorrichtung der Erfindung darstellt;
-
2. 2 ein
Blockdiagramm einer Ausführungsform
einer Decodiervorrichtung der Erfindung zum Decodieren von Sprache
darstellt, die unter Verwendung der Ausführungsform in 1 codiert wurde.
-
GENAUE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Unter Bezugnahme auf 1 wird eine Ausführungsform einer Codiervorrichtung
gemäß der Erfindung
gezeigt.
-
Die Ausführungsform beruht auf einem Mehrband-Anregungs-Sprachcodierer
(MBE = Multi-Band Excitation), in dem ein Eingangssprachsignal abgetastet
und bei Block 100 von analog in digital gewandelt wird.
Die Abtastwerte werden anschließend unter
Verwendung des MBE-Modells bei Block 110 analysiert. Die
MBE-Analyse gruppiert die Abtastwerte in Datenblöcke von 160 Abtastwerten,
führt eine diskrete
Fourier Transformation auf jeden Datenblock aus, leitet die Grundtonlage
des Datenblocks ab und unterteilt die Oberwellen des Datenblocks
in Bänder und
trifft Entscheidungen Stimme (keine Stimme für jedes Band. Diese Information
wird dann mittels eines herkömmlichen
MBE-Quantisierers 120 quantisiert (wobei die Tonlageinformation
in 8 Bits skalarquantisiert wird und die Entscheidung Stimme 1 keine
Stimme durch ein Bit dargestellt wird), und mit vektorquantisierten
Oberwellen, gemäß nachfolgender
Beschreibung, bei Block 130 kombiniert, um eine Digitaldarstellung
jedes Datenblocks zur Übertragung
oder Speicherung zu erzeugen.
-
Die MBE-Analyse bei Schritt 110 liefert
ferner ein Ausgangssignal von Oberwellenamplituden, und zwar eines
für jede
Oberwelle im Datenblock des Sprachsignals. Die Anzahl N von Oberwellenamplituden
variiert in Abhängigkeit
von dem Sprachsignal in dem Datenblock und wild in zwei Gruppen
unterteilt: eine Gruppe von fester Größe der ersten 8 Oberwellen,
die normalerweise die wichtigsten Oberwellen des Datenblocks sind,
und eine Gruppe von variabler Größe des Rests.
Die ersten 8 Oberwellen werden einer diskreten Cosinus Transformation
(DCT) bei Block 140 unterzogen, um einen ersten Formvektor zu
erzeugen, der 8 erste Transformationskoeffizienten bei Block 150 umfasst.
Die verbleibenden N-8-Oberwellen
werden einer Nicht-Quadrat-Transformation (NST) bei Block 180 unterzogen,
um 8 letzte Transformationskoeffizienten bei Block 170 zu
erzeugen. Die ersten 8 Oberwellen, die allgemein die wichtigsten
Oberwellen darstellen und DGTtransformiert werden, werden genau
transformiert. Die verbleibenden Oberwellen, die NST-transformiert
werden, werden weniger genau transformiert. Da sie aber weniger
bedeutend sind, wird die Qualität
der decodierten Sprache nicht nennenswert beeinträchtigt,
trotz der geringeren Anforderung an die Rechenleistung.
-
Jeder der Transforrnationskoeffizienten,
die bei den Blöcken 150, 170 erzeugt
werden, wird anschließend
normiert, um einen Verstärkungswert
und 8 normierte Koeffizienten bereitzustellen. Die Verstärkungswerte
werden in einen einzelnen Verstärkungsvektor
bei Block 180 kombiniert (die Verstärkungswerte für den ersten
und letzten Transformationskoeffienten bleiben hierbei im Verstärkungsvektor unabhängig) und
die normierte Koeffizienten und die Verstärkungsvektoren werden anschließend in
den Vektorquantisierern 190, 200, 210 in Übereinstimmung
mit den einzelnen Vektor-Codelexika quantisiert.
-
Wie gezeigt ist das Codelexikon für die ersten
8 Transformationskoeffizienten von der Dimension 256 mal
8, für
die letzten Transformationskoefflzienten von der Dimension 512 mal
8 und für
die Verstärkungswerte
von der Dimension 2048 mal 2. Die Größe des Codelexikons kann in
Abhängigkeit
vom Grad der Annäherung
der gewünschten
codierten Informationen geändert
werden – je
größer das
Codelexikon, desto genauer der Quantisierungsvorgang zu Lasten einer
größeren Rechenleistung
bzw. eines größeren Speichers.
-
Das Ausgangssignal aus den Quantisierern 190–210 besteht
aus den drei Codelexikon-Indizes 11–13, die mit der quantisierten
Tonlageinformation und der Information Stimmelkeine Stimme bei Block 130 kombiniert
werden, um ein digitales Datensignal für jeden Datenblock zu erzeugen.
Der Kombinationsvorgang bei Block 130 behält jedes
Element einzeln in einer vorbestimmten Reihenfolge bei, um eine Decodierung
wie nachfolgend beschrieben zu ermöglichen.
-
Unter Bezugnahme auf 2 wird ein Decodierer zum Decodieren
des Ausgangssignals von 1 gezeigt,
der die inverse Operation des Codierers von 1 ausführt, wobei die Blöcke des
Decodierers, die dieselben inversen Funktionen aufweisen, durch
gleiche Referenzahlen unter Addition der Zahl 200 dargestellt
wurden.
-
Das Datensignal wird bei Block 330 in
seine Bestandteile unterteilt, den Indizes 11-13 und der quantisierten
Tonlageinformation und der Entscheidungsinforration Stimme/keine
Stimme. Die drei Codelexikon-Indizes 11–13 werden durch Extrahieren der
korrekten Einträge
aus den entsprechenden Codelexika in den Blöcken 390, 400, 410 decodiert.
Die Verstärkungsinformation
wird anschließend
für jeden Satz
von Transformationskoeffizienten bei Block 380 extrahiert
und mit den ausgegebenen normierten Koeffizienten bei 382, 384 multipliziert,
um die ersten und letzten 8 Transformationskoeffizienten bei den Blöcken 350, 370 zu
erzeugen. Die zwei Gruppen von Transformationskoeffizienten werden
bei den Blöcken 340, 360 invers
transformiert und an einen Mehrband-Anregungssynfihesizer 310 ausgegeben, zusammen
mit der Tonlageinformation und der Entscheidungsinformation Stimmelkeine
Stimme, die aus einem MBf-Dequantisierer 330 extrahiert
wurde, der die 8-Bit-Daten mittels einer Decodiertabelle decodiert.
-
Der MBE-Synthesizer 310 fuhrt
anschließend
die umgekehrte Operation zum Analysator 110 aus, indem
er die Signalkomponenten zusammenfügt, eine inverse diskrete Fourier-Transformation
für stimmlose
Bänder
durchführt,
eine stimmhafte Sprachsynthese mittels der decodierten Oberwellenamplituden
durchführt,
um einen Satz von sinusförmigen
Oszilfatoren für
die stimmhaften Bänder
zu steuern, die synthetisierten stimmhafen und stimmlosen Signale
in jedem Datenblock kombiniert und die Datenblöcke verbindet, um einen Signalausgang
zu erzeugen. Das vom Synthesizer 310 ausgegebene Signal
passiert dann einen Digital-Analog-Wandler bei Block 300,
um ein Audiosignal zu erzeugen.
-
Die Ausführungsform der Erfindung findet insbesondere
in solchen Geräten
Anwendung, bei denen es wünschenswert
ist, ein Audio-Signal in digitaler Form zu speichern, beispielsweise
in einem digitalen Anrufbeantworter oder einem digitalen Diktiergerät. Die Ausführungsform
der vorliegenden Erfindung ist insbesondere in einem digitalen Anrufbeantworter
anwendbar, da es einerseits das Ziel ist, den Sprecher zu erkennen,
es andererseits bei einem relativ kostengünstigen Haushaltsgerät jedoch erforderlich
ist, die Rechen- und Speicheranfordenangen für die digitale Codierung niedrig
zu halten. Mit Hilfe der Ausführungsform
der Erfindung ist es möglich,
die digitalen Informationen bei der Bitrate von 2,4 kbps zu speichern.
Folglich ist eine relativ niedrige Speicherrate im Vergleich zu
beispielsweise anderen Verfahren zum Erzielen von hochwertiger Sprache
erforderlich, wie z. B. mit der Code Excited Linear prediction,
die für
die Fernsprachqualität 16 kbps
während
der Aufrechterhaltung einer erkennbaren Wiedergabe benötigt.
-
Die beschriebene Ausführungsform
ist nicht als einschränkend
auszulegen. Obwohl beispielsweise die ersten 8 Oberwellen des Signals
als die erste Gruppe von Oberwellen ausgewählt wird, bei der die Transformation
fester Dimension angewendet wird, kann auch eine andere Anzahl von
Oberwellen je nach Anforderung ausgewählt werden. Außerdem können, obwohl
die diskrete Cosinus Transformation und die Nicht-Quadrat-Transformation
für die
Transformation der beiden Gruppen bevorzugt werden, auch andere
Transformationen, wie beispielsweise die Wauelet und Integer-Transformationen
oder Methoden verwendet werden. Die Größe der Vektorquantisierungs-Codelexika
kann in Abhängigkeit
von der Genauigkeit der erforderlichen Quantisierung variiert werden.