-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Spracherkennungssysteme, und insbesondere
betrifft die Erfindung Spracherkennungssysteme, die sich Vokaltraktresonanzen
in der Sprache zu Nutze machen.
-
Bei
der menschlichen Sprache ist ein Großteil der Informationen in
den ersten drei oder vier Resonanzfrequenzen des Sprachsignals enthalten.
Genauer gesagt bedeutet dies, dass, wenn ein Sprecher einen Vokal
ausspricht, die Frequenzen (und zu einem geringeren Grad, die Bandbreiten)
dieser Resonanzen anzeigen, welcher Vokal gesprochen wird.
-
Solche
Resonanzfrequenzen und Resonanzbandbreiten werden in ihrer Gesamtheit
oftmals als Formanten bezeichnet. Im Verlauf der sonoren Sprache,
die typischerweise stimmhaft ist, können Formanten als Spektralprominenzen
in einer Frequenzrepräsentation
des Sprachsignals vorgefunden werden. Im Verlauf der nicht sonoren
Sprache können
die Formanten jedoch nicht direkt als Spektralprominenzen vorgefunden
werden. Aufgrund dieser Tatsache wurde der Begriff „Formanten" mitunter so interpretiert,
dass er sich lediglich auf die sonoren Bestandteile der Sprache
bezog. Um Verwirrung zu vermeiden, verwenden einige Forscher den
Begriff „Vokaltraktresonanz", um sich auf Formanten
zu beziehen, die während
der sonoren und der nicht sonoren Sprache auftreten. In beiden Fällen bezieht
sich die Resonanz lediglich auf den Abschnitt des Oraltraktes des
Vokaltraktes.
-
Um
Formanten zu erfassen, analysierten Systeme des Standes der Technik
den Spektralinhalt eines Rahmens (Frame) eines Sprachsignals. Da
ein Formant bei einer beliebigen Frequenz liegen kann, unternahmen
Systeme des Standes der Technik den Versuch, den Suchraum zu begrenzen,
bevor ein Formantenwert identifiziert wurde, der am wahrscheinlichsten
erschien. In Übereinstimmung
mit einigen Systemen des Standes der Technik wird der Suchraum von
möglichen
Formanten durch Identifizieren von Spit zen in dem Spektralinhalt
des Rahmens reduziert. Typischerweise wird dies durch Verwendung
der linearen Vorhersage (LPC – linear
predictive coding) erreicht, die versucht, ein Polynom zu finden,
das den Spektralinhalt eines Rahmens des Sprachsignals darstellt.
Jede der Wurzeln dieses Polynoms repräsentiert eine mögliche Resonanzfrequenz
in dem Signal und demzufolge einen möglichen Formanten. Auf diese
Weise wird unter Verwendung von LPC der Suchraum auf jene Frequenzen
begrenzt, die Wurzeln des LPC-Polynoms bilden.
-
In
anderen Systemen zum Verfolgen von Formanten entsprechend dem Stand
der Technik wird der Suchraum begrenzt, indem der Spektralinhalt
des Rahmens mit einem Satz aus Spektralmuster, in denen die Formanten
durch einen Experten identifiziert worden sind, verglichen wird.
Die am nächsten
liegenden „n" Muster werden anschließend ausgewählt und
zum Berechnen der Formanten für
den Rahmen verwendet. Auf diese Weise reduzieren diese Systeme den
Suchraum auf jene Formanten, die mit den am nächsten liegenden Mustern assoziiert
sind.
-
In
dem Dokument „Formant
Tracking with Quasilinearization" (G.
Rigoll, 1988, International Conference on Acoustics, Speech, and
Signal Processing ICASSP, 11. April 1988, Seiten 306 bis 310) wird
ein neuer Algorithmus für
die Berechnung von Formant-Spuren aus einem Sprachsignal präsentiert.
Er basiert auf dem Verfahren der Quasilinearisierung, einem Schätzungsverfahren
für nichtlineare
Parameter. Da der Algorithmus Formanten direkt mit Hilfe eines Schätzungsverfahrens
für Parameter
herleitet, stützt
es sich auf ein Modell für die
Spracherzeugung, welches direkt die Formanten als Parameter hat.
-
Ein
System des Standes der Technik, welches durch dieselben Erfinder
wie die der vorliegenden Erfindung entwickelt wurde, verwendete
einen konsistenten Suchraum, der derselbe für jeden Rahmen eines Eingangssignals
war. Jeder Satz von Formanten in dem Suchraum wurde auf einem Merkmalsvektor
abgebildet. Jeder dieser Merkmalsvektoren wurde anschließend auf
ein Modell angewendet, mit dem bestimmt wurde, welcher Satz an Formanten
der wahrscheinlichste ist.
-
Dieses
System funktioniert gut, ist jedoch hinsichtlich des Rechenaufwandes
kostenintensiv, da es typischerweise Mel-Frequenz-Cepstrum-Koeffizienten-Frequenzvektoren verwendet,
die die Anwendung eines Satzes von Frequenzen auf ein komplexes
Filter, das auf sämtlichen
Formanten in dem Satz von Formanten, der abgebildet wird, basiert,
gefolgt von einem Fensterbildungs-Schritt und einem Schritt der
diskreten Kosinustransformation, um die Formanten auf den Merkmalsvektoren
abzubilden, erforderlich machen. Diese Berechnung erwies sich als
zu zeitraubend, als dass sie während
der Laufzeit durchgeführt
werden könnte,
und demzufolge mussten sämtliche
der Sätze
von Formanten vor der Laufzeit abgebildet werden, und die abgebildeten
Merkmalsvektoren mussten in einer sehr großen Tabelle gespeichert werden.
Diese Situation entspricht nicht wirklich dem Idealfall, da es eine
beachtliche Menge an Speicherplatz zum Speichern von sämtlichen
der abgebildeten Merkmalsvektoren erfordert.
-
In
einem weiteren System, das durch die vorliegenden Erfinder entwickelt
worden ist, wird ein Satz an diskreten Vokaltrakt-Resonanzvektoren
in einer Codetabelle gespeichert. Jeder dieser diskreten Vektoren
wird in einen simulierten Merkmalsvektor umgewandelt, der mit einem
eingegebenen Merkmalsvektor verglichen wird, um zu bestimmen, welcher
diskrete Vektor ein eingegebenes Sprachsignal am besten repräsentiert.
Dieses System entspricht nicht wirklich dem Idealfall, da es keine
kontinuierlichen Werte für
die Vokaltrakt-Resonanzvektoren bestimmt, sondern eines der diskreten
Vokaltrakt-Resonanzcodewörter auswählt. Diskretisierte Vokaltrakt-Resonanzvektoren
werden in dem Dokument: „Tracking
vocal tract resonances using an analytical nonlinear predictor and
a target-guided temporal constraint" von Deng L et al, in Proc. Eurospeech
2003, Seiten 73 bis 76 offenbart.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung stellt ein Verfahren zum Verfolgen von Vokaltrakt-Resonanzfrequenz
in einem Sprachsignal gemäß mit Anspruch
1 und ein entsprechendes computerlesbares Medium bereit.
-
Ein
Verfahren und eine Vorrichtung verfolgen Vokaltrakt-Resonanzkomponenten
in einem Sprachsignal. Die Komponenten werden durch Definieren einer
Zustandsgleichung, die in Bezug auf einen vergangenen Vokaltrakt-Resonanzvektor
linear ist und einen aktuellen Vokaltrakt-Resonanzvektor vorhersagt,
verfolgt. Darüber
hinaus wird eine Beobachtungsgleichung definiert, die in Bezug auf
einen aktuellen Vokaltrakt- Resonanzvektor
linear ist und die wenigstens eine Komponente eines Beobachtungsvektors
vorhersagt. Die Zustandsgleichung, die Beobachtungsgleichung und
eine Sequenz von Beobachtungsvektoren werden zum Identifizieren
einer Sequenz von Vokaltrakt-Resonanzvektoren verwendet. In Übereinstimmung
mit einer Ausführungsform
wird die Beobachtungsgleichung auf Basis einer linearen Näherung an
eine nicht lineare Funktion definiert. Die Parameter der linearen
Näherung
werden auf Basis eines Schätzwertes
eines Vokaltrakt-Resonanzvektors ausgewählt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm einer allgemeinen Rechenumgebung, in der die Ausführungsformen
der vorliegenden Erfindung umgesetzt werden können.
-
2 ist
ein Graph des Magnitudenspektrums eines Sprachsignals.
-
3 ist
ein Diagramm, das eine stückweise
lineare Näherung
an eine Exponentialfunktion darstellt.
-
4 ist
ein Diagramm, das eine stückweise
lineare Näherung
an eine Sinusfunktion darstellt.
-
5 ist
ein Ablaufdiagramm eines Verfahrens in Übereinstimmung mit der vorliegenden
Erfindung.
-
6 ist
ein Blockdiagramm eines Trainingssystems zum Trainieren eines Restwertmodells.
-
7 ist
ein Blockdiagramm eines Systems zum Verfolgen von Formanten in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ILLUSTRATIVEN
AUSFÜHRUNGSFORMEN
-
1 illustriert
ein Beispiel einer geeigneten Rechensystemumgebung 100,
in der die Erfindung implementiert werden kann. Die Rechensystemumgebung 100 ist
lediglich ein Beispiel einer geeigneten Rechenumgebung, und es ist
nicht beabsichtigt, dass sie irgendeine Einschränkung hinsichtlich des Umfanges
der Verwendung oder der Funktionalität der Erfindung suggeriert.
Darüber
hinaus sollte die Rechenumgebung 100 auch nicht dahingehend
interpretiert werden, dass sie in irgendeiner Form eine Abhängigkeit
hinsichtlich einer beliebigen oder einer Kombination der in der
exemplarischen Betriebsumgebung 100 dargestellten Komponenten
aufweist oder dass diese zwingend erforderlich sind.
-
Die
Erfindung kann mit einer Vielzahl von anderen Universal- oder Spezialrechensystemumgebungen oder
-konfigurationen betrieben werden. Beispiele von gut bekannten Rechenssystemen,
Rechenumgebungen und/oder Rechenkonfigurationen, die möglicherweise
für die
Verwendung mit der Erfindung geeignet sind, umfassen, sind jedoch
nicht beschränkt
auf, Personalcomputer, Servercomputer, Handgeräte oder Laptop-Vorrichtungen, Multiprozessorsysteme,
auf Mikroprozessoren basierende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronikgeräte, Netzwerk-PCs,
Minicomputer, Großrechner,
Telefoniesysteme, verteilte Rechenumgebungen, die beliebige der
voranstehend erwähnten
Systeme oder Vorrichtungen umfassen, oder Ähnliches.
-
Die
Erfindung kann im allgemeinen Kontext von durch Computer ausführbaren
Befehlen, wie beispielsweise Programmmodulen, die durch einen Computer
ausgeführt
werden, beschrieben werden. Im Allgemeinen umfassen Programmmodule
Routinen, Programme, Objekte, Komponenten, Datenstrukturen, und
so weiter, die bestimmte Aufgaben ausführen oder bestimmte abstrakte
Datentypen implementieren. Die Erfindung ist so eingerichtet, dass
sie in verteilten Rechenumgebungen umgesetzt wird, in denen Aufgaben
durch dezentrale Verarbeitungsvorrichtungen, die über ein
Kommunikationsnetzwerk verbunden sind, ausgeführt werden. In einer verteilten
Rechenumgebung sind Programmmodule sowohl in lokalen als auch dezentralen Computerspeichermedien
einschließlich
Speichervorrichtungen angeordnet.
-
In
Bezug auf 1 umfasst ein exemplarisches
System zum Implementieren der Erfindung eine Universalrechenvorrichtung
in Form eines Computers 110. Komponenten des Computers 110 können eine
Verarbeitungseinheit 120, einen Systemspeicher 130 und einen
Systembus 121, der verschiedene Systemkomponenten einschließlich des
Systemspeichers mit der Verarbeitungseinheit 120 koppelt,
umfassen, sie sind jedoch nicht auf die Genannten beschränkt. Der
Systembus 121 kann ein beliebiger von mehreren Typen von Busstrukturen
einschließlich
eines Speicherbuses oder einer Speichersteuereinheit, eines Peripheriebuses und
eines lokalen Buses, der eine beliebige Architektur von einer Reihe
verschiedener Busarchitekturen verwendet, sein. Im Sinne eines Beispiels
und nicht im restriktiven Sinne zu erachten, umfassen solche Architekturen
den ISA-(Industry Standard Architecture) Bus, den MCA-(Micro Channel
Architecture) Bus, den EISA-(Enhanced ISA) Bus, den lokalen VESA-(Video
Electronics Standards Association) Bus, und den PCI-(Peripheral
Component Interconnect) Bus, ebenfalls bekannt als Mezzanine-Bus.
-
Der
Computer 110 umfasst typischerweise eine Reihe verschiedener
computerlesbarer Medien. Computerlesbare Medien können beliebige
verfügbare
Medien sein, auf die durch den Computer 110 zugegriffen werden
kann, und sie umfassen sowohl flüchtige
als auch nicht-flüchtige
Medien, entnehmbare und nicht-entnehmbare Medien. Im Sinne eines
Beispiels und nicht im restriktiven Sinne zu erachten, können computerlesbare
Medien Computerspeichermedien und Kommunikationsmedien umfassen.
Computerspeichermedien umfassen sowohl flüchtige als auch nicht-flüchtige,
entnehmbare und nicht-entnehmbare Medien, die in einem beliebigen
Verfahren oder einer Technologie zum Speichern von Informationen
wie beispielsweise computerlesbaren Anweisungen, Datenstrukturen,
Programmmodulen oder anderen Daten implementiert sind. Computerspeichermedien
umfassen, sind jedoch nicht beschränkt auf einen Direktzugriffspeicher
RAM, einen Festwertspeicher ROM, einen elektronisch löschbaren
programmierbaren Lesespeicher EEPROM, einen Flash-Speicher oder eine
andere Speichertechnologie, CD-ROM, DVD (Digital Versatile Disk)
oder andere optische Plattenspeicher, Magnetkassetten, ein Magnetband,
einen Magnetplattenspeicher oder andere Magnetspeichervorrichtungen
oder ein beliebiges anderes Medium, das zum Speichern der gewünschten
Informationen verwendet werden kann und auf das durch den Computer 110 zugegriffen
werden kann. Kommunikationsmedien verkörpern typischerweise computerlesbare
Befehle, Datenstrukturen, Programmmodule oder andere Daten in einem
modulierten Datensignal, wie beispielsweise einer Trägerwelle
oder einem anderen Transportmechanismus und umfassen beliebige Informationsübertragungsmedien.
Der Begriff „moduliertes
Datensignal" bezeichnet
ein Signal, bei dem eine oder mehrere seiner Eigen schaften so eingestellt
oder verändert
sind, dass Informationen in dem Signal kodiert werden. Im Sinne
eines Beispiels und nicht im restriktiven Sinne zu erachten, umfassen
Kommunikationsmedien verdrahtete Medien, wie beispielsweise ein
verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung, sowie
drahtlose Medien, wie beispielsweise akustische, HF-, Infrarot-
oder andere drahtlose Medien. Kombinationen beliebiger der voranstehend
Erwähnten
sollten ebenfalls in den Umfang der computerlesbaren Medien einbezogen
werden.
-
Der
Systemspeicher 130 enthält
Computerspeichermedien in Form eines flüchtigen und/oder eines nicht-flüchtigen
Speichers, wie beispielsweise eines Festwertspeichers (ROM) 131 und
eines Direktzugriffsspeichers (RAM) 132. Ein Basis-Eingabe/Ausgabesystem 133 (BIOS),
das die allgemeinen Routinen enthält, welche das Übertragen
von Informationen zwischen den Elementen innerhalb des Computers 110,
wie beispielsweise während
des Hochfahrens unterstützt,
ist in dem ROM 131 gespeichert. Der RAM 132 enthält typischerweise
Daten und/oder Programmmodule, auf die unmittelbar durch die Verarbeitungseinheit 120 zugegriffen
werden kann und/oder die gleichzeitig durch die Verarbeitungseinheit 120 verarbeitet
werden. Im Sinne eines Beispiels und nicht im restriktiven Sinne
zu erachten, illustriert 1 ein Betriebssystem 134,
Anwendungsprogramme 135, weitere Programmmodule 136 und
Programmdaten 137.
-
Der
Computer 110 kann darüber
hinaus auch andere entnehmbare/nicht-entnehmbare flüchtige/nicht-flüchtige Computerspeichermedien
umfassen. Im Sinne eines Beispiels illustriert 1 ein
Festplattenlaufwerk 141 zum Lesen von oder Schreiben auf
nichtentnehmbare, nicht-flüchtiges
Magnetmedien, ein Magnetplattenlaufwerk 151 zum Lesen von
oder Schreiben auf eine entnehmbare, nicht-flüchtige Magnetplatte 152,
sowie ein optisches Plattenlaufwerk 155 zum Lesen von oder
Schreiben auf eine entnehmbare, nicht-flüchtige optische Platte 156,
wie beispielsweise eine CD-ROM oder andere optische Medien. Weitere entnehmbare/nicht-entnehmbare
flüchtige/nicht-flüchtige Computerspeichermedien,
die in der exemplarischen Betriebsumgebung verwendet werden können, umfassen,
sind jedoch nicht beschränkt
auf Magnetbandkassetten, Flash-Speicherkarten,
DVDs (Digital Versatile Disks), digitales Videoband, Solid State
RAM, Solid State ROM und Ähnliches.
Das Festplattenlaufwert 141 ist typischerweise über eine
Schnittstelle für
nicht-entnehmbare Speicher, wie beispielsweise die Schnittstelle 140 mit
dem Systembus 121 verbunden, und das Magnetplattenlaufwerk 151 und
das opti sche Plattenlaufwerk 155 sind typischerweise durch
eine Schnittstelle für entnehmbare
Speicher, wie beispielsweise die Schnittstelle 150 mit
dem Systembus verbunden.
-
Die
Laufwerke und ihre verbundenen Computerspeichermedien, die voranstehend
diskutiert wurden und in 1 dargestellt sind, stellen
das Speichern von computerlesbaren Befehlen, Datenstrukturen, Programmmodulen
und anderen Daten für
den Computer 110 bereit. In 1 wird das
Festplattenlaufwert 141 beispielsweise so dargestellt,
dass es das Betriebssystem 144, Anwendungsprogramme 145,
andere Programmmodule 146 sowie Programmdaten 147 speichert.
Hierbei ist zu beachten, dass diese Komponenten entweder dieselben
sein können,
wie die des Betriebssystems 134, der Anwendungsprogramme 135 oder
der anderen Programmmodule 136 und der Programmdaten 137 oder
auch von diesen abweichen können.
Das Betriebssystem 144, die Anwendungsprogramme 145 oder
die anderen Programmmodule 146 sowie die Programmdaten 147 werden
hier mit anderen Zahlen versehen, um zu illustrieren, dass es sich
hierbei wenigstens um unterschiedliche Kopien handelt.
-
Ein
Benutzer kann Befehle und Informationen über Eingabegeräte, wie
beispielsweise eine Tastatur 162, ein Mikrofon 163 und
eine Zeigevorrichtung 161, wie beispielsweise eine Maus,
ein Trackball oder ein Touchpad in den Computer 110 eingeben.
Andere Eingabegeräte
(nicht dargestellt) können
einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner oder Ähnliches
umfassen. Diese und andere Eingabegeräte sind oftmals über eine
Benutzereingabeschnittstelle 160, die an den Systembus
angeschlossen ist, mit der Verarbeitungseinheit 120 verbunden,
wobei die Eingabegeräte
auch durch andere Schnittstellen und Busstrukturen, wie beispielsweise
einen Parallelanschluss, einen Gameanschluss oder einen Universal
Serial Bus (USB) verbunden sein können. Ein Monitor 191 oder
ein anderer Typ von Anzeigegerät
ist ebenfalls über
eine Schnittstelle, wie beispielsweise einen Videoadapter 190 mit
dem Systembus 121 verbunden. Zusätzlich zu dem Monitor können Computer
auch andere Peripherieausgabegeräte,
wie beispielsweise Lautsprecher 197 und Drucker 196 umfassen,
die über
eine Ausgabeperipherieschnittstelle verbunden sein können.
-
Der
Computer 110 wird in einer vernetzten Umgebung unter Verwendung
von logischen Verbindungen zu einem oder mehreren dezentralen Computern,
wie beispielsweise dem dezentralen Computer 180 betrieben.
Bei dem dezentralen Computer 180 kann es sich um einen
Personalcomputer, ein Handgerät,
einen Server, einen Router, einen Netzwerk-PC, ein Partnergerät oder einen
anderen allgemeinhin verwendeten Netzwerkknoten handeln, und er
umfasst typischerweise viele oder sämtliche der voranstehend im
Zusammenhang mit dem Computer 110 beschriebenen Elemente.
Die in 1 dargestellten logischen Verbindungen umfassen ein
Local Area Network (LAN) 171 und ein Wide Area Network
(WAN) 173, sie können
jedoch auch andere Netzwerke umfassen. Solche Netzwerkumgebungen
sind in Büros,
unternehmensweiten Computernetzwerken, Intranets und dem Internet
weit verbreitet.
-
Wenn
der Computer 110 in einer LAN-Netzwerkumgebung verwendet
wird, ist er über
eine Netzwerkschnittstelle oder einen Adapter 170 an das
lokale Netz LAN 171 angeschlossen. Wenn der Computer 110 in einer
WAN-Netzwerkumgebung verwendet wird, umfasst er typischerweise ein
Modem 172 oder eine andere Vorrichtung zum Herstellen von
Verbindungen über
das Wide Area Network (WAN) 173, wie beispielsweise dem
Internet. Das Modem 172, das ein internes oder ein externes
Modem sein kann, ist über
die Benutzereingabeschnittstelle 160 oder einen anderen
geeigneten Mechanismus an den Systembus 121 angeschlossen. In
einer Netzwerkumgebung können
die im Zusammenhang mit dem Computer 110 dargestellten
Programmmodule oder Abschnitte davon in der dezentralen Speichervorrichtung
gespeichert sein. Im Sinne eines Beispiels und nicht im restriktiven
Sinne zu erachten, illustriert 1 dezentrale
Anwendungsprogramme 185, die auf dem dezentralen Computer 180 installiert
sind. Es wird offensichtlich sein, dass die dargestellten Netzwerkverbindungen
exemplarischen Charakter besitzen und dass andere Vorrichtungen
zum Herstellen einer Kommunikationsverbindung zwischen den Computern
verwendet werden können.
-
2 ist
ein Graph des Frequenzspektrums eines Abschnittes menschlicher Sprache.
In 2 wird die Frequenz entlang der horizontalen Achse 200 dargestellt,
und die Magnitude der Frequenzkomponenten wird entlang der vertikalen
Achse 202 dargestellt. Der Graph von 2 zeigt,
dass sonore menschliche Sprache Resonanzen oder Formanten enthält, so wie
beispielsweise den ersten Formant 204, den zweiten Formant 206,
den dritten Formant 208 und den vierten Formant 210.
Jeder Formant wird durch seine Mittenfrequenz, F, und seine Bandbreite,
B, beschrieben.
-
Die
vorliegende Erfindung stellt Verfahren zum Identifizieren von Frequenzen
und Bandbreiten von Formanten in einem Sprachsignal in einem kontinuierlichen
Bereich von Formanten-Frequenzen und Formanten-Bandbreiten, sowohl
in der sonoren als auch in der nicht sonoren Sprache bereit. Dementsprechend
ist die vorliegende Erfindung in der Lage, Vokaltrakt-Resonanzfrequenzen
und Vokaltrakt-Resonanzbandbreiten zu verfolgen.
-
Um
dieses Ziel zu erreichen, erstellt die vorliegende Erfindung ein
Modell der versteckten Vokaltrakt-Resonanzfrequenzen und Vokaltrakt-Resonanzbandbreiten
als eine Sequenz von versteckten Zuständen, die jeweils eine Beobachtung
erzeugen. In einer bestimmten Ausführungsform wird ein Modell
der versteckten Vokaltrakt-Resonanzfrequenzen
und Vokaltrakt-Resonanzbandbreiten unter Verwendung einer Zustandsgleichung
erstellt, die wie folgt lautet:
und einer Beobachtungsgleichung,
die wie folgt lautet, erstellt:
wobei x
t,
ein versteckter Vokaltrakt-Resonanzvektor zum Zeitpunkt t ist, der
aus x
t = {f
1, b
1, f
2, b
2,
f
3, b
3, f
4, b
4} gebildet ist,
x
t–1 ist
ein versteckter Vokaltrakt-Resonanzvektor zu einem vorhergehenden
Zeitpunkt t–1,
I ist die Identitätsmatrix,
T ist ein Zielvektor für
die Vokaltrakt-Resonanzfrequenzen und die Vokaltrakt-Resonanzbandbreiten,
w
t ist Geräusch in der Zustandsgleichung,
o
t ist ein beobachteter Vektor, C(x
t) ist eine Abbildungsfunktion von dem versteckten
Vokaltrakt-Resonanzvektor auf den Beobachtungsvektor, und ν
t,
ist das Geräusch
in der Beobachtung. In Übereinstimmung
mit einer Ausführungsform
ist Φ eine
diagonale Matrix, bei der jeder Eintrag einen Wert zwischen 0,7
und 0,9 aufweist, der empirisch bestimmt worden ist, und T ist ein
Vektor, der in einer Ausführungsform
den folgenden Wert aufweist:
(500 1500 2500 3500 200 300 400
400)
T
-
In Übereinstimmung
mit dieser Ausführungsform
weisen die Geräuschvektoren
wt und νt Werte auf, die durch Gaußsche Zufallsmuster
mit einem gemittelten Null-Vektor und mit diagonalen Kovarianzmatrizen bestimmt
werden. Die diagonalen Elemente dieser Matrizen in dieser Ausführungsform
weisen Werte zwischen 10 und 30.000 für wt und
Werte zwischen 0,8 und 78 für νt auf.
-
In Übereinstimmung
mit einer Ausführungsform
ist der beobachtete Vektor ein LPC-(Linear Predictive Coding – Linearvorhersage)
Cepstrum-Vektor, bei dem jede Komponente des Vektors eine LPC-Ordnung
darstellt. Als Ergebnis kann die Abbildungsfunktion C(x
t)
auf genaue Weise durch eine analytische nicht lineare Funktion bestimmt
werden. Die n-te Komponente der vektor-gewerteten Funktion C(x
t) für
den Rahmen t ist:
wobei
C
n(x
t) das n-te
Element in einer N-ten Ordnung des LPC-Cepstrum-Merkmalsvektors ist, K ist die Anzahl von
Vokaltrakt-Resonanz-(VTR) Frequenzen, f
k(t)
ist die k-te VTR-Frequenz für
den Rahmen t, b
k(t) ist die k-te VTR-Bandbreite
für den
Rahmen t, und f
3 ist die Abtastfrequenz,
die in vielen Ausführungsformen
bei 8 kHz liegt und die in anderen Ausführungsformen 16 kHz beträgt. Das
C
0-Element wird so eingestellt, dass es
logG entspricht, wobei G eine Verstärkung ist.
-
Um
eine Sequenz von versteckten Vokaltrakt-Resonanzvektoren aus einer
Sequenz von Beobachtungsvektoren zu identifizieren, verwendet die
vorliegende Erfindung ein Kalman-Filter. Ein Kalman-Filter stellt ein
rekursives Verfahren bereit, mit dessen Hilfe man einen besten Schätzwert der
kontinuierliche Werte aufweisenden Vokaltrakt-Resonanzvektoren in dem linearen dynamischen
System, das durch die Gleichungen 1 und 2 repräsentiert wird, bestimmen kann.
Solche Kalman-Filter sind auf dem Gebiet der Technik gut bekannt.
-
Das
Kalman-Filter erfordert, dass die rechte Seite der Gleichungen 1
und 2 in Bezug auf den versteckten Vokaltrakt-Resonanzvektor linear
ist. Die in Gleichung 3 dargestellte Abbildungsfunktion ist jedoch
in Bezug auf den Vokaltrakt-Resonanzvektor nicht linear. Um dieses
Problem zu lösen,
verwendet die vorliegende Erfindung stückweise lineare Näherungen
anstelle des Exponententerms und des Kosinusterms in Gleichung 3.
In Übereinstimmung
mit einer Ausführungsform
wird der Exponententerm durch fünf
lineare Bereiche dargestellt, und der Kosinusterm wird durch zehn
lineare Bereiche dargestellt.
-
3 zeigt
ein Beispiel einer stückweise
linearen Näherung
an den Exponententerm in Gleichung 3. Der Wert des Exponenten wird
entlang der vertikalen Achse 300 dargestellt, und der Wert
der Bandbreite bk für die k-te VTR-Bandbreite wird
entlang der horizontalen Achse 302 dargestellt. In 3 werden
fünf lineare Segmente 304, 306, 308, 310 und 312 für die Näherung des
Graphs des Exponenten 314 verwendet. Die folgende Tabelle
stellt Bereiche von Exponentenwerten dar, die jedes der linearen
Segmente abdeckt.
-
-
4 zeigt
ein Beispiel einer stückweise
linearen Näherung
an den Kosinusterm in Gleichung 3. Der Wert der Kosinusfunktion
wird entlang der vertikalen Achse 400 dargestellt, und
der Wert der Frequenz fk für die k-te
VTR-Frequenz wird entlang der horizontalen Achse 402 dargestellt.
In 4 wird ein einzelner Zyklus der Kosinusfunktion
dargestellt, es wird den Personen mit der gewöhnlichen Erfahrung auf dem
Gebiet der Technik jedoch offensichtlich sein, dass dieselben stückweise
linearen Näherungen
für jeden
Zyklus der Kosinusfunktion verwendet werden können. In Übereinstimmung mit 4 wird
die Kosinusfunktion 424 um zehn lineare Segmente 404, 406, 408, 410, 412, 414, 416, 418, 420 und 422 genähert. Die
untenstehende Tabelle 2 stellt den nicht einheitlichen Bereich von
Kosinuswerten dar, die durch jedes lineare Segment abgedeckt sind,
wobei angenommen wird, dass der volle Zyklus den Frequenzbereich
von 0 Hz bis 8000 Hz abdeckt.
-
-
Durch
Verwendung dieser linearen Näherungen
wird die Gleichung 3 wie folgt umgestellt:
wobei α
kx der
Anstieg ist und β
kx der Abschnitt des linearen Segmentes ist,
der den Exponententerm nähert, γ
kx ist
der Anstieg, und δ
kx ist der Abschnitt des linearen Segmentes,
der den Kosinusterm nähert.
Hierbei ist zu beachten, dass alle vier Terme von x
t abhängen, da
die linearen Segmente, die zum Nähern
der nicht linearen Funktionen verwendet werden, auf Basis des Bereiches
ausgewählt
werden, der durch den Wert von x
t in Übereinstimmung
mit Tabelle 1 und Tabelle 2 bestimmt wird.
-
Die
Form der Abbildungsfunktion in Gleichung 4 ist aufgrund des quadratischen
Terms in xt immer noch nicht linear. In Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung wird der ansteigende Abschnitt dieses
Terms nicht berücksichtigt,
was in einer linearen Gleichung von xt zu
Cn(xt) resultiert.
-
In
dieser Form wird, so lange die Parameter auf Basis der Bereiche
des in den Tabellen 1 und 2 exemplarisch dargestellten Segmentes
festgelegt werden, ein Kalman-Filter direkt angewendet, um die Sequenz von
kontinuierlich gewerteten Zuständen
x1:T aus einer Sequenz von beobachteten
LPC-Merkmalsvektoren o1:T zu erhalten.
-
5 stellt
ein allgemeines Ablaufdiagramm eines Verfahrens zum Auswählen von
linearen Näherungen
und zum Verwenden der Näherung
in einem Kalman-Filter, um eine Sequenz von kontinuierlich gewerteten
Zuständen
unter Verwendung der Gleichungen 1, 2 und 4 zu erhalten, wobei der
ansteigenden Abschnitt des quadratischen Terms in Gleichung 4 nicht
berücksichtigt
wird, dar. Die 6 und 7 stellen
Blockdiagramme von Komponenten, die in dem in 5 dargestellten
Verfahren verwendet werden, dar.
-
In
Schritt 500 der 5 wird eine Vokaltraktresonanz-(VTR)
Codetabelle, die in einer Tabelle gespeichert wird, durch Quantisieren
der möglichen
VTR-Frequenzen und VTR-Bandbreiten,
um einen Satz von quantisierten Werten zu bilden, und um anschließend Einträge für verschiedene
Kombinationen der quantisierten Werte zu bilden, dargestellt. Auf
diese Weise enthält
die resultierende Codetabelle Einträge, die Vektoren der VTR-Frequenzen und der
VTR-Bandbreiten sind. Wenn beispielsweise die Codetabelle Einträge für vier VTR
enthält,
wäre der
i-te Einträg
x[i] in der Codetabelle ein Vektor aus [F1i,
B1i, F2i, B2i, F3i, B3i, F4i, B4i], wobei F1i, F2i, F3i und F4i die Frequenzen der ersten, der zweiten,
der dritten und der vierten VTR sind, und B1i,
B2i, B3i und B4i die Bandbreiten der ersten, der zweiten,
der dritten und der vierten VTR sind. In der untenstehenden Diskussion
wird der Index der Codetabelle austauschbar mit dem Wert verwendet,
der an diesem Index gespeichert ist x[i]. Wenn der Index untenstehend
allein verwendet wird, wird es beabsichtigt, den Wert zu repräsentieren,
der an diesem Index gespeichert ist.
-
In Übereinstimmung
mit einer Ausführungsform
werden die Formanten und die Bandbreiten entsprechend den Einträgen in der
untenstehenden Tabelle 3 quantisiert, wobei Min(Hz) der Mindestwert
für die
Frequenz oder die Bandbreite in Hertz ist, Max(Hz) der Höchstwert
in Hertz ist, und „Num.
Quant." die Anzahl
von Quantisierungszuständen
ist. Für
die Frequenzen und die Bandbreiten wird der Bereich zwischen dem
Mindestwert und dem Höchstwert
durch die Anzahl von Quantisierungszuständen dividiert, um die Trennung
zwischen einem jeden der Zustände
zu erhalten. So wird beispielsweise für die in Tabelle 3 dargestellte
Bandbreite B1 der Bereich von 260 Hz gleichmäßig durch
die 5 Quantisierungszustände
dividiert, so dass ein jeder Zustand um 65 Hz von den anderen Zuständen getrennt
ist (das heißt,
40, 105, 170, 235, 300).
-
-
Die
Anzahl der Quantisierungszustände
in Tabelle 3 könnte
eine Gesamtanzahl von mehr als 100 Millionen unterschiedlichen Sätzen von
VTR ergeben. Aufgrund der Einschränkung F1 < F2 < F3 < F4 sind jedoch wesentlich
weniger Sätze
von VTR in der Codetabelle vorhanden.
-
Nachdem
die Codetabelle gebildet worden ist, werden die Einträge in der
Codetabelle verwendet, um in Schritt
502 die Parameter
zu trainieren, die eine Restwert-Zufallsvariable
beschreiben. Die Restwert-Zufallsvariable ist die Differenz zwischen
einem Satz von Beobachtungstrainings-Merkmalsvektoren und einem
Satz von simulierten Merkmalsvektoren. In Form einer Gleichung ausgedrückt, bedeutet
dies Folgendes:
wobei ν
t der
Restwert ist, o
t der beobachtete Trainings-Merkmalsvektor
zum Zeitpunkt t ist und S(x
t[i]) ein simulierter
Merkmalsvektor ist.
-
Wie
dies in
6 dargestellt ist, werden die
simulierten Merkmalsvektoren S(x
t[i])
610 bei
Bedarf durch Anwenden eines Satzes von VTR x
t[i]
in der VTR-Codetabelle
600 auf eine LPC-Cepstrum-Recheneinrichtung
602 erzeugt,
wobei der Rechner die folgende Gleichung ausführt:
wobei
S
n(x
t[i]) das n-te
Element in einem LPC-Cepstrum-Merkmalsvektor der n-ten Ordnung ist,
K ist die Anzahl an VTR, f
t ist die k-te
VTR-Frequenz, b
k ist die k-te VTR-Bandbreite, und f
S ist die Abtastfrequenz, die in vielen Ausführungsformen
bei 8 Hz liegt. Das S
0-Element wird so eingestellt,
dass es logG entspricht, wobei G eine Verstärkung ist.
-
Um
die beobachteten Trainings-Merkmalsvektoren ot zu
erzeugen, die zum Trainieren des Restwert-Modells verwendet werden,
erzeugt ein menschlicher Sprecher 612 ein akustisches Signal,
das durch ein Mikrofon 616 erfasst wird, welches ebenfalls
Zusatzgeräusch 614 erfasst.
Das Mikrofon 616 wandelt die akustischen Signale in ein
analoges elektrisches Signal um, das einem Analog/Digital-(A/D)
Wandler 618 zugeführt wird.
Das analoge Signal wird durch den Analog/Digital-(A/D) Wandler 618 bei
der Abtastfrequenz f abgetastet, und die resultierenden Abtastwerte
werden in digitale Werte umgewandelt. In einer Ausführungsform
tastet der Analog/Digital-(A/D) Wandler 618 das analoge
Signal bei 8 Hz mit 16 Bits pro Abtastwert ab, wodurch 16 Kilobytes
an Sprachdaten pro Sekunde erzeugt werden. In anderen Ausführungsformen
tastet der Analog/Digital-(A/D) Wandler 618 das analoge
Signal bei 16 Hz ab. Die digitalen Abtastwerte werden einer Rahmen-Erzeugungseinrichtung 620 zugeführt, die
die Abtastwerte in Rahmen gruppiert. In Übereinstimmung mit einer Ausführungsform
erzeugt die Rahmenerzeugungseinrichtung 620 aller 10 Millisekunden
einen neuen Rahmen, der Daten einer Menge von 25 Millisekunden enthält.
-
Die
Rahmen von Daten werden einer LPC-Cepstrum-Merkmals-Extrahiereinrichtung 622 zugeführt, die
das Signal unter Verwendung der schnellen Fourier-Transformation
(Fast Fourier Transformation – FFT) 624 in
den Frequenzbereich umwandelt und anschließend unter Verwendung eines
LPC-Koeffizientensystems 626 ein Polynom identifiziert,
das den Spektralinhalt eines Rahmens des Sprachsignals repräsentiert.
Die LPC-Koeffzienten
werden unter Verwendung einer Rekursion 628 in LPC-Cepstrum- Koeffizienten umgewandelt.
Die Ausgabe der Rekursion ist ein Satz von Trainings-Merkmalsvektoren 630,
die das Trainings-Sprachsignal repräsentieren.
-
Die
simulierten Merkmalsvektoren 610 und die Trainings-Merkmalsvektoren 630 werden
der Restwert-Trainingseinrichtung 632 zugeführt, die
die Parameter für
den Restwert νt trainiert.
-
In Übereinstimmung
mit einer Ausführungsform
ist νt ein einzelner Gaußscher Wert mit dem Mittelwert h
und einer Präzision
D, wobei h ein Vektor mit einem separaten Mittelwert für jede Komponente
des Merkmalsvektors ist und D eine diagonale Präzisionsmatrix mit einem separaten
Wert für
jede Komponente des Merkmalsvektors ist.
-
Diese
Parameter werden in Übereinstimmung
mit einer Ausführungsform
unter Verwendung eines Expectation-Maximization-(EM) Algorithmus
trainiert. Während
des E-Schrittes
dieses Algorithmus wird eine Posteriorwahrscheinlichkeit γ
t (i)
= p(x
t[i]∣o
t N) bestimmt. In Übereinstimmung mit einer Ausführungsform
wird diese Posteriorwahrscheinlichkeit unter Verwendung einer Vorwärts-Rückwärts-Rekursion
bestimmt, die folgendermaßen
definiert ist:
wobei
p
t(i) und σ
t(i)
rekursiv folgendermaßen
bestimmt werden:
-
In Übereinstimmung
mit einem Aspekt der Erfindung werden die Übergangswahrscheinlichkeiten p(x
t[i]∣x
t–1[j])
und p(x
t[i]∣x
t+1[j])
unter Verwendung der obenstehenden Gleichung 1 bestimmt, die an
dieser Stelle unter Verwendung der Indexbezeichnung der Codetabelle
aus Gründen
eines leichteren Verständnisses
wiederholt wird:
wobei x
t[i]
der Wert der VTR an dem Rahmen t ist, x
t–1[j]
ist der Wert der VTR an dem vorhergehenden Rahmen t – 1, Φ ist eine
Rate, T ist ein Ziel für
die VTR, die mit dem Rahmen t assoziiert sind, und w
t ist
das Geräusch an
dem Rahmen t, von dem in einer Ausführungsform angenommen wird,
dass er in einer Ausführungsform ein
gemittelter Gaußscher
Nullwert mit einer Präzisionsmatrix
B ist.
-
Durch
Verwendung dieses dynamischen Modells können die Übergangswahrscheinlichkeiten
als Gaußsche
Funktionen beschrieben werden:
-
Alternativ
dazu kann die Posteriorwahrscheinlichkeit γ
t(i)
= p(x
t[i]∣o
t N) dadurch geschätzt werden, dass es so eingerichtet
wird, dass die Wahrscheinlichkeit lediglich von dem aktuellen Beobachtungsvektor
und nicht der Sequenz von Vektoren abhängig ist, so dass die Posteriorwahrscheinlichkeit
folgenden Ausdruck annimmt:
die folgendermaßen berechnet
werden kann:
wobei
der
Mittelwert des Restwertes ist, und
die
Präzision
des Restwertes, wie dieser anhand einer vorhergehenden Iteration
des EM-Algorithmus bestimmt wurde, oder wie dieser anfänglich eingestellt
wird, wenn es sich um die erste Iteration handelt, ist.
-
Nachdem
der E-Schritt durchgeführt
ist, um die Posteriorwahrscheinlichkeit γ
t(i)
= p(x
t[i]∣o
t N) zu identifizieren, wird ein M-Schritt
durchgeführt,
um den Mittelwert h und jedes diagonale Element d
–1 der
Varianz D
–1 (das
Inverse der Präzisionsmatrix)
des Restwertes unter Verwendung der folgenden Gleichungen zu bestimmen:
wobei
N die Anzahl von Rahmen in der Trainings-Aussprache ist, I ist die
Anzahl von Quantisierungskombinationen für die VTR, o
t ist
der beobachtete Merkmalsvektor zum Zeitpunkt t und S(x
t[i])
ist ein simulierter Merkmalsvektor für die VTR x
t[i].
-
Die
Restwert-Trainingseinrichtung 632 aktualisiert den Mittelwert
und die Varianz mehrere Male durch Iterieren des E-Schrittes und
des M-Schrittes, wobei jedes Mal der Mittelwert und die Varianz
der vorhergehenden Iteration verwendet werden. Nachdem der Mittelwert
und die Varianz stabile Werte erreicht haben, werden sie als Restwert-Parameter 634 gespeichert.
-
Wenn
die Restwert-Parameter 634 erzeugt worden sind, können sie
in Schritt 504 von 5 verwendet
werden, um die VTR-Vektoren in einem eingegebenen Sprachsignal zu
identifizieren. Ein Blockdiagramm eines Systems zum Identifizieren
von VTR-Vektoren
ist in 7 dargestellt.
-
In 7 wird
durch einen Sprecher 712 ein Sprachsignal erzeugt. Das
Sprachsignal sowie zusätzliches
Geräusch 714 werden
durch ein Mikrofon 716, einen A/D-Wandler 718,
eine Rahmen-Erzeugungseinrichtung 722 und eine Merkmals-Extrahiereinrichtung 722,
die aus einer Fast Fourier Transformation FTT 724 gebildet
ist, einem LPC-System 726 und einer Rekursion 728 in
einen Strom von Merkmalsvektoren 730 umgewandelt.
-
Hierbei
ist zu beachten, dass das Mikrofon 716, der A/D-Wandler 718,
die Rahmen-Erzeugungseinrichtung 720 und
die Merkmals-Extrahiereinrichtung 722 auf ähnliche
Weise wie das Mikrofon 616, der A/D-Wandler 618,
die Rahmen-Erzeugungseinrichtung 620 und die Merkmals-Extrahiereinrichtung 622 aus 6 arbeiten.
-
Der
Strom an Merkmalsvektoren
730 wird zusammen mit den Restwert-Parametern
634 und
den simulierten Merkmals-Vektoren
610 einer VTR-Verfolgungseinrichtung
732 zugeführt. Die
VTR-Verfolgungseinrichtung
732 verwendet ein dynamisches
Programmieren, um eine Sequenz der wahrscheinlichsten VTR-Vektoren
734 zu
identifizieren. Genauer gesagt, verwendet die Einrichtung einen
Viterbi-Decodierungsalgorithmus, bei dem jeder Knoten in dem Trellis-Diagramm
einen optimalen Teilwert hat, der wie folgt lautet:
-
Auf
Basis des Optimalitätsprinzips
kann die optimale Teilwahrscheinlichkeit in der Verarbeitungsstufe von
t + 1 unter Verwendung der folgenden Viterbi-Rekursion berechnet
werden:
-
In
Gleichung 18 wird die „Übergangs"-Wahrscheinlichkeit
p(x
t+1[i] = x[i]∣x
t[i]
= x[i']) unter Verwendung der
voranstehenden Zustandsgleichung 10 zum Erzeugen einer Gaußschen Verteilung,
die wie folgt definiert ist, berechnet:
wobei Φx
t[i]
+ (I – Φ)T der Mittelwert
der Verteilung ist und B die Präzision
der Verteilung ist.
-
Die
Beobachtungswahrscheinlichkeit p(o
t+1∣x
1+j[i] = x[i]) von Gleichung 18 wird als
ein Gaußscher
Wert behandelt und wird anhand der Beobachtungsgleichung 5 und den
Restwert-Parametern h und D auf eine solche Weise berechnet, dass
sich Folgendes ergibt:
-
Das
Zurückverfolgen
des optimalen Quantisierungsindexes i' in Gleichung 20 liefert die anfängliche VTR-Sequenz 734.
-
Um
die Anzahl von Rechenschritten zu reduzieren, die durchgeführt werden
müssen,
kann anstelle der strengen Viterbi-Suche eine Suche mit Pruning-Technik
und Verwerfen eines Strahls (pruning beam search) durchgeführt werden.
In einer Ausführungsform
wird eine extreme Form des Verwerfens (Pruning) durchgeführt, bei
der lediglich ein Index für
jeden Rahmen identifiziert wird.
-
Nachdem
die anfängliche
VTR-Sequenz 734 in Schritt 504 identifiziert worden
ist, wird die anfängliche VTR-Sequenz
einer Schätzeinrichtung
für lineare
Parameter 736 zugeführt,
die in Schritt 506 die Parameter für die linearen Näherungen
der obenstehenden Gleichung 4 auswählt. Genauer gesagt bedeutet
dies, dass für
jeden Rahmen der anfängliche
VTR-Vektor für
den Rahmen dafür
verwendet wird, um die Werte der linearen Parameter αkx, βkx, γkx, δkx für jeden
Vokaltrakt-Resonanzindex k und jede LPC-Ordnung n zu bestimmen.
-
In Übereinstimmung
mit einer Ausführungsform
werden die Werte der linearen Parameter α
kx und β
kx für eine LPC-Ordnung
n durch Anwenden der Bandbreite b
k des anfänglichen
VTR-Vektors auf den Exponententerm
bestimmt. Das lineare Segment,
das in
3 dargestellt ist, das den Wert des Exponenten
umspannt, wird im Anschluss daran ausgewählt, wodurch die linearen Parameter α
kx und β
kx ausgewählt werden,
die das lineare Segment definieren. Hierbei ist zu beachten, dass
jeder dieser Parameter ein Vektor ist, der für jede Vektorkomponente mit
Ausnahme der mit der Bandbreite b
k assoziierten
Vektorkomponente einen Wert von Null aufweist.
-
In Übereinstimmung
mit einer Ausführungsform
werden die Werte der linearen Parameter γ
kx und δ
kx für eine LPC-Ordnung
n durch Anwenden der Frequenz f
k des anfänglichen
VTR-Vektors auf den Kosinusterm
und Bewerten des Kosinus
bestimmt. Das lineare Segment, das in
4 dargestellt
ist, das den Wert des Kosinus umspannt, wird im Anschluss daran
ausgewählt,
wodurch die linearen Parameter γ
kx und δ
kx die das lineare Segment definieren, ausgewählt werden.
Hierbei ist zu beachten, dass jeder dieser Parameter ein Vektor
ist, der für
jede Vektorkomponente mit Ausnahme der mit der Frequenz f
k assoziierten Vektorkomponente einen Wert
von Null aufweist.
-
In
Schritt 508 werden die linearen Parameter für jeden
Rahmen auf Gleichung 4 angewendet. Indem der ansteigende Abschnitt
des quadratischen Terms in Gleichung 4 nicht berücksichtigt wird, wird Gleichung
4 in Gleichung 2 verwendet. Die Gleichungen 1 und 2 werden anschließend einem
Kalman-Filter 738 zugeführt, der
eine erneute Schätzung
der VTR-Vektoren 734 für
jeden Rahmen durchführt.
In Schritt 510 bestimmt der Prozess, ob weitere Iterationen
durchgeführt
werden müssen.
Wenn weitere Iterationen durchzuführen sind, kehrt der Schritt
zurück
zu Schritt 506, wobei die linearen Parameter erneut anhand
der neuen VTR-Vektoren geschätzt
werden. Die neuen linearen Vektoren werden anschließend über Gleichung
4 auf Gleichung 2 angewendet, und die Gleichungen 1 und 2 werden
anschließend
in Schritt 508 in dem Kalman-Filter 738 verwendet,
um die VTR-Vektoren erneut zu schätzen. Die Schritte 506, 508 und 510 werden
so lange iteriert, bis in Schritt 510 eine Bestimmung dahingehend
getroffen wird, dass keine weiteren Iterationen erforderlich sind.
Zu diesem Zeitpunkt endet der Prozess in Schritt 512, und
der letzte Schätzwert
der VTR-Vektoren 734 wird als Sequenz der Vokaltrakt-Resonanzfrequenzen
und Vokaltraktresonanz-Bandbreiten für das eingegebene Signal verwendet.
-
Hierbei
ist zu beachten, dass das Kalman-Filter 738 kontinuierliche
Werte für
die Vokaltrakt-Resonanzvektoren bereitstellt. Auf diese Weise ist
die resultierende Sequenz von Vokaltrakt-Resonanzfrequenzen und Vokaltraktresonanz-Bandbreiten
nicht auf die diskreten Werte beschränkt, die in der VTR-Codetabelle 600 vorzufinden
sind.
-
Obgleich
die vorliegende Erfindung in Bezug auf bestimmte Ausführungsformen
beschrieben wurde, ist es den Personen mit der gewöhnlichen
Erfahrung auf dem Gebiet der Technik offensichtlich, dass Änderungen
in der Form und an Einzelheiten vorgenommen werden können, ohne
dabei von Umfang der Erfindung abzuweichen.