[0001] Die Erfindung betrifft ein Verfahren zur Klassifizierung von Sprachsignalen nach
dem Oberbegriff des Patentanspruchs 1 sowie eine Schaltungsanordnung zur Durchführung
des Verfahrens.
[0002] Sprachcodierverfahren und Zugehörige Schaltungsanordnungen zur Klassifizierung von
Sprachsignalen für Bitraten unterhalb von 8 kbit pro Sekunde gewinnen zunehmend an
Bedeutung.
[0003] Die Hauptanwendungen hierfür sind unter anderem bei Multiplexübertragung für bestehende
Festnetze und in Mobilfunksystemen der dritten Generation zu sehen. Auch für die Bereitstellung
von Diensten wie zum Beispiel Videophonie werden Sprachcodierverfahren in diesem Datenratenbereich
benötigt.
[0004] Die meisten derzeit bekannten, hochqualitativen Sprachcodierverfahren für Datenraten
zwischen 4 kbit/s und 8 kbit/s arbeiten nach dem Prinzip des Code Excited Linear Prediction
(CELP)-Verfahrens wie es von Schroeder, M.R., Atal, B.S.: Code-Excited Linear Prediction
(CELP): High Quality Speech at Very Low Bit Rates, in Proceedings of IEEE International
Conference on Acoustics, Speech and Signal Processing, 1985, erstmals beschrieben
worden ist. Dabei wird das Sprachsignal durch lineare Filterung von Anregungsvektoren
aus einem oder mehreren Codebüchern synthetisiert. In einem ersten Schritt werden
die Koeffizienten des Kurzzeit-Synthesefilters durch LPC-Analyse aus dem Eingangs-Sprachvektor
ermittelt und dann quantisiert. Im Anschluß daran werden die Anregungscodebücher durchsucht,
wobei als Optimierungskriterium der perzeptuell gewichtete Fehler zwischen Original-
und synthetisiertem Sprachvektor verwendet wird (⇒ Analyse durch Synthese). Übertragen
werden schließlich nur die Indizes der optimalen Vektoren, aus denen der Decoder den
synthetisierten Sprachvektor wieder erzeugen kann.
[0005] Viele dieser Codierverfahren, wie zum Beispiel der neue 8 kbit/s Sprachcoder von
ITU-T, beschrieben in der Literaturstelle Study Group 15 Contribution - Q. 12/15:
Draft Recommendation G.729 - Coding Of Speech at 8 kbit/s using Conjugate-Structure-Algebraic-Code-Excited-Linear-Predictive
(CS-ACELP) Coding, 1995, arbeiten mit einer festen Kombination von Codebüchern. Diese
starre Anordnung berücksichtigt nicht die starken zeitlichen Änderungen der Eigenschaften
des Sprachsignals und benötigt zur Codierung im Durchschnitt mehr Bits als erforderlich.
Zum Beispiel bleibt das nur zur Codierung von periodischen Sprachabschnitten erforderliche
adaptive Codebuch auch während eindeutig nichtperiodischer Segmente eingeschaltet.
[0006] Um zu niedrigeren Datenraten im Bereich um 4 kbit/s bei möglichst wenig abfallender
Qualität zu gelangen, wurde deshalb in anderen Veröffentlichungen, zum Beispiel in
Wang, S., Gersho, A.: Phonetically-Based Vector Excitation Coding of Speech at 3.6
kbit/s, Proceedings of IEEE International Conference On Acoustics, Speech and Signal
Processing, 1989, vorgeschlagen, das Sprachsignal vor der Codierung in verschiedene
typische Klassen einzuordnen. Im Vorschlag für das GSM-Halbratensystem wird das Signal
auf Basis des Langzeit-Prädiktionsgewinns rahmenweise (alle 20 ms) in stimmhafte und
stimmlose Abschnitte mit jeweils angepaßten Codebüchern eingeteilt, wodurch die Datenrate
für die Anregung gesenkt und die Qualität gegenüber dem Vollratensystem weitgehend
gleich bleibt. Bei einer allgemeineren Untersuchung wurde das Signal in die Klassen
stimmhaft, stimmlos und Onset eingeteilt. Dabei wurde die Entscheidung rahmenweise
(hier 11,25 ms) auf Basis von Parametern - wie unter anderem Nulldurchgangsrate, Reflexionskoeffizienten,
Energie - durch lineare Diskriminierung gewonnen, siehe zum Beispiel Campbell, J.,
Tremain, T.: Voiced/Unvoiced Classification of Speech with Application to the U.S.
Gouvernment LPC-10e Algorithm, Proceedings of IEEE International Conference On Acoustics,
Speech and Signal Processing, 1986. Jeder Klasse wird wiederum eine bestimmte Kombination
von Codebüchern zugeordnet, so daß die Datenrate auf 3,6 kbit/s bei mittlerer Qualität
gesenkt werden kann.
[0007] All diese bekannten Verfahren ermitteln das Ergebnis ihrer Klassifizierung aus Parametern,
die durch Berechnung von Zeitmittelwerten aus einem Fenster konstanter Länge gewonnen
wurden. Die zeitliche Auflösung ist also durch die Wahl dieser Fensterlänge fest vorgegeben.
Verringert man die Fensterlänge, so sinkt auch die Genauigkeit der Mittelwerte. Erhöht
man dagegen die Fensterlänge, so kann der zeitliche Verlauf der Mittelwerte dem Verlauf
des instationären Sprachsignals nicht mehr folgen. Dies gilt besonders für stark instationäre
Übergänge (Onsets) von stimmlosen auf stimmhafte Sprachabschnitte. Gerade die zeitlich
richtige Reproduktion der Lage der ersten signifikanten Pulse stimmhafter Abschnitte
ist aber wichtig für die subjektive Beurteilung eines Codierverfahrens. Weitere Nachteile
herkömmlicher Klassifizierungsverfahren sind oftmals eine hohe Komplexität oder starke
Abhängigkeit von in der Praxis immer vorhandenen Hintergrundgeräuschen.
[0008] Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und einen Klassifizierer
von Sprachsignalen für die signalangepaßte Steuerung von Sprachcodierverfahren zur
Senkung der Bitrate bei gleichbleibender Sprachqualität bzw. zur Erhöhung der Qualität
bei gleicher Bitrate zu schaffen, die das Sprachsignal mit Hilfe der Wavelet-Transformation
für jeden Zeitraum klassifizieren, wobei sowohl eine hohe Auflösung im Zeitbereich
als auch im Frequenzbereich erreicht werden soll.
[0009] Die Lösung für das erfindungsgemäße Verfahren ist im Kennzeichen des Patentanspruchs
1 charakterisiert und die für den Klassifizierer im Kennzeichen des Patentanspruchs
5.
[0010] Weitere Lösungen bzw. Ausgestaltungen der Erfindung ergeben sich aus den Kennzeichen
der Patentansprüche 2 - 4.
[0011] Hier werden ein Verfahren und eine Anordnung beschrieben, die das Sprachsignal auf
Basis der Wavelet-Transformation für jeden Zeitrahmen klassifizieren. Dadurch kann
- den Anforderungen des Sprachsignals entsprechend - sowohl eine hohe Auflösung im
Zeitbereich (Lokalisierung von Pulsen) als auch im Frequenzbereich (gute Mittelwerte)
erreicht werden. Die Klassifizierung eignet sich deshalb besonders zur Steuerung bzw.
Auswahl von Codebüchern in einem niederratigen Sprachcoder. Dabei weist das Verfahren
und die Anordnung eine hohe Unempfindlichkeit gegenüber Hintergrundgeräuschen sowie
eine niedrige Komplexität auf. Bei der Wavelet-Transformation handelt es sich - ähnlich
der Fourier-Transformation - um ein mathematisches Verfahren zur Bildung eines Modells
für ein Signal oder System. Im Gegensatz zur Fourier-Transformation kann man aber
im Zeit- und Frequenz- bzw. Skalierungsbereich die Auflösung den Anforderungen entsprechend
flexibel anpassen. Die Basisfunktionen der Wavelet-Transformation werden durch Skalierung
und Verschiebung aus einem sogenannten Mother-Wavelet erzeugt und haben Bandpaßcharakter.
Die Wavelet-Transformation ist somit erst durch Angabe des zugehörigen Mother-Wavelets
eindeutig definiert. Hintergründe und Details zur mathematischen Theorie sind beispielsweise
aufgezeigt von Rioul O., Vetterli, M.: Wavelets and Signal Processing, IEEE Signal
Processing Magazine, Oct. 1991.
[0012] Aufgrund ihrer Eigenschaften eignet sich die Wavelet-Transformation gut zur Analyse
instationärer Signale. Ein weiterer Vorteil ist die Existenz schneller Algorithmen,
mit denen eine effiziente Berechnung der Wavelet-Transformation durchgeführt werden
kann. Erfolgreiche Anwendungen im Bereich der Signalverarbeitung findet man unter
anderem in der Bildcodierung, bei Breitbandkorrelationsverfahren (zum Beispiel für
Radar) sowie zur Sprachgrundfrequenzschätzung, wie unter anderem aus den folgenden
Literaturstellen hervorgeht. Mallat, S., Zhong, S.: Characterization of Signals from
Multiscale Edges, IEEE Transactions on Pattern Analysis and Machine Intelligence,
July, 1992 sowie Kadambe, S.Boudreaux-Bartels, G.F.: Applications of the Wavelet Transform
for Pitch Detection of Speech Signals, IEEE Transactions on Information Theory, March
1992.
[0013] Die Erfindung wird im folgenden anhand eines Ausführungsbeispiels näher beschrieben.
Für die Beschreibung des Verfahrens soll der prinzipielle Aufbau eines Klassifizierers
nach Fig. 1 verwendet werden. Zunächst erfolgt die Segmentierung des Sprachsignals.
Das Sprachsignal wird in Segmente konstanter Länge eingeteilt, wobei die Länge der
Segmente zwischen 5 ms und 40 ms betragen soll. Zur Vermeidung von Randeffekten bei
der sich anschließenden Transformation kann eine der drei folgenden Techniken angewandt
werden:
- Das Segment wird an den Grenzen gespiegelt.
- Die Wavelet-Transformation wird im kleineren Intervall (L/2,N-L/2) berechnet und der
Rahmen nur um den konstanten Versatz L/2 verschoben, so daß die Segmente überlappen.
Dabei ist L die Länge eines auf den zeitlichen Ursprung zentrierten Wavelets, wobei
die Bedingung N>L gelten muß.
- An den Rändern des Segmentes wird mit den vorangegangenen bzw. zukünftigen Abtastwerten
aufgefüllt.
[0014] Danach erfolgt eine diskrete Wavelet-Transformation. Für ein solches Segment s(k),
wird eine zeitdiskrete Wavelet-Transformation (DWT) Sh(m,n) bezüglich eines Wavelets
h(k) mit den ganzzahligen Parametern Skalierung m und Zeitverschiebung n berechnet.
Diese Transformation ist durch

definiert, wobei N
u und N
o die durch die gewählte Segmentierung vorgegebene untere bzw. obere Grenze des Zeitindex
k darstellen. Die Transformation muß nur für den Skalierungsbereich 0<m<M und den
Zeitbereich im Intervall (0,N) berechnet werden, wobei die Konstante M in Abhängigkeit
von a
o so groß gewählt werden muß, daß die niedrigsten Signalfrequenzen im Transformationsbereich
noch ausreichend gut repräsentiert werden.
[0015] Zur Klassifizierung von Sprachsignalen reicht es in der Regel aus, das Signal zu
dyadischen Skalierungen (a
o=2) zu betrachten. Läßt sich das Wavelet h(k) durch eine sogenannte "Multiresolution-Analyse"
gemäß Rioul, Vetterli mittels einer iterierten Filterbank darstellen, so kann man
zur Berechnung der dyadischen Wavelet-Transformation in der Literatur angegebene effiziente,
rekursive Algorithmen verwenden. In diesem Fall (a
o=2) ist eine Zerlegung bis maximal M=6 ausreichend. Für die Klassifizierung eignen
sich besonders Wavelets mit wenigen signifikanten Oszillationszyklen, aber dennoch
möglichst glattem Funktionsverlauf. Beispielsweise können kubische Spline-Wavelets
oder orthogonale Daubechies-Wavelets geringer Länge verwendet werden.
[0016] Hiernach erfolgt die Klasseneinteilung. Das Sprachsegment wird auf Basis der Transformationskoeffizienten
in Klassen eingeteilt. Um eine ausreichend feine Zeitlauflösung zu erreichen, wird
das Segment noch in P Subrahmen eingeteilt, so daß für jeden Subrahmen ein Klassifizierungsergebnis
ausgegeben wird. Für einen Einsatz in niederratigen Sprachcodierverfahren wurde die
Unterscheidung der folgenden Klassen vorgenommen:
(1) Hintergrundrauschen/stimmlos,
(2) Signalübergänge/"voicing onsets",
(3) Periodisch/stimmhaft.
[0017] Beim Einsatz in bestimmten Codierverfahren kann es sinnvoll sein, die periodische
Klasse noch weiter aufzuteilen, etwa in Abschnitte mit überwiegend tieffrequenter
Energie oder eher gleichmäßig verteilter Energie. Optional kann deshalb auch eine
Unterscheidung von mehr als drei Klassen durchgeführt werden.
[0018] Im Anschluß daran erfolgt in einem entsprechenden Prozessor die Parameterberechnung.
Zunächst wird aus den Transformationskoeffizienten S
h(m,n) ein Satz von Parametern bestimmt, mit deren Hilfe dann anschließend die endgültige
Klasseneinteilung vorgenommen werden kann. Die Auswahl der Parameter Skalierungs-Differenzmaß
(P
1), zeitliches Differenzmaß (P
2) und Periodizitätsmaß (P
3) erwiesen sich dabei als besonders günstig, da sie einen direkten Bezug zu den definierten
Klassen (1) bis (3) aufweisen.
- Für P1 wird die Varianz der Energie der DWT-Transformationskoeffizienten über alle Skalierungsbereiche
berechnet. Auf Basis dieses Parameters kann rahmenweise - also für ein relativ grobes
Zeitraster - festgestellt werden, ob das Sprachsignal stimmlos ist bzw. nur Hintergrundrauschen
vorliegt.
- Um P2 zu ermitteln, wird zunächst die mittlere Energiedifferenz der Transformationskoeffizienten
zwischen dem aktuellen und dem vergangen Rahmen berechnet. Nun werden für Transformationskoeffizienten
feiner Skalierungsstufe (m klein) die Energiedifferenzen zwischen benachbarten Subrahmen
ermittelt und mit der Energiedifferenz für den Gesamtrahmen verglichen. Dadurch kann
ein Maß für die Wahrscheinlichkeit eines Signalübergangs (zum Beispiel stimmlos auf
stimmhaft) für jeden Subrahmen - also für ein feines Zeitraster - bestimmt werden.
- Für P3 werden rahmenweise die lokalen Maxima von Transformationskoeffizienten grober Skalierungsstufe
(m nahe bei M) bestimmt und geprüft, ob diese in regelmäßigen Abständen auftreten.
Als lokale Maxima werden dabei die Spitzen bezeichnet, die einen gewissen Prozentsatz
T des globalen Maximums des Rahmens übersteigen.
[0019] Die für diese Parameterberechnungen erforderlichen Schwellwerte werden in Abhängigkeit
vom aktuellen Pegel des Hintergrundgeräusches adaptiv gesteuert, wodurch die Robustheit
des Verfahrens in gestörter Umgebung gesteigert wird.
[0020] Darauffolgend wird die Auswertung vorgenommen. Die drei Parameter werden der Auswerteeinheit
in. Form von "Wahrscheinlichkeiten" (auf den Wertebereich (0,1) abgebildete Größen)
zugeführt. Die Auswerteeinheit selbst trifft das endgültige Klassifizierungsergebnis
für jeden Subrahmen auf Basis eines Zustandsmodells. Dadurch wird das Gedächtnis der
für vorangegangene Subrahmen getroffenen Entscheidungen berücksichtigt. Außerdem werden
nicht sinnvolle Übergänge, wie zum Beispiel direkter Sprung von "stimmlos" auf "stimmhaft",
verboten. Als Ergebnis wird schließlich pro Rahmen ein Vektor mit P Komponenten ausgegeben,
der das Klassifizierungsergebnis für die P Sübrahmen enthält.
[0021] In den Fig. 2a und 2b sind die Klassifizierungsergebnisse für das Sprachsegment "...parcel,
I'd like..." einer englischen Sprecherin exemplarisch dargestellt. Dabei wurden die
Sprachrahmen der Länge 20ms in vier equidistante Subrahmen zu jeweils 5 ms eingeteilt.
Die DWT wurde nur für dyadische Skalierungsschritte ermittelt und auf Basis von kubischen
Spline-Wavelets mit Hilfe einer rekursiven Filterbank implementiert. Die drei Signalklassen
werden mit 0,1,2 in der gleichen Reihenfolge wie oben bezeichnet. Für Fig. 2a wurde
Telefonband-Sprache (200 Hz bis 3400 Hz) ohne Störung verwendet, während für Fig.
2b zusätzlich Fahrzeuggeräusche mit einem durchschnittlichen Signal-Rausch-Abstand
von 10 dB überlagert wurden. Der Vergleich der beiden Abbildungen zeigt, daß das Klassifizierungsergebnis
nahezu unabhängig vom Rauschpegel ist. Mit Ausnahme kleinerer Unterschiede, die für
Anwendungen in der Sprachcodierung irrelevant sind, werden die perzeptuell wichtigen
periodischen Abschnitte sowie deren Anfangs- und Endpunkte in beiden Fällen gut lokalisiert.
Durch Auswertung einer großen Vielfalt unterschiedlichen Sprachmaterials ergab sich,
daß der Klassifizierungsfehler deutlich unter 5% für Signal-Rausch-Abstände oberhalb
10 dB liegt.
[0022] Der Klassifizierer wurde zusätzlich für folgenden typischen Anwendungsfall getestet:
Ein CELP-Codierverfahren arbeitet bei einer Rahmenlänge von 20 ms und teilt diesen
Rahmen zur effizienten Anregungscodierung in vier Subrahmen à 5 ms ein. Für jeden
Subrahmen soll entsprechend der drei oben genannten Signalklassen auf Basis des Klassifizierers
eine angepaßte Kombination von Codebüchern verwendet werden. Es wurde für jede Klasse
ein typisches Codebuch mit jeweils 9 Bit/Subrahmen zur Codierung der Anregung eingesetzt,
wodurch sich eine Bitrate von lediglich 1800 Bit/s für die Anregungscodierung (ohne
Gain) ergab. Es wurden für die stimmlose Klasse ein Gauß'sches Codebuch, für die Onset-Klasse
ein Zwei-Puls-Codebuch und für die periodische Klasse ein adaptives Codebuch verwendet.
Schon für diese einfache, mit festen Subrahmenlängen arbeitende Konstellation von
Codebüchern ergab sich eine gut verständliche Sprachqualität, jedoch noch mit rauhem
Klang in periodischen Abschnitten. Zum Vergleich sei erwähnt, daß in ITU-T, Study
Group 15 Contribution - Q. 12/15: Draft Recommendation G.729 - Coding Of Speech at
8 kbit/s using Conjugate-Structure-Algebraic-Code-Excited-Linear-Predictive (CS-ACELP)
Coding, 1995, für die Codierung der Anregung (ohne Gain) 4800 Bit/s benötigt werden,
um Leitungsqualität zu erzielen. Selbst in Gerson, I. et al., Speech and Channel Coding
for the Half-Rate GSM Channel, ITG-Fachbericht "Codierung für Quelle, Kanal und Übertragung",
1994, werden dafür noch 2800 bit/s verwendet, um Mobilfunkqualität sicherzustellen.
1. Verfahren zur Klassifizierung von Sprache, insbesondere Sprachsignalen für die Signalangepaßte
Steuerung von Sprachcodierverfahren zur Senkung der Bitrate bei gleichbleibender Sprachqualität
oder zur Erhöhung der Qualität bei gleicher Bitrate, dadurch gekennzeichnet,
daß nach einer Segmentierung des Sprachsignals für jeden gebildeten Rahmen eine Wavelet-Transformation
berechnet wird, aus der mit Hilfe adaptiver Schwellen ein Satz Parameter (P1-P3) ermittelt wird, die ein Zustandsmodell steuern, das den Sprachrahmen in Unterrahmen
aufteilt und jeden dieser Unterrahmen in eine von mehreren, für die Sprachcodierung
typische Klassen unterteilt.
2. Verfahren nach Patentanspruch 1, dadurch gekennzeichnet,
daß das Sprachsignal in Segmente konstanter Länge eingeteilt wird, und daS zur Vermeidung
von Randeffekten bei der sich anschließenden Wavelet-Transformation entweder das Segment
an den Grenzen gespiegelt wird, oder die Wavelet-Transformation im kleineren Intervall
(L/2, N-L/2) berechnet wird und der Rahmen nur um den konstanten Versatz L/2 verschoben
wird, so daß die Segmente sich überlappen oder daß an den Rändern des Segments mit
den vorangegangenen bzw. zukünftigen Abtastwerten aufgefüllt wird.
3. Verfahren nach Patentanspruch 1 oder 2, dadurch gekennzeichnet,
daß für ein Segment s(k) eine zeitdiskrete Wavelet-Transformation (DWT) Sh(mn) bezüglich eines Wavelets h(k) mit den ganzzahligen Parametern Skalierung m und
Zeitverschiebung n berechnet wird, und daß das Segment auf Basis der Transformationskoeffizienten
in Klassen eingeteilt wird, insbesondere zur Erreichung einer feinen Zeitauflösung
noch in P Subrahmen eingeteilt und für jeden Subrahmen ein Klassifizierungsergebnis
errechnet und ausgegeben wird.
4. Verfahren nach einem der Patentansprüche 1 - 3, dadurch gekennzeichnet,
daß aus dem Transformationskoeffizienten Sh(mn) ein Satz von Parametern, insbesondere Skalierungs-Differenzmaß (P1), zeitliches Differenzmaß (P2) und Periodizitätsmaß (P3) bestimmt wird, mit deren Hilfe dann anschließend die endgültige Klasseneinteilung
vorgenommen wird, wobei die für diese Parameterberechnungen erforderlichen Schwellwerte
in Abhängigkeit vom aktuellen Pegel des Hintergrundgeräusches adaptiv gesteuert werden.
5. Anordnung, insbesondere Klassifizierer zur Durchführung des Verfahrens nach einem
der Patentansprüche 1 - 4, dadurch gekennzeichnet,
daß die Eingangssprache einer Segmentierungseinrichtung zugeführt wird, daS nach der
Segmentierung der Eingangssprache für jeden gebildeten Rahmen bzw. für jedes gebildete
Segment durch einen Prozessor eine diskrete Wavelet-Transformation berechnet wird,
daß daraus mit Hilfe adaptiver Schwellen ein Satz Parameter (P1 - P3) ermittelt wird, die als Eingangsgrößen einem Zustandsmodell zugeführt werden, das
seinerseits den Sprachrahmen in Unterrahmen aufteilt und jeden dieser Unterrahmen
in eine von mehreren für die Sprachcodierung typische Klassen einteilt.