DE3236885A1 - Verfahren und geraet zur sprachanalyse - Google Patents

Verfahren und geraet zur sprachanalyse

Info

Publication number
DE3236885A1
DE3236885A1 DE19823236885 DE3236885A DE3236885A1 DE 3236885 A1 DE3236885 A1 DE 3236885A1 DE 19823236885 DE19823236885 DE 19823236885 DE 3236885 A DE3236885 A DE 3236885A DE 3236885 A1 DE3236885 A1 DE 3236885A1
Authority
DE
Germany
Prior art keywords
pattern
keyword
target pattern
frame
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19823236885
Other languages
English (en)
Inventor
Stephen Lloyd 02140 Cambridge Mass. Moshier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Exxon Mobil Corp
Original Assignee
Exxon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exxon Corp filed Critical Exxon Corp
Publication of DE3236885A1 publication Critical patent/DE3236885A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition

Description

HOEGER. STELLRECHT'&"-PARTh-ER* 3236885
PATENTANWÄLTE UHLANDSTRASSE 14 ο · D 7000 STUTTGART 1
A 45 324 b Anmelder: Verbex Corporation
k - 176 2 Oak Park
28. September 1982 Bedford, MA 01730
USA
Verfahren und Gerät zur Sprachanalyse
Die Erfindung betrifft ein Verfahren -zur Sprachanalyse, zum Erkennen mindestens eines vorgegebenen Schlüsselwortes in einem Audiosignal, bei dem jedes Schlüsselwort durch eine Schablone charakterisiert ist, die mindestens ein Zielmuster aufweist, und bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster eine minimale Verweilzeitdauer und eine maximale Verweilzeitdauer zugeordnet ist sowie ein Gerät zur Durchführung dieses Verfahrens.
Insbesondere befasst sich die Erfindung mit einem Verfahren und einem Gerät zum Erkennen von Schlüsselwörtern in einem kontinuierlichen Audiosignal im Echtzeitbetrieb.
Es sind bereits verschiedene Spracherkennungssysteme vorgeschlagen worden, die dazu dienen, isolierte Äußerungen zu erkennen, indem sie ein unbekanntes isoliertes Audiosignal, welches in geeigneter Weise aufbereitet wird, mit ein oder mehreren zuvor vorbereiteten Darstellungen bekannter Schlüsselwörter vergleichen. Dabei wird der Begriff "Schlüsselwort" in dem Sinne verwendet, daß er eine verbundene Gruppe von Phonemen und Schaliereignissen bezeichnen soll, die beispiels-
-15-
BAD ORIGINAL
A 45 324 b
k - 176 - 15 -
28. S eptember 1982
weise ein Teil einer Silbe, ein Wort, eine Phrase usw. sein kann. Verschiedene derartige Systeme wurden mit begrenztem Erfolg eingesetzt, um isolierte Schlüsselwörter zu erkennen. Dabei zeigte es sich, daß ein bestimmtes bekanntes System, welches im wesentlichen gemäß den Lehren der US-PS 4 038 503 arbeitet, besonders erfolgreich.eingesetzt werden, kann und geeignet ist, ein bestimmtes Schlüsselwort aus einem begrenzten Vokabular von.-Schlüsselwörtern sicher zu erkennen, voraus· gesetzt, daß die Grenzen (Anfang und Ende) des unbekannten Audiosignals durch den Zustand der Stille oder durch ein Hintergrundgeräusch (also, durch Pausen im Sinne der vorliegenden Anmeldung) gebildet sind,die von dem Erkennungssystem ermittelt werden. Das System basiert also auf der Annahme, daß das Intervall, in dem das unbekannte Audiosignal auftritt, wohl definiert ist und eine einzige Schlüsselwortäußerung enthält.
Bei einem kontinuierlichen Audiosignal, wie z.3. in der kontinuierlichen Umgangssprache, in der die Schlüs-' selwortgrenzen nicht von vornherein bekannt bzw. markiert sind, wurden ebenfalls bereits verschiedene Verfahren angewandt, um die ankommenden Audiodaten in Segmente zu unterteilen, d.h. um die Grenzen der linguistischen Einheiten, wie z.3. der Phoneme, Silben, Worte, Wortketten, Sätze usw. vor der Einleitung eines Schlüsselworterkennungsprozesses zu bestimmen. Diese vorbekannten r der kontinuierlichen Sprachauswertung dienenden Systeme waren jedoch nur in begrenztem Maße
BAD ORIGINAL
— — w — ^ VV W ^ ^ W V
A 45 324 b v ;." "..* \.'\.' **.""·.* 3 2 3 6 8 8
k - 176 - 16 -
28. September 1982
erfolgreich, was teilweilse darauf zurückzuführen ist, daß bei ihnen, kein befriedigendes Segiftentierverfahren gefunden wurde. Auch für andere wichtige -Probleme wurde bisher, ncch keine befriedigende Lösung gefunden. Beispielsweise können derzeit nur begrenzte Wortschätze zuverlässig und mit einer niedrigen.Quote von Fehlalarüien erkannt werden. Weiterhin ist die Erkennungsgenauigkeisehr empfindlich für die unterschiede zwischen den Stimm- bzw. Sprech-Charakteristiken unterschiedlicher Sprecher. Außerdem reagieren die bekannten Systeme sehr empfindlich auf Verzerrungen der zu analysiereiiäen Audiosignale, wie sie typischerweise auftreten, wenn diese Audiosignale beispielsweise über das normale Teiefonnetz übertragen werden.
Die US-?Ser. 4 227 176, 4 241 329 und 4 227 177 beschreiben wirtschaftlich brauchbare und wirksame Verfahren zur erfolgreichen Erkennung von Schlüsselwörtern in kontinuierlichen Sprachsignalen, die im Echtzeitbetrieb ausgewertet werden. Diese bekannten Verfahren werden derzeit wirtschaftlich angewandt und haben sich sowohl im Experiment wie auch in der Praxis als sehr zuverlässig erwiesen, ca sich mit ihnen in einer sprecherunabhängigen Umgebung eine niedrige Fehlerquote erreichen lasst. Obwohl die Systeme gemäß den genannten Patentschriften gemäß dem derzeitigen Süand der Technik als Spitzenprodukte anzusehen sind, haben sie dennoch hinsichtlich des Konzepts, von welchem bei ihrer Entwicklung ausgegangen
-17-
iAD ORIGINAL
• β *«·«* * ft ·
A 45 324 b
k - 176 - 17 -
28. September 1982
wurde, sowohl hinsichtlich der Anzahl der ausgelösten
Fehlalarme wie auch hinsichtlich ihrer Unabhängigkeit
vom jeweiligen Sprecher gewisse Nachteile.
Der Erfindung liegt daher die Aufgabe zugrunde, ein j Verfahren und ein Gerät zur Sprachanalyse bzw. Spracherkennung anzugeben, bei dem die Erkennung von Schlüsselworten in einem kontinuierlichen nicht-markierten j Audiosignal wirksam verbessert ist. Dabei wird gleich- | zeitig angestrebt, daß Verfahren und Gerät gemäß der < Erfindung relativ unempfindlich gegen Phasen- und ! Amplitudenverzerrungen des unbekannten Audio-Eingangssignals sind, daß sie relativ unempfindlich für A'nde- i
rungen in der Sprechempfindlichkeit für die unbe- ! kannten Audio-Eingangssignale sind, daß sie gleichmäßig
gut auf verschiedene Sprecher bzw. Sprach- oder Stimm- > Charakteristiken ansprechen und daß sie im Echtzeitbetrieb bei einer verringerten Zahl von Fehlalarmen j zuverlässig arbeiten. |
Diese Aufgabe wird, was das eingangs erwähnte Verfahren anbelangt, gemäß der Erfindung insbesondere j durch ein Verfahren mit den kennzeichnenden Merkmalen j
gemäß Anspruch 1 gelöst. S
Was das Gerät anbelangt, so wird die gestellte Auf- i
gäbe insbesondere durch ein Gerät mit den Merkmalen
des Anspruchs 5 gelöst. :
-18-
A 45 324 b
k - 176 - 18 -
28. September 1982
Die Erfindung befasst sich also mit einem Sprachanalysesystem zum Erkennen mindestens eines vorgegebenen Schlüsselwortes in einem Audiosignal. Dabei ist jedes Schlüsselwort durch eine Musterschablone gekennzeichnet, welche mindestens ein Zielmuster besitzt, wobei jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt. Jedem Zielmuster ist dabei außerdem eine maximale Verweilzeitdauer und eine minimale Verweilzeitdauer zugeordnet.
Bei dem Verfahren gemäß der Erfindung wird mit einer sich wiederholenden Rahmengeschwindigkeit aus dem. Audio-Eingangssignal eine Folge von Rahmenmustern erzeugt, die das Audio-Eingangssignal darstellen. Dabei ist jedes Rahmenmuster mit einer Rahmenzeit verknüpft. Anschließend wird für jedes Rahmenmuster ein numerisches Maß der Ähnlichkeit des Rahmenmusters mit ausgewählten Zielmustern erzeugt. Vorzugsweise werden ferner numerische Werte bzw. Maße erzeugt, die die Ähnlichkeit jedes Rahmenmusters mit jedem Zielmuster darstellen. In jeder Rahmenzeit und für jedes Schlüsselwort wird ein numerischer Wortwert akkumuliert, der die Wahrscheinlichkeit darstellt, daß ein Schlüsselwort in der gerade laufenden Rahmenzeit beendet wurde, wobei von den numerischen Maßen Gebrauch gemacht wird. Der Akkumulierschritt umfasst dabei das Akkumulieren der numerischen Maße für jedes Rahmenmuster einer kontinuierlichen Folge von wiederholt gebildeten Rahmenmustern, beginnend mit dem numerischen Maß der
-19-
# Λ ·. * « # 11 fl
A 45 324 b
k - 176 - 19 -
28. September 1982
Ähnlichkeit zwischen dem laufenden Rahmenmuster und
demjenigen Zielmuster, welches als letztes in dem
Schlüsselwort auftritt. Anschließend wird zumindest
eine vorläufige Schlüsselwort-Erkennungsentscheidung
getroffen, und zwar jeweils, wenn ein auf diese Weise
bestimmter numerischer Wert für ein Schlüsselwort einen vorgegebenen Erkennungspegel überschreitet.
In weiterer Ausgestaltung befasst sich die Erfindung
mit einem Spracherkennungsgerät, welches Einrichtungen
aufweist, um mit einer ersten, sich wiederholenden ;
Rahmengeschwindigkeit eine Folge von Rahmenmustern ι
aus dem Audiosignal zu erzeugen, die das Audiosignal !
darstellen, und von denen jeder mit einer Rahmenzeit j
verknüpft ist. Dabei sind außerdem Einrichtungen vor- |
gesehen, um für jedes Rahmenmuster ein numerisches Maß '■
der Ähnlichkeit jedes der Rahmenmuster mit ausgewählten 5
Zielmustern zu erzeugen. Vorzugsweise werden die nume- ; rischen Werte wie bei dem erfindungsgemäßen Verfahren
für jedes Rahmenmuster bezüglich jedes Zielmusters er- ;
zeugt. ■
Ein Akkumulierelement ermittelt für jede Rahmenzeit j
und jedes Schlüsselwort einen numerischen Gesamt-Wortwert, der die Wahrscheinlichkeit darstellt, mit der
zu der dann laufenden Rahmenzeit ein Schlüsselwort beendet wurde. Die Gesamtwerte werden für jede Rahmenzeit
und für jedes Schlüsselwort bestimmt. Das Akkumulierelement umfasst dabei Einrichtungen.zum Akkumulieren
-20-
A 45 324 b
k - 176 - 20 -
28. Septeiaber 1982
der numerischen Maße bzw. Messwerte für jedes Rahmenmuster einer durchgehenden Folge von wiederholt gebildeten Rahmenraustern, beginnend mit dem numerischen Maß der Ähnlichkeit des laufenden Rahmenmusters und eines letzten Zielmusters des Schlüsselworts, und zwar für jedes Schlüsselwort. Weiterhin umfasst das Gerät Einrichtungen zum Erzeugen eines zumindest vorläufigen Schlüsselwort-Erkennungssignals, jedesmal, wenn der numerische Wert, der für ein Schlüsselwort akkumuliert wurde, ein vorgegebenes Kriterium überschreitet.
Im übrigen werden weitere Einzelheiten und Vorteile der Erfindung nachstehend anhand von Zeichnungen noch näher erläutert und/oder sind Gegenstand weiterer Schutzansprüche. Es zeigen:
Fig. 1 ein Flußdiagramm, welches einen allgemeinen Überblick über die erfindungsgemäß auszuführende Schrittfolge vermitteln soll;
Fig. 1A ein elektrisches Blockschaltbild einer bevorzugten Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßen Verfahrens;
Fig. 2 ein schematisches Blockschaltbild eines elektronischen Geräts zur Durchführung gewisser vorbereitender Operationen für das Verfahren gemäß Fig. 1;
-21-
A 45 324 b
k - 176 - 21 -
28.September 1982
Fig. 3 ein Flußdiagramm in Form eines Digital-Rechnerprogramms für eine Reihe von Schritten des Verfahrens gemäß Fig. 1;
Fig. 4 eine grafische Darstellung des erfindungsgemäßen Verfahrens zur gegenseitigen Ausrichtung von Mustern;
Fig. 4A eine grafische Darstellung des Ausrichtprozesses nach dem dynamischen Programmierverfahren gemäß der Erfindung ;
Fig. 5 ein elektrisches Blockschaltbild j
eines Wahrscheinlichkeitsfunktions-Prozessors für eine bevorzugte Ausführungsform eines Geräts zur Durchführung j des erfindungsgemäßen Verfahrens;
Fig. 6 ein elektrisches schematisches Blockschaltbild einer Schaltung zum Sub-
trahieren und zur Absolutwertbildung ί
für ein bevorzugtes Gerät zur Durch- j
führung des erfindungsgemäßen Ver- J
fahrens;
Fig, 7 ein elektrisches Schaltbild einer lo- :.
gischen Schaltung zum Erfassen eines i
Übertrags für eine bevorzugte Ausfüh- >
rungsform eines Geräts zur Durchführung des erfindungsgemäßen Verfahrens;
•22-
j A 45 324 b
k - 176 - 22 -
28. September 1982
Fig. 8 eine Wahrheitstabelle für die Schaltung gemäß Fig. 7;
Fig. 9 ein elektrisches Blockdiagramm eines
sequentiell arbeitenden, decodierenden Muster-Ausrichtkreises gemäß einer bevorzugten Ausführungsform der Erfindung und
Fig. 10 ein elektrisches Schaltbild einer spe-, .ziellen Hardware-Ausführung zur Realisierung der Dauer- und Vergleichssteuerung gemäß der Erfindung.
Im übrigen sind entsprechende Elemente in den verschiedenen Figuren jeweils mit den gleichen Bezugs-
! zeichen bezeichnet.
-2 3-
A 45 324 b
k - 176 - 23 -
28. September 1982
Beschreibung eines bevorzugten Ausführungsbeispiels
Bei einem besonders bevorzugten Ausführungsbeispiel der Erfindung, welches nachstehend erläutert wird, erfolgt die Spracherkennung mittels eines Gerätes, welches sowohl speziell konzipierte elektronische _^ Baugruppen zur analogen und digitalen Aufbereitung von ankommenden hörfrequenten Datensignalen - im allgemeinen Sprachsignalen - umfasst als auch einen Mehrzweck-Digitalrechner, der erfindungsgemäß derart programmiert ist, daß mit seiner Hilfe weitere Schritte zur Datenverarbeitung und zur numerischen Auswertung der dabei erhaltenen Ergebnisse ausgeführt werden können. Die Aufteilung der einzelnen Aufgaben auf die Hardware-Teile und die Software-Teile des Geräts bzw. des Systems ist dabei so durchgeführt, daß insgesamt ein System erhalten wird, mit dem die Spracherkennung im Echtzeit-Betrieb bei mäßigem Kostenaufwand erfolgen kann. Dabei ist jedoch zu beachten, daß einige der Aufgaben, die beim betrachteten System von den Hardware-Kreisen ausgeführt werden, auch mittels geeigneter 'Programme (Software) gelöst werden könnten-und daß einige der Aufgaben, die beim betrachteten System mittels entsprechender Programme gelöst werden, in Ausgestaltung der Erfindung auch mittels spezieller Schaltkreise gelöst werden könnten. Dementsprechend werden nachstehend, soweit dies zweckmäßig erscheint, für verschiedene Einzelprobleme sowohl die Hardware-Lösungen als auch die
-24-
A 45 324 b
k - 176 - 24 -
28. September 1982
Software-Lösungen für ein erfindungsgemäßes Gerät beschrieben.
j Ein wichtiger Aspekt der Erfindung besteht darin,
! daß mit Hilfe des erfindungsgemäßen Gerätes Wortket-
■ ten in kontinuierlichen Sprachsignalen auch dann erkannt werden können, wenn diese Signale beispielsweit ^ se aufgrund ihrer Übertragung über eine Telefonleitung verzerrt sind. Folglich können die Spracheingangssignale am Eingang 10 in Fig. 1 als Sprachsignale
j betrachtet werden, die ausgehend von einem Kohlemikro-
|. fön über eine Telefonleitung beliebiger Länge und/oder
mit einer Anzahl von Schaltstellen zu einem Empfänger übertragen wurden. Eine typische Anwendung der Erfin
dung besteht in der Erkennung von Schlüsselwör- ■
! tern in hörfrequenten Daten, die über das Telefon-
system von einer unbekannten Quelle,empfangen wurden.
Andererseits kann das Eingangssignal auch ein beliej biges Audio-Datensignal sein, beispielsweise ein
Spracheingangssignal, welches über den Rundfunk, beispielsweise von einer privaten Sendestation, übertragen wurde oder welches über eine private Leitung übertragen wurde oder welches von einer in der Nähe des Geräts stehenden Person gesprochen wurde.
Wie aus der nachstehenden Beschreibung noch deutlich werden wird, befassen sich Verfahren und Gerät gemäß der Erfindung mit der Erkennung von Sprachsignalen, welche eine Folge von Klangelementen oder Phonemen
*) insbesondere von einem unbekannten Sprecher,
-25-
A 45 324 b
k - 176 - 25 -
28. September 1982
oder andere erkennbare Einzelheiten (Hinweise) ent- j
halten. In der vorliegenden Beschreibung - und in den Ansprüchen - wird von "einer Schlüsselwortschablone" "einer Folge von Zielmustern", "einem Schablonenmuster" * oder "einem Schlüsselwort" gesprochen, wobei diese vier Bezeichnungen als allgemeine und äquivalente Bezeichnungen zu betrachten sind. Dies ist eine bequeme * , Möglichkeit, eine erkennbare Folge von Audiosignalen oder von dieser Folge entsprechenden Signalen zu bezeichnen, welche zusammengefasst die Wortkette ergeben, die mit Verfahren und Gerät gemäß der Erfindung erfasst und erkannt werden können. Die einzelnen Bezeichnungen sollten dabei im weitesten Sinne so verstanden werden, daß sie alles von einem einzigen Phonem, einer einzigen Silbe oder einem einzigen Klang bis zu einer Folge von Worten, (im grammatikalischen Sinne) umfassen oder auch nur ein einziges Wort.
Das Sprechsignal bzw. das analoge Audiosignal vom Eingang TO gelangt zu einem Analog/Digital-Wandler 13 - A/D-Wandler - wo die analogen Daten in ein digitales Signal umgesetzt werden. Der A/D-Wandler 13 ist so ausgebildet, daß die Amplitudenwerte in 12 Bit-Signale umgesetzt werden, und zwar mit einer Abtastfrequenz von 8000 Abtastvorgängen pro Sekunde. (Bei anderen Ausführungsbeispielen wird mit anderen Abtastfrequenzen gearbeitet, beispielsweise mit einer Frequenz von 16 kHz, wenn ein besonders hochwertiges Digitalsignal erhalten werden soll.) Das Ausgangs-
-26-
• if « · w »».«te« « *
A 45 324 b
k - 176 - 26 -
28. September 1982
signal des A/D-WandXers 13 wird über Leitungen 15 dem Eingang eines Autokorrelationswandlers 17 bzw. einer Korrelationsschaltung zugeführt/ wo die ankommenden digitalen Eingangssignale mit einer Frequenz von 100 Hz zu einer Kurzzeit-Autokorrelationsfunktion aufbereitet und an Ausgangsleitungen 19 gelegt werden. Jede Autokorrelationsfunktion umfasst dabei 32 Werte t. , bzw. Kanäle, wobei jeder Wert mit einer Auflösung von
30 Bit berechnet wird. Lie Autokorrelationsschaltung wird nachstehend in Verbindung mit Fig. 2 noch näher erläutert.
Die auf den Leitungen 19 anstehenden Autokorrelationsfunktionen werden in einer Schaltung 21 einer Fourier-Transformation unterworfen, um auf den Ausgangsleitungen 23 der Schaltung 21 innerhalb vorgegebener Zeitfenster liegende Kurzzeit-Leistungsspektren zu erhalten. Die LeistungsSpektren werden dabei mit derselben Frequenz erzeugt, mit der die Autokorrelations-W funktionen erzeugt werden, d.h. mit einer Frequenz von 100 Hz, und jedes Kurzzeit-Leistungsspektrum wird
f in Form von 31 numerischen Werten ausgege en, von denen
ι jeder als 16 Bit-Signal dargestellt wird. Jeder der
31 Werte des Kurzzeit-Spektrums entspricht dabei dem Signalpegel innerhalb eines bestimmten Frequenzbandes.
! Die Schaltung 21 zur Durchführung der. Fourier-Trans-
formation umfasst vorzugsweise Schaltkreise zur Erzeugung einer Zeitfensterfunktion, insbesondere zur
Erzeugung der Hamming-Funktion, wodurch das
-27-
BAD ORIGINAL
A 45 324 b
k - 176 - 27 -
28. September 1982
übersprechen aus benachbarten Frequenzbändern reduziert wird.
Beim betrachteten ersten Ausführungsbeispiel erfolgen die Fourier-Transformation sowie die weiteren Schritte der Datenverarbeitung vorzugsweise unter Steuerung durch einen Mehrzweck-Digitalrechner, der in geeigneter Weise programmiert ist und mit einem oeripheren FeId- bzw. Matrix-Prozessor arbeitet, um die Rechenoperationen zu beschleunigen, die beim erfindungsgemäßen Verfahren wiederholt erforderlich sind. Speziell wurde ein Rechner des Typs PDP-11 der Firma Digital Equipment Corporation, Maynard, Massachusetts, USA, verwendet. Ferner wurde als Feld- bzw. Matrixprozessor (Array-Prozessor) ein Prozessor der in der US-PS 4 228 498 beschriebenen Art verwendet. Die nachstehend noch anhand von Fig. 3 zu erläuternde Programmierung ist speziell auf die Möglichkeiten und die charakteristischen Eigenschaften der vorstehend angesprochenen handelsüblichen digitalen Prozessoreinheiten zugeschnitten.
Die den einzelnen Zeitfenstern zugeordneten Kurzzeit-Leistungsspektren werden einer Frequenzgangentzerrung unterworfen, und zwar in Abhängigkeit von den Amplituden-Spitzenwerten, die in den einzelnen Frequenzbändern bzw. Kanälen auftreten, wie dies nachstehend noch näher erläutert, wird. Die hinsichtlich des Frequenzgangs entzerrten Spektren werden mit einer Frequenz von 100 Hz erzeugt und über Leitungen 26
-28-
A 45 324 b
k - 176 - 28
28. September 1982
übertragen, wobei jedes Spektrum durch 31 numerische W.erte dargestellt wird, die mit einer Auflösung von 16 Bit pro Wert übertragen werden. Um die endgültige Auswertung der ankommenden Audiodaten zu erleichtern, werden die hinsichtlich des Frequenzgangs entzerrten, den einzelnen Zeitfenstern zugeordneten Spektren, die über die Leitungen 26 übertragen werden, gemäß Block j ^. ^ 35 einer Amplitudentransformation unterzogen, und zwar j einer nicht-linearen Amplitudentransformation. Diese
ϊ Transformation· wird weiter unten noch naher erläutert,
und es soll an dieser Stelle lediglich darauf hinge-
\- wiesen werden, daß die Transformation die Genauigkeit
verbessert, mit der das unbekannte eingangsseitige j Audiosignal an Zielmusterschablonen in einem Bezugs-
■ Vokabular angepasst werden kann. Bei Ausführungsbei-
! spiel wird die Transformation für alle Spektren vor
dem Vergleich derselben mit Mustern durchgeführt, welche die Elemente des Bezugsvokabulars darstellen.
Nach der Amplitudentransformation werden die Spektren über die Leitungen 38 zum Block 40 übertragen, wo sie mit den Elementschablonen verglichen werden, wie dies nachstehend noch im einzelnen erläutert wird. Die Bezugsmuster stellen gemäß Block 42 die Elemente des Bezugsvokabulars in einer statistischen Form dar, die für einen Vergleich mit den transformierten und entzerrten Spektren geeignet ist. Jedesmal, wenn eine "Pause" festgestellt wird, erfolgt eine Entscheidung hinsichtlich der Identität der gerade
-29-
»ft ft * * » ft» β · * · lttt
β π
A 45 324 b
k - 176 - 29 -
28. September 1982
empfangenen Wortkette (Ausgang 44). Die Kandidaten-Worte werden folglich entsprechend der höchsten, beim Vergleich ermittelten Übereinstimmung ausgewählt. Beim Ausführungsbeispiel dient der Auswahlprozess dabei dazu, die Wahrscheinlichkeit, daß ein Schlüsselwort verloren geht (oder falsch erkannt wird) auf ein Minimum zu reduzieren.
Fig. 1A zeigt ein Spracherkennungssystem gemäß der Erfindung, bei dem ein sogenannter Controller bzw. ein Steuerprozessor 45 vorgesehen ist, der beispielweise durch einen Mehrzweck-Digitalrechner des Typs PDP-11 gebildet sein kann oder auch eine für das System speziell entwickelte diskrete Schaltung sein kann . Beim Ausführungsbeispiel empfängt der Steuerprozessor 45 die vorverarbeiteten Audiodaten von einem Vorprozessor 46, der nachstehend anhand von Fig. 2 noch näher erläutert wird. Der Vorprozessor 46 empfängt die analogen Audio-Eingangssignale über eine Leitung 47 und liefert die bearbeiteten Daten über eine Schnittstelle 48 an den Steuerprozessor 45.
Im allgemeinen ist die Arbeitsgeschwindigkeit des Steuerprozessors, wenn es sich bei diesem um einen Mehrzweck-Rechner handelt, nicht hoch genug, die ankommenden .Daten im Echtzeit-Betrieb zu verarbeiten. Daher können mit Vorteil verschiedene spezielle diskrete Schaltungen verwendet werden, um die Arbeitsgeschwindigkeit des Steuerprozessors 45 zu erhöhen.
-30-
A 45 324 b
k - 176 - 30 - /
28. September 1982 /
Insbesondere fuhrt ein sogenannter Vektorprozessor 48a, wie er beispielsweise in der US-PS 4 228 498 beschrieben ist, durch Ausnutzung des sogenanngen Pipeline-Effektes zu einer deutlich verbesserten Feld- bzw. Matrix-Verarbeitu-ngsgeschwindigkeit. Zusätzlich kann, wie dies in Fig. 4, 5 und 6 noch näher beschrieben wird, ein Wahrscheinlichkeitsfunktions-Prozessor 48b in Verbindung mit dem Vektorprozessor 48a eingesetzt werden, um die Arbeitsgeschwindigkeit des Systems um den Faktor 10 zu erhöhen.
Während beim bevorzugten Ausführungsbeispiel der Erfindung als Steuerprozessor ein Digitalrechner verwendet wird, erfolgt beim abgewandelten Ausführungsbeispiel gemäß Fig. 10 ein beträchtlicher Teil der Datenaufbereitung außerhalb des Steuerprozessors 4 5 in einem sequentiell arbeitenden Decodierprozessor Die Struktur dieses Prozessors wird in Verbindung mit Fig. 10 noch näher erläutert. Insgesamt hat das betrachtete System zur Spracherkennung sowohl hinsichtlich der Arbeitsgeschwindigkeit als auch hinsichtlich der Möglichkeit, die einzelnen Kreise hardware-mäßig oder software-maßig zu realisieren oder mit Hardware/ Software-Kombinationen zu arbeiten, eine hohe Flexibilität.
-31-
A 45 324 b
k - 176
as. September 1982
Vorprozessor (Preprocessor)
Bei dem System gemäß Fig. 2 werden die Autokorrelationsoperationen, mit denen zwangsläufig eine Mittelwertbildung verbunden ist, digital auf der Basis der digitalen Daten ausgeführt, die von dem A/D-Wandler 13 angeliefert werden, der die ankommenden analogen Audiodaten auf der Leitung 10, im allgemeinen ein Sprachsignal, aufbereitet. Der Wandler 13 liefert ein digitales Eingangssignal über die Leitungen 15. Dabei erfolgt die zeitliche Steuerung der A/D-ümsetzung und der Ausführung der Autokorrelationsfunktionen durch einen Taktoszillator 51, dessen Grundfrequenz von 256000 Hz mit Hilfe eines Frequenzteilers 52 heruntergeteilt wird, um eine Impulsfolge mit einer Impulsfolgefrequenz von 8000 Hz zu erhalten. Diese Impulzfolge steuert den A/D-Wandler 13 und ein Latch-Register 53, in dem die 12 Bit-Worte der letzten Umsetzung jeweils solange gespeichert sind, bis die nächste Umsetzung beendet ist.
Die Autokorrelationsprodukte werden mit Hilfe eines digitalen Multiplizierers 56 erzeugt, der die im Register 53 gespeicherte Zahl mit dem Ausgang eines 32 Wort-Schieberegisters 58 multipliziert. Das Schieberegister 58 arbeitet dabei als umlaufendes Schieberegister und wird mit der hohen Grundfrequenz (256 kHz) fortgeschaltet, so daß pro A/D-Umsetzung ein kompletter Umlauf der Daten des Schieberegisters erfolgt. Einmal während jedes vollständigen Umlaufs übernimmt
-32-
A 45 324 b
k - 176 - 32 -
28. September 1982
das Schieberegister 58 die in dem Register 53 gespeicherten Daten. Ein erster Eingang des digitalen Multiplizierers 56 ist direkt mit dem Register 53 verbunden, während der andere Eingang des Multiplizierers (abgesehen von der nachstehend angesprochenen Ausnahme) das jeweilige Ausgangssignal des Schieberegisters über einen Multiplexer 59 empfängt. Die
Multiplikationen werden mit der höheren Taktfrequenz
ausgeführt.
Jeder Digitalwert vom Ausgang des A/D-Wandlers wird also mit jedem der 31 zuvor erzeugten Wandlerausgangssignale multipliziert. Man sieht/ daß die auf diese Weise erzeugten Signale einer Multiplikation des Eingangssignals mit sich selbst entsprechen, und zwar mit einer Verzögerung um je einen von 32 Zeitschritten, von denen der eine der Verzögerung Null entspricht. Zur Erzeugung der Korrelation mit der Verzögerung Null, d.h. zur Erzeugung des Leitungswertes des Signals, » bewirkt der Multiplexer 59, daß der Inhalt des Registers 53 immer dann mit sich selbst multipliziert wird, wenn ein neuer Wert in das Schieberegister eingespeichert wird. Diese Zeitfunktion wird gemäß Block 6 0 erreicht, der für eine Schaltung steht, die dafür sorgt, daß der Multiplexer 59 außer bei der Übernahme neuer Daten - in diesem Fall wird der Eingang A auf den Ausgang durchgeschaltet - seinen Eingang B auf seinen Ausgang zum Multiplizierer 56 durchschaltet. Man sieht außerdem, daß die aufgrund einer einzigen
-33-
A 45 324 b
k - 176 - 33 -
28. September 1982
A/D-Umsetzung durch Multiplikation mit ihren 31 Vorgängern erhaltenen Produkte die Energieverteilung bzw. das Spektrum über ein vernünftiges Abtastintervall nicht hinreichend genau darstellen. Folglich ist in dem System gemäß Fig. 2 für eine Mittelwertbildung bei diesen Sätzen von Produkten gesorgt.
Ein Rechenvorgang, mit dem diese Mittelwertbildung erreicht wird, wird dadurch realisiert, daß ein weiteres 32 Wort-Schieberegister 63 derart mit einem Addierer 65 verbunden wird, daß ein Satz von 32 Akkumulatoren gebildet wird. Jedes Wort kann folglich umlaufen, nachdem es zu dem entsprechenden Schritt vom Ausgang des Multiplizierers 56 addiert ist. Die Umlaufschleife enthält dabei ein Gatter 67, welches von einem durch N teilenden Teiler 6 9 gesteuert wird, der seinerseits mit dem niedrigeren Taktsignal (8 kHz) gesteuert wird. Der Teiler 69 teilt die niedrigere Taktfrequenz durch einen Faktor N, der die Anzahl der in jedem Augenblick für den Additionsvorgang vorgesehenen Autokorrelationsfunktionen bestimmt, so daß eine Mittelwertbildung erfolgt, ehe der Inhalt des Schieberegisters 63 ausgelesen wird.
Beim Ausführungsbeispiel werden vor dem Auslesen jeweils 80 Proben addiert. Mit anderen Worten gilt also für den Divisor des Teilers 69 der Wert N = 80. Nachdem 80 umgesetzte Proben korreliert und addiert sind, triggert der Teiler 69 eine Rechner-Interrupt-Schaltung 71 über eine Leitung 72. Zu diesem Zeitpunkt werden
-34-
A 45 324 b
k - 176 - 34 -
28. September 1982
die Inhalte des Schieberegisters 63 nacheinander über eine geeignete Schnittstelle 7 3 in den Rechnerspeicher eingelesen/ wobei die 32 aufeinanderfolgenden Worte aus dem Register dem Rechner über die Schnittstelle 7 3 in geordneter Folge zugeführt werden. Man sieht, daß diese Datenübertragung von einer Peripherieeinheit/ dem Autokorrelations-Vorprozessor, zum Rechner typischerweise nach dem Verfahren des direkten'Speicherzugriffs (DMA-Verfahren) erfolgen kann. Unter der Voraussetzung, daß eine Mittelwertbildung über 80 Proben erfolgt und daß die ursprüngliche Abtastfrequenz bei 8000 kHz liegt wird deutlich/ daß in den Rechner pro Sekunde 100 gemittelte Autokorrelationsfunktionen eingespeichert werden.
Während der Schieberegisterinhalt in den Rechner ausgelesen wird, ist das Gatter 67 gesperrt, so daß der Registerinhalt für jedes Wort wirksam auf Null zurückgesetzt wird, damit der Addier- bzw. Akkumuliervorgang ü erneut beginnen kann.
Die Funktion des Systems gemäß Fig. 2 lässt sich mathematisch wie folgt beschreiben:
Wenn man annimmt, daß der A/D-Wandler 13 eine zeitliche Folge von Signalen S (t) erzeugt, wobei t = 0,TQ/ 2T-,... und wobei T0 = Abtastintervall (beim Ausführungsbeispiel Sekunden) , dann kann die digitale Korrelationsschaltung gemäß Fig. 2 unter Vernachlässigung der Undefinierten Startbedingungen
-35-
A 45 324 b
k - 176 - 35 _
28. September 1982
als eine Schaltung zum Berechnen der folgenden Autokorrelationsfunktion angesehen werden:
79
21
a(j/ t) =21 S(t+kT ) S(t+(k-j) T0) (D k=0
wobei j =0, 1, 2 . .., 31; t = 80 Tq, 160 TQ, ...,
8On T , ... Diese Autckorrelationsfunktionen entsprechen den korrelierten Ausgangssignalen auf den Leitungen 19 in Fig. 1.
Betrachtet man Fig. 3, so erkennt man, daß der Digital-Korrelator zum Rechner kontinuierlich eine Folge von Datenblöckan überträgt, und zwar mit einer Geschwindigkeit, bei der eine vollständige Autokorrelationsfunktion alle 10 ms übertragen wird. Dies entspricht dem Block in Fig. 3. Jeder Datenblock stellt die Autokorrelationsfunktion dar, die für ein entsprechendes Zeit-ünterintervall erhalten wurde. Wie oben ausgeführt, werden die betrachteten Autokorrelationsfunktionen dem Rechner mit einer Frequenz von hundert 32 Wort-Funktionen pro Sekunde zugeführt. Dieses Analysierintervall wird nachstehend als ein "Rahmen" bezeichnet.
Beim ersten Ausführungsbeispiel erfolgt die Verarbeitung der Autokorrelationsfunktionsdaten mittels eines geeignet programmierten Spezial-Digitalrechners. Das Flußdiagramm, welches die Funktionen umfasst, die aufgrund des Rechnerprogramms ausgeführt werden, ist in
■36-
A 45 324 b
k - 176 - 36 -
28. September 1982
Fig. 3 gezeigt. Dabei ist jedoch erneut darauf hinzuweisen, daß die verschiedenen Schritte auch mittels diskreter Schaltungen realisiert werden können, während andererseits gewisse Funktionen des Systems gemäß Fig.2 durch eine entsprechende Überarbeitung des Flußdiagramms gemäß Fig. 3 zusätzlich ausgeführt werden könnten.
Obwohl der Digitalkorrelator gemäß Fig. 2 eine gewisse zeitliche Mittelung der Autokorrelationsfunktior.en durchführt, die auf der Basis der Augenblickswerte erzeugt werden, können die gemittelten Autokorrelationsfunktionen, die an den Rechner ausgelesen werden, immer noch gewisse anomale Diskontinuitäten oder Ungleichmäßigkeiten aufweisen, die die ordnungsgemäße Verarbeitung und Auswertung der Proben beeinträchtigen können. Jeder Datenblock, d.h. jede Autokorrelationsfunktion a(j,t) wird folglich zunächst zeitlich geglättet - Block 78. Das Glätten erfolgt dabei vorzugsweise so, daß für die geglättete Autokorrelationsfunktion folgende Gleichung gilt:
as(j,t) = Co a(j,t) + C1 a(j,t-T) + C2a(j ,t-2T) (2)
wobei a(j,t) = ungeglättete, eingelesene Autokorrelationsfunktion gemäß Gleichung (1); a (j,t) = geglättete
Autokorrelationsfunktion (Ausgang Block 78), j = Verzögerungszeit, t = Echtzeit und T = Zeitintervall zwischen zwei aufeinanderfolgenden Autokorrelationsfunktionen (Rahmen) = 0,01 s beim Ausführungsbeispiel.
-37-
A 45 324 b
k - 176' _ 37 _
28. September 1982
Die Bewichtungsfunktionen bzw. Gewichte C , C. , C2 werden beim Ausführungsbeispiel vorzugsweise mit 1/4, 1/2, 1/4 gewählt, obwohl auch andere Werte gewählt werden könnten. Eine Glättungsfunktion zur Annäherung einer Gauss'sehen Impulswiedergabe mit einer unteren Grenzfrequenz von 20 Hz könnte beispielsweise durch ein Unterprogramm realisiert werden. Experimente zeigten jedoch, daB die leichter zu realisierende Glättungsfunktion gemäß Gleichung 2 befriedigende Ergebnisse liefert. Man sieht, daß die Glättungsfunktion für jeden Wert j der Verzögerung getrennt angewandt wird.
Wie nachstehend noch deutlich werden wird, sind für die anschließende Analyse verschiedene Operationen hinsichtlich des Kurzzeit-Fourier-Leistungspektrums des Sprachsignals erforderlich. Dabei wird, um einfache Schaltungen und eine hohe Arbeitsgeschwindigkeit zu erhalten, die Transformation der Autokorrelationsfunktionen in. den Frequenzbereich beim Ausführungsbeispiel in einer 8 Bit-Berech- . nung. . durchgeführt wird. Bei der oberen Grenzfrequenz des Bandpasses in der Nähe von 3 kHz nimmt die spektrale Leistungsdichte auf einen Pegel ab, bei dem die Auflösung in 8 Bit-Signale nicht mehr angemessen ist. Der Frequenzgang des Systems wird daher so gewählt, daß sich ein schräger Verlauf ergibt, gemäß welchem pro Oktave eine Anhebung um 6 dB erreicht wird - Block 79. Diese Anhebung bei den hohen Frequenzen wird erreicht, indem man die zweite
-38-
BAD ORIGINAL
A 45 324 b
k - 176
as. September 1982
Ableitung der Autckorrelationsfunktion bezüglich des Arguments derselben, d.h. die Zeitverzögerung bzw. Nacheilung verwendet. Für die abgeleitete Punktion gilt:
b(j,t) = -a(j-1, t) + 2a(j,t) - a(j-1,t) (3)
Zur Auswertung der Ableitung für J=O wird, angenommen, daß die Autokorrelationsfunktion zu Null symmetrisch ist, so daß gilt: a(-j,t) = a(+j,t). Außerdem sind keine Daten für a(32) vorhanden, so daß davon ausgegangen wird, daß die Ableitung bei j = 31 dieselbe ist wie die Ableitung bei j = 30.
Wie aus dem Flußdiagramm gemäß Fig. 3 deutlich wird, besteht der nächste Schritt des Analysierverfahrens nach der Anhebung der hohen Frequenzen darin, die Signalenergie im laufenden Rahmenintervall abzuschätzen, indem der Spitzenabsolutwert der Autokorrelation gefunden wird. Für die geschätzte Leistung gilt:
P(t) = max lb(i,t)| (4) .
Zur Aufbereitung der Autokorrelation für die 8 Bit-Spektrumanalyse wird die geglättete Autokorrelationsfunktion bezüglich P(t) blockweise normiert - Block 80 - und die acht höherwertiger- Bits jedes normierten Wertes werden
-39-
A 45 324 b
k - 176 - 39 _
28. September 1982
in die diskreten Schaltungen zur Spektrumanalyse eingegeben. Für die normierte (und geglättete) Autokorrelationsfunktion gilt folglich:
c(j,t) = 127 b(j,t)/P(t) . (5) .
Gemäß Block 81 wird jede zeitlich geglättete, durch die Frequenzanhebung aufbereitete, normierte Autokorrelationsfunktion c(j,t) einer Kosinus-Fourier-Transformation unterworfen, um ein Leistungsspektrum mit 31 Punkten zu erzeugen. Die Matrix der Kosinus-Werte ergibt sich gemäß folgender Gleichung:
= 126 g(i) (cos (3Ti/8000)f(j)), j = O, 1, 2, ...,31 (6)
wobei S (i,j) die spektrale Energie in einem Band mit der Mittelfrequenz f(j) (in Hz) zum Zeitpunkt t ist; wobei g(i) = 1/2(1 + cos 25Ti/63) die Einhüllende der (Hamming-)Fensterfunktion ist, die dazu dient, die Seitenbänder zu unterdrücken und wobei gilt:
f(j) - 30 + 1000 (0.0552J + 0.438)1/0*63„ . ,_.
nZ ; (7)
j = 0, 1, 2, ..., 31
-40-
V O-
A 45 324 b
k - 176 _ 4o -
28. September 1982
wobei es sich um die analysierten Frequenzen handelt, die in regelmäßigen Abständen auf der sogenannten "mel"-Kurve (Melodie-Kurve) der Subjekten musikalischen Tonhöhe liegen. Man erkennt, daß dies einem subjektiven Tonhöhen-(mel-Skala)-Frequenz-Achsenabstand für Frequenzen auf der Bandbreite eines typischen Kommunikationskanals zwischen etwa 300 und 3500 Hz entspricht.
Da die Spektrumanalyse das Summieren über Nacheilungen zwischen -31 und +31 erforderlich macht, werden unter der Voraussetzung, daß die Autokorrelation nullsymmetrisch ist, nur die positiven. Werte von j benötigt. Um jedoch zu vermeiden, daß die Nacheilung für den Null-Wert zweimal gezählt wird, wird die Kosinusmatrix so gewählt, daß gilt:
S(O,j) = 126/2 = 63, für alle j (8)
Das berechnete Leistungsspektrum ist somit durch folgende Gleichung gegeben:
S1(j,t) =
a(i,t) S (i,j
i=0
, j = 0,1,...,31 (9) ,
wobei das j-ste Ergebnis der Frequenz f(j) entspricht.
-41·
A 45 324 b
k - 176
28. September 1982
k - 176 - 41 -
Man sieht weiterhin, daß jeder Punkt oder Wert in jedem Spektrum einem zugeordneten Frequenzband entspricht. Während diese Fourier-Transformation vollständig mittels der üblichen Rechner-Hardware durchgeführt werden kann, kann der Prozess, beträchtlich beschleunigt werden, wenn ein externer, als diskrete Schaltung aufgebauter Multiplizierer oder ein Peripheriegerät zur schnellen Fourier-Transformation FFT-Gerät (Fast Fourier Transform)~verwendet wird. Aufbau und Funktion derartiger Geräte bzw. Moduln sind jedoch wohlbekannt und sollen daher hier nicht detailliert beschrieben werden. Vorteilhaft sind in das periphere FFT-Gerät Schaltkreise integriert, die für die Frequenzglättung sorgen, wobei jedes Spektrum frequenzmäßig entsprechend der oben angegebenen bevorzugten (Hamming-)Fenster-Bewichtungs-Funktion g(i) geglättet wird .Dies entspricht dem Block 83 innerhalb des Blockes 85, welcher der hardwaremäßigen Realisierung der Fourier-Transformation entspricht.
Wenn ein beträchtliches Hintergrundgeräusch vorhanden ist, sollte in dieser Verfahrensstufe von der Funktion S'(j,t) ein geschätztes Leistungsspektrum des Hintergrundgeräusches abgezogen werden. Dabei sollten der bzw. die Rahmen der bzw. die zur Darstellung des Geräuschs gewählt wurden, keine Sprachsignale enthalten. Die optimale Regel für die Wahl der Geräuschrahmenintervalle ändert sich je nach Anwendung. Wenn der
-42-
♦ * «te V
A 45 324 b
k - 176 - 42 -
28. September 1982
Sprecher beispielsweise bei einer Kommunikation in zwei Richtungen mit einer Maschine beschäftigt ist, die durch das Spracherkennungsgerät gesteuert wird, dann ist es beispielsweise bequem, willkürlich einen Rahmen in dem Intervall zu wählen, welches unmittelbar auf den Zeitpunkt folgt, zu welchem die Maschine das Sprechen über ihre Sprecheinheit beendet hat. In weniger eingeschränkten Situationen kann der geeignete Geräuschrahmen gefunden werden, indem man einen Rahmen mit einer minimalen Amplitude während der letzten ein oder zwei Sekunden eines Audioeingangssignalswählt.
Während von dem FFT-Gerät - Block 85 - nacheinander geglättete Leistungsspektren empfangen werden, erreicht man eine Kommunikationskanalentzerrung, indem für diese Spektren eine (im allgemeinen verschiedene^ Spitzenleistungsspektrum-Einhüllende bestimmt wird und indem das Ausgangssignal des FFT-Geräts, wie dies nachstehend beschrieben wird, entsprechend multipliziert wird. Jedes neu erzeugte Spitzenamplitudenspektrum p(j,t), welches einem ankommenden, unter Verwendung der Fensterfunktion ermittelten Leistungsspektrum S'(j,t) entspricht und von diesem auf den neuesten Stand gebracht wird, wobei j schrittweise
-43-
A 45 324 b
k - 176 _ 43 -
28. September 1982
über die verschiedenen Frequenzbänder des Spektrums fortgezählt wird, ist das Ergebnis einer Spitzenerfassungsfunktion siit schnellem Anstieg und langsamem Abfall für jedes bzw. jeden der Spektrumbänder bzw. -kanäle. Die mit Hilfe der Fensterfunktion ermittelten Leistungsspektren werden bezüglich der zugeordneten Werte des entsprechenden Spitzenamplitudenspektrums _ normiert. Dies entspricht den Blöcken 87, 89, 91.
Beim betrachteten Ausführungsbeispiel werden die Werte des "alten" SpitzenamplitudenspektrunB ρ(j,t-T), die vor dem Empfang eines neuen, unter Berücksichtigung einer Fensterfunktion ermittelten Spektrums bestimmt wurden, mit dem neu eintreffenden Spektrum S'(j,t) auf einer Frequenzband- für .-Frequenband-Basis verglichen. Das neue Spitzenspektrum p(jyt) wird dann gemäß folgenden Regeln erzeugt: die Leistungsamplitude in jedem Band des "alten" Spitzenamplitudenspektrums wird mit einem festen Bruchteil, beispielsweise mit 1023/1024 beim betrachteten Ausführungsbeispiel multipliziert. Dies entspricht dem langsam abfallenden Teil der Spitzendetektorfunktion. Wenn die Leistungsamplitude in einem Frequenzband j des ankommenden Spektrums S'(j,t) größer ist als die Leistungsamplitude in dem entsprechenden Frequenzband des abgefallenen Spitzenamplitudenspektrums, dann wird der abgefallene Spitzenamplitudenspektrumwert für dieses Frequenzband bzw. diese Frequenzbänder durch den Spektrumwert des entsprechenden Bandes des ankommenden, unter Verwendung der Fensterfunktion ermittelten
-44-
* if
323688E
A 45 324 b
k - 176 - 44 -
28. September 1982
Spektrums ersetzt. Dies entspricht dem schnell ansteigenden Teil der Spitzendetektorfunktion. Mathematisch gilt für die Spitzendetektorfunktion folgende Gleichung:
= irBx£p(j,t-T)-(1-E); P(t).S' (j/t)J j=0,1,...,31 (10)
wobei j für die einzelnen Frequenzbänder weitgezählt
; wird, wobei p(j,t) das resultierende Spektrum ist,
1 wobei p(j, t-T) das "alte" bzw. das vorangehende
I* Spitzenspektrum ist, wobei S'(jrt) das neu ankommende,
ι teilweise verarbeitete Leistungsspektrum ist, wobei
! P(t) die geschätzte Leistung zur Zeit t ist und wobei
S E der Abfallparameter ist.
ι Gemäß Gleichung 10 fällt das Spitzenspektrum normaler-
I weise, wenn ein höherer Wert des Spektrumeingangs -
; . signals fehlt, mit dem Faktor T-E ab. Typischerweise j gilt E = 1/1024. Es kann jedoch unerwünscht sein, das
j Spitzenspektrum während der Pausenintervalle abfallen
zu lassen, insbesondere, wenn keine schnelle Änderung I in den Kommunikationskanälen oder in der Sprech-
ι charakteristik zu erwarten ist. Zum Bestimmen des
• Pausenrahmens kann das gleiche Verfahren wie zum Aus
wählen der Hintergrundgeräuschrahmen angewandt werden. Die Amplituden ( VP (t")) der letzten 128 Rahmen werden geprüft, und es wird der Minimalwert ermittelt. Wenn die Amplitude des gerade laufenden Rahmens kleiner
-45-
A 45 324 b
k - 176 -.45 -
28. September 1982
ist als das Vierfache dieses Minimums, wird der laufende Rahmen als Pausenrahmen bestimmt, und für E wird der Wert 1/1024 durch den Wert 0 ersetzt.
Nachdem das Spitzenspektrum erzeugt ist, wird das daraus resultierende Spitzenamplitudenspektrum p(j,t) gemäß Block 89 frequenzmäßig geglättet, indem jeder Frequenzbandspitzenwert mit den Spitzenwerten gemittelt wird, die den benachbarten Frequenzen der neu erzeugten Spitzenspektren entsprechen, wjbei die Breite des gesamten Frequenzbandes,das zur Mittelwertbildung beiträgt , ungefähr gleich dem typischen Frequenzabstand zwischen den Formantfrequenzen ist. Wie der Fachmann weiß, beträgt dieser Abstand etwa 1000 Hz. Durch die Mittelwertbildung in dieser speziellen Weise wird die nützliche Information in den Spektren, d.h. die lokalen Änderungen, die Formantresonanzen enthüllen, erhalten, während die Gesamtanhebung bzw. die Grobanhebung im Frequenzspektrum unterdrückt wird. Das Spitzenspektrum wird erfindungsgemäß vorzugsweise dadurch bezüglich der Frequenz geglättet, daß man die Mittelwertbildung nach einer Funktion ausführt, welche sieben benachbarte Frequenzbänder erfasst und für die folgende Gleichung gilt:
j + 3
Z^~ p(k,t) (11) k=j-3
•46-
A 45 324 b
lc - 176
28. September 1982
k - 176 . 46 .
Bezüglich der Enden des durchgelassenen Frequenzbandes wird davon ausgegangen, daß p(k,t) für k>31 und k<_0 0 ist.Die normierende Einhüllende h(j) berücksichtigt die Anzahl der tatsächlich summierten gültigen Datenelemente. Folglich gilt: h(0) = 7/4; h(1) = 7/5, h(2) = 7/6, h(3) = 1, ..., h(28) = 1, h(29) = 7/6, h(30) = 7/5 und h(31) = 7/4. Das resultierende geglättete Spitzenamplitudenspektrum e(j/t) wird dann verwendet, um das gerade empfangene Leistungsspektrum S'(j/t) zu normieren und hinsichtlich des Frequenzgangs zu entzerren, und zwar dadurch, daß die Amplitudenwerte jedes Frequenzbandes des ankommenden geglätteten Spektrums S1(j,t) durch den entsprechenden Frequenzbandwert in dem geglätteten Spitzenspektrum e(j,t) geteilt werden. Diese Division entspricht folgender Gleichung:
Sn(J,t) = (S'(j,t) / e(j,t)) 32767 (12)
wobei s (f,t) das spitzennormierte, geglättete Leistungsspektrum ist und wobei j über die einzelnen Frequenzbänder fortgeschaltet wird. Dies entspricht dem Block 91. Man erhält auf diese Weise eine Folge von frequenzentzerrten und normierten Kurzzeitleistungsspektren, welche die Änderungen im Frequenzgehalt des ankommenden Audiosignals betonen, während alle generalisierten . Langzeitfrequenzerhöhungen oder -Verzerrungen unterdrückt werden. Dieses Verfahren der Frequenzkompensation
-47-
A 45 324 b . .
k - 176 - 47 -
28. September 1982
hat sich bei der Erkennung von Sprachsignalen, die über frequenzverzerrende Verbindungsleitungen, wie z.B. Telefonleitungen, übertragen werden, gegenüber den üblichen Methoden der Frequenzkompensation als besonders vorteilhaft erwiesen, bei denen der durchschnittliche Leistungspegel im gesamten Signal oder in jedem einzelnen Frequenzband als Basis für die Kompensation genommen wird.
An dieser Stelle ist es nützlich, darauf hinzuweisen, daß zwar die aufeinanderfolgenden Spektren auf die verschiedene Weise bearbeitet und entzerrt wurden, daß aber die Daten, welche die ankommenden Audiosignale darstellen, immer noch Spektren sind, die mit einer Frequenz von 100 Hz auftreten.
Die normierten und frequenzentzerrten Spektren gemäß Block 91 werden gemäß Block 93 einer Amplitudentransformation unterworfen, welche eine nicht-lineare Maßstabsänderung der Spektrumamplitudenwerte bewirkt. Bezeichnet man die einzelnen frequenzentzerrten und normieren Spektren mit s (j, t) (vgl. Gleichung 12), in denen j den Index für die verschiedenen Frequenzbänder des Spektrums bildet, während t die Echtzeit bezeichnet, dann gilt für das nicht-lineare Spektrum x(j,t) mit geändertem Maßstab folgende lineare Gleichung:
s.(j,t) -A-x(j,t) = 128 J=O' Κ -..,30 (13)
-48-
A 45 324 b
k - 176 _ 48 _
28. September 1982
wobei A der Mittelwert des Spektrums s (j,t) von j=0 bis 31 ist und wie folgt definiert ist:
1 31
A = JZ s(j,t) (14)
32 i^O n
wobei j als Index den einzelnen Frequenzbändern des Leistungsspektrums zugeordnet ist.
Der einunddreißigste Term des Spektrums wird durch den Logarithmus von A ersetzt, so daß gilt:
x(31 ,t) = 16 log9 A
Diese Maßstabsfunktion (Gleichung 13) führt zu einem sanften Schwellwerteffekt und einem allmählichen Sättigungseffekt für die spektralen Intensitäten, welche stark vom Kurzzeit-Mittelwert A abweichen. Mathematisch ist die Funktion für Intensitäten in der Nähe des Mittelwerts annähernd linear. Für Intensitäten, die weiter vom Mittelwert abliegen, ist die Funktion annähernd logarithmisch und für extreme Intensitätswerte ist die Funktion im wesentlichen konstant. In einem logarithmischen Maßstab ist die Funktion x(j,t) zu Null symmetrisch und besitzt ein Schwellwert- und Sättigungsverhalten, welches an das Ansprechverhalten
-49-
e *. ι» · β" -e
A 45 324 b
k - 176 -.49 -
28. September 1982
eines Gehörnervs denken lässt. In der Praxis ist das gesamte Erkennungssystem wesentlich besser mit dieser speziellen, nicht-linearen Maßstabsfunktion als ein System mit einer linearen oder einer logarithmischen Abbildung der Spektrumamplituden.
Es wird also eine Folge von amplitudentransformierten, hinsichtlich des Freguenzgangs entzerrten, normierten, Kurzzeitleistungsspektren x(j,t) erzeugt, wobei t = 0,01 s, 0,02 s... und j = 0, ..., 30 (entsprechend den Frequenzbändern der erzeugten Leistungsspektren). Für jedes Spektrum werden 32 Wörter vorgesehen und der Wert von A (Gleichung 15), der Mittelwert der Spektrumwerte, wird als das zweiunddreißigste Wort gespeichert. Die amplitudentransformierten Kurzzeitleistungsspektren, die nachstehend als Rahmen bezeichnet werden, werden gemäß Block 95 gespeichert, und zwar in einem umlaufenden Speicher, welcher in der Betriebsart "zuerst rein - zuerst raus" (first-in /*** first-out = FIFO) arbeitet und beim Ausführungsbeispiel eine Speicherkapazität von 256 Zweiunddreißig-Wort-Spektren besitzt. Für die Analyse stehen also 2,56 Sekunden des Audioeingangssignals zur Verfügung. Diese Speicherkapazität führt bei dem Erkennungssystem zu der Flexibilität, nötigenfalls für die Analyse und Auswertung auf Spektren zurückzugreifen, die unterschiedlichen Echtzeiten zugeordnet sind, so daß je nach den Erfordernissen der Analyse zeitlich vorgegriffen oder zurückgegriffen werden kann.
-50-
A 45 324 b
k - 176 - 50 -
28. September 1982
Die Rahmen für die letzten 2,56 Sekunden sind also in dem umlaufenden Speicher gespeichert und bei Bedarf verfügbar. Im Betrieb wird jeder Rahmen für 2,56 Sekunden gespeichert. Ein Rahmen, der in den umlaufenden Speicher zum Zeitpunkt t. eintritt, geht also verloren bzw. wird 2,56 Sekunden später aus dem Speicher herausgeschoben, wenn zum Zeitpunkt t. + 2,56 s ein neuer Rahmen eingespeichert wird.
Die Rahmen, die den umlaufenden Speicher passieren, werden vorzugsweise im Echtzeitbetrieb mit einem bekannten Vokabular von Worten verglichen, um Schlüsselwörter in den Eingangsdaten
zu bestimmen und zu identifizieren. Jedes Wort des Vokabulars wird durch ein Schablonenmuster dargestellt, welches statistisch eine Anzahl von verarbeiteten Leistungsspektren darstellt, die zu mehreren, nicht überlappenden Mehrfach-Rahmen (vorzugsweise 3 Rahmen-Zeichensatzmustern) zusammengestellt sind. Diese Muster werden vorzugsweise so gewählt, daß sie signifikante akustische Eigenheiten der Worte des Vokabulars am besten darstellen, und sind im Block 99 gespeichert.
Die Spektren, welche die Zeichensatzmuster bilden, werden aus den Worten erzeugt, die in den verschiedenen Kontexten gesprochen werden, wobei dasselbe System, welches oben beschrieben wurde, verwendet wird, um das kontinuierliche unbekannte Sprachein-
-51-
BAD ORIGINAL
A 45 324 b
k - 176 _ 51 .
28. September 1982
gangssignal von der Leitung 10 in Fig. 1 zu verarbeiten. Zu jedem Wort des Vokabulars gehören somit im allgemeinen nehrere Folgen von Zeichensatzmustern P(i).., P(I)2,..., welche in einem Bereich der Kurzzeitleistungsspektren eine Bezeichnung dieses i-ten Schlüsselworts darstellen. Die Sammlung von Zeichensatzmustern für jedes Schlüsselwort bildet die statistische Basis, auf welcher die Zielmuster erzeugt werden.
Beim Ausführungsbeispiel können die Zeichensatzmuster P(i). als ein Feld mit 96 Elementen angesehen werden, welches drei ausgewählte Rahmen umfasst, die zu einer Reihenfolge geordnet sind. Die das Muster bildenden Rahmen sollten mindestens einen Abstand von 30 ms haben, um eine Störkorrelation aufgrund der Zeitdomänen Glättung zu vermeiden. Bei anderen Ausführungsformen der Erfindung kann eine andere Strategie der Probenbildung für die Wahl der Rahmen verwirklicht werden. Bevorzugt erfolgt die Auswahl der Rahmen jedoch so, daß diese einen konstanten zeitlichen Abstand voneinander haben, vorzugsweise einen Abstand von 30 ms, und daß die sich nicht überlappenden Zeichensatzmuster über das Zeitintervall hinweg, welches das Schlüsselwort definiert, Abstände voneinander haben. Im einzelnen entspricht ein erstes Zeichensatzmuster P1 einem Teil des Schlüsselwortes in der Nähe des Anfangs desselben, während ein zweites Muster P„ einem zeitlich späteren Teil entspricht usw., wobei die Muster P-, P3... die statistische Basis für eine
-52-
A 45 324 b
k - 176 - 52 -
28. September 1982
Serie oder Folge von Zielmustern bilden, die die Wortschablone bilden, mit welcher die ankommenden Audiodaten verglichen werden. Die Zielmuster P1, P_... umfassen jeweils statistische Daten, die aus dem entsprechenden Wert P(i). unter der Annahme erzeugt werden, daß alle P(i) . unabhängige Gauss'sehe Variable sind, die die Erzeugung einer Wahrscheinlichkeitsstatistik ; hinsichtlich der Übereinstimmung der Undefinierten eintreffenden Rahmen mit den Zielmustern gestatten. Die Zielmuster bestehen also aus einem Feld, in dem die einzelnen Werte die mittlere Standard-Abweichung und einen Bereichsnormierungsfaktor für eine entsprechende Sammlung von Zeichensatzmusterfeldwerten umfassen. Eine weiter verfeinerte Wahrscheinlichkeitsstatistik wird weiter unten beschrieben.
Der Fachmann weiß, daß nahezu alle Worte regional und/ oder hinsichtlich ihres Kontextes mehr als eine Aussprache haben können und damit mehr als eine "Schreibweise" von Zeichensatzmustern. Ein,. Schlüsselwort des Vokabulars mit der Musterschreibweise P1, P2··· gemäß den obigen Ausführungen kann also tatsächlich allgemein durch die Folge p(i)", ρ (i) ~ / ··· i = 1/ 2, ..., M ausgedrückt werden, wobei jeder der p(i).-Werte eine mögliche alternative Beschreibung der j-ten Klasse von Zeichensatzmustern darstellt, und wobei insgesamt M unterschiedliche "Schreibweisen" für das Wort vorhanden sind.
-53-
A 45 324 b
k - 176 - 53 -
28. September 1982
Von den Target-Mustern t , t2, ... t., ... stellt also jedes im ganz allgemeinen Sinne mehrere alternative statistische "Schreibweisen" für die i-te Gruppe oder Klasse der Zeichensatzmuster dar. Beim Ausführungsbeispiel wird die Bezeichnung "Target-Muster" bzw. "Zielmuster11 in ganz allgemeinem Sinne verwendet, und jedes Zielmuster kann daher ein oder mehrere zulässige alternative "statistische Schreibweisen" haben.
Die Vorverarbeitung der ankommenden Audiosignale und die Audiobildung der Referenzmuster ist nunmehr abgeschlossen.
-54-
A 45 324 b
k - 176 - 54 -
28. September 1982
Verarbeitung der gespeicherten Spektren
Gemäß Fig. 3 stellen die im Block 95 gespeicherten Spektren bzw. Rahmen die ankommenden kontinuierlichen ".. Audiodaten dar, welche mit den gespeicherten Schablonen oder Zielmustern verglichen werden, die in Block 96 gespeichert sind und Schlüsselworte des Vokabulars darstellen, wobei der Vergleich nach folgendem Verfahren erfolgt:
Für jeden 10 ms-Rahmen wird im Block 97 ein Muster zum Vergleich mit den gespeicherten Bezugsmustern gebildet, indem der laufende Spektrumvektor s(j,t), das Spektrum s(j,t-0,03) des drittletzten Rahmens und das Spektrum s(j,t-0,06) des sechstletzten Rahmens zu folgendem Feld bzw. Muster aus 96 Elementen zusammengefasst werden:
s(j,t-0,06), j=0,...,31 s(j-32,t-0,03, j=32,...,63 s(j-64,t), j-64,...,95.
-55-
A 45 324 b
k - 176 - 55 -
28. September 1982
Jedes derart gebildete Mehrrahmen-Muster kann nach den Verfahren transformiert werden, die beispielsweise in den US-?Sen 4 241 329, 4 227 176 und 4 227 177 beschrieben sind. Diese Transformationen bilden jedoch, obwohl sie im Zusammenhang mit der Realisierung der Erfindung nützlich sind, keinen Teil der Erfindung, und es liegt für den Fachmann auf der Hand, wie die Lehren der genannten US-Patentschriften auf Verfahren und Gerät gemäß der Erfindung angewandt werden können. Beim dargestellten Ausführungsbeispiel können die Transformationen die Kreuzkorrelation reduzieren und die größenziäßige Darstellung (dimensionality) verringern sowie den Abstand zwischen den Zielmusterklassen vergrößern. Die Mehrrahmen-Muster, welche die entzerrten Spektren umfassen, werden als Eingangssignale für eine statistische Wahrscheinlichkeitsberechnung - Block 100 - verwendet, gemäß welcher die Wahrscheinlichkeit gemessen bzw. ermittelt wird, daß /-> das transformierte Muster bzw. eine Folge von transformierten Mustern mit einem Zielmuster bzw. einer Folge von Zielmustern übereinstimmt.
Statistische Wahrscheinlichkeitsberechnung
Die auf die beschriebene Weise erzeugten Mehrrahmen-Muster x(j,t) werden als Eingangssignale für die statistische Tiahrscheinlichkeitsberechnung verwendet. Der betreffende 'Prozessor liefert nunmehr, wie oben
-56-
* · «Ott β *
A 45 324 b
k - 176 - 56 -
28. September 1982
ausgeführt, ein Maß für die Wahrscheinlichkeit, mit der jedes der nacheinander angebotenen Mehrrahmen-Muster (die in ihrer Reihenfolge das unbekannte Spracheingangssignal darstellen) mit jedem einzelnen Zielmuster der Schlüsselwortschablonen im Vokabular des Geräts übereinstimmt. Typischerweise hat jede Größe, die ein Zielmuster darstellt, eine leicht schiefe bzw. . verschobene Wahrscheinlichkeitsdichte, wird jedoch nichtsdestoweniger statistisch durch eine normale Gauss'sehe Verteilung gut angenähert, welche einen
Mittelwert w. , und eine Varianz var(i,k) besitzt, ι, κ
wobei i die laufende Kennzahl der Elemente des k-ten Zielmusters ist. Bei der einfachsten Realisierung des Verfahrens wird angenommen, daß die Daten, die den verschiedenen Werten von i und k zugeordnet sind, nicht korreliert sind, so daß sich für die gemeinsame Wahrscheinlichkeitsdichte für den eingegebenen Wert x, der zu dem Zielmuster k gehört, folgende (logarithmische) Beziehung ergibt:
Y" 1/2(x - (w. )2)
L(xlk) =p(x,k) =Z_-1/2 In 2 (var(i,k)) i (16)
i var(i,k)
Da der Logarithmus eine monotone Funktion ist, reicht diese statistische Darstellung aus, um festzustellen, ob die Wahrscheinlichkeit einer Übereinstimmung einer Schlüsselwortschablone mit einem der Zielmuster größer oder kleiner ist als die Wahrscheinlichkeit einer Übereinstimmung mit irgendeinem anderen Vokabular-Zielmuster oder - alternativ - ob die Wahrschein-
-57-
A 45 324 b
k - 176 - 57 -
28. September 1982
lichkeit einer Übereinstimmung mit einem bestimmten Muster einen vorgegebenen Mindestpegel übersteigt. Für jedes der eingangsseitig zugeführten Mehrrahmen-Muster wir die statistische Wahrscheinlichkeit L(xjk) für alle Zielmuster der Schlüsselwort-Schablonen · des Vokabulars berechnet. Die auf diese Weise erhaltenen Wahrscheinlichkeitsstatistiken L(x[k) werden als die relative Wahrscheinlichkeit des Auftretens des Zielmusters k zum Zeitpunkt t,zu dem das Muster χ auftritt, interpretiert.
Der Fachmann erkennt, daß die Rangordnung dieser Wahrscheinlichkeitstatistiken insofern die Spracherkennung bildet, als sie ausgehend von einem einzigen Zielmuster durchgeführt werden kann. Diese Wahrscheinlichkeitsstatistiken können im Gesamtsystem auf verschiedene Weise in Abhängigkeit von der letztlich durchzuführenden Funktion ausgeführt werden.
-58-
A 45 324 b
k - 176 - 58 -
28. September 1982
ρ (χ) =Ci/7Ts') exp-i^TT I x-m I /s')
(wobei m der statistische Mittelwert ist und wobei s1 die Standardaoweichung der Variablen χ ist) weniger Rechenarbeit und hat sich als nahezu ebenso brauchbar wie die Gauss'sehe Verteilung erwiesen, wenn beispielsweise unabhängig vom Sprecher das Verfahren der isolierten Worterkennung angewandt werden soll, welches in der US-PS 4 038 503 beschrieben ist. Das Maß der Ähnlichkeit L(x [ k) zwischen einem unbekannten Eingangsmuster χ und dem k-ten gespeicherten Bezugsmuster ist proportional zum Logarithmus der Wahrscheinlichkeit und wird in der nachfolgenden Formel mit 100 angenommen:
- 59 -
A 45 324 b
k - 176 - 59 -
28. September 1982
96 Ix. - u., J
L(x [ k) = Σ + A. (17)
1=1 ik
96
wobei A1. = ^ Tn
Zum Kombinieren der Wahrscheinlichkeitswerte L einer Folge von Mustern mit dem Ziel der Bildung, des Wahrscheinlichkeitswertes eines gesprochenen Wortes oder Satzes wird der Wert L(x | k) für jeden Rahmen eingestellt, indem der beste (kleinste) Wert aller Bezugsmuster für diesen Rahmen subtrahiert wird, und zwar gemäß folgender Gleichung:
L1 (χ I k) - L(x I k) - min L (χ | i) (18)
Auf diese Weise wird das am besten zu jedem Rahmen passende Muster den Wert Null haben. Die eingestellten Werte für eine hypothetische Folge von Bezugsmustern können Rahmen für Rahmen addiert werden, um einen Folgewert zu erhalten, der direkt mit der Wahrscheinlichkeit verknüpft ist, so daß eine Entscheidung, zugunsten der angezeigten Folge die richtige Entscheidung wäre.
- 60 -
A 45 324 b
k - 176
28. September 1982
k - 176 - 60 -
Der Vergleich der unbekannten Eingangsspektrummuster mit den gespeicherten bekannten Mustern erfolgt durch Berechnung der folgenden Funktion:
96
q = ■> s-,,Ix -u..!+C1 (19)
^- . Λ ik I i ik I k
ν ■ _
wobei s., = l/s1.,) für das k-te Referenzmuster. Bei einer normalen programmierten Berechnung würden die folgenden Befehle ausgeführt, um die algebraische
_ I f
Funktion s Ix-uI (gemäß Gleichung 19) zu berechnen:
1 . berechne x-u
2. prüfe das Vorzeichen von x-u
3. wenn x-u negativ ist, bewirke einen Vorzeichenwechsel, um den Absolutwert zu erhalten
4. multipliziere mit s
5. addiere das Ergebnis in einen Akkumulator.
Bei einem typischen Spracherkennungssystem mit einem 20-Wort-Vokabular würden ungefähr 222 verschiedene Referenzmuster vorhanden sein. Die Anzahl der erforderlichen Schritte zur Auswertung derselben
- 61 -
A 45 324 b
k - 176 - 61 -
28. September 1982
beträgt dann 5 χ 96 χ 222 =106560 Schritte, ohne die zusätzlichen allgemeinen Programmschritte, und dies muß in weniger als 10 ms geschehen, um mit der Echtzeit-Spektrumrahmen-Geschwindigkeit Schritt zu halten. Der Prozessor muß daher in der Lage sein, pro Sekunde nahezu 11 Millionen Befehle auszuführen, und zwar nur, um gerade die Wahrscheinlichkeitsfunktionen auszuwerten. In Anbetracht der erforderlichen Geschwindigkeit wird erfindungsgemäß vorzugsweise ein spezieller Wahrscheinlichkeitsfunktions-Hardware-Modul 200 (Fig.4) verwendet, der mit einem System-Vektorprozessor gemäß der US-PS 4 228 498 kompatibel ist.
Bei dem Spezialmodul 200 werden die fünf oben aufgeführten Schritte gleichzeitig mit zwei Sätzen von Argumenten s, x( u ausgeführt, so daß im Endeffekt in der Zeit, die normalerweise für die Ausführung eines einzigen Befehls erforderlich ist, zehn Befehle ausgeführt werden. Da der Basis-Vektorprozessor mit einer Geschwindigkeit von 8 Millionen Befehlen pro Sekunde arbeitet, ergibt sich bei dem hier verwendeten speziellen Modul 200 für die Wahrscheinlichkeitsfunktionen eine effektive Berechnungsgeschwindigkeit von etwa 80 Millionen Befehlen pro Sekunde.
Wie Fig. 5 zeigt, arbeitet der Modul 200 mit einer Kombination von sogenannten Pipeline-Operationen und Parallel-Operationen, um gleichzeitig jeweils zehn Schritte ausführen zu können. Dabei führen zwei
- 62 -
A 45 324 b
k - 176 - 62 -
28. September 1982
unabhängige Bereiche 202 und 204 jeweils fünf arithmetische Schritte mit den unabhängigen Eingangsdatenargumenten aus,und die zwei Ergebnisse werden in einem Addierer 206 zusammengefasst, der mit deren Ausgängen verbunden ist. Die Akkumulation der Summierungen des Addierers 206 bilden "die Summierung von 1 bis 96 gemäß Gleichung 19, die von der Recheneinheit des Standard-Vektorprozessors gemäß US-PS 4 288 498 verarbeitet wird.
Die im Pipeline-Betrieb arbeitenden Register speichern die Zwischendaten bei den folgenden Stufen der Datenverarbeitung:
1. Eingangsargumente (getaktete Register 208, 210, 212, 214, 216, 218)
2. Betrag von x-u (getaktete Register 220, 222)
3. Ausgang des Multiplizierers (getaktete Register 224, 226).
Anhand der Eingangsdaten in den getakteten Registern 208 bis 218 wird die Größe von x-u durch Schaltkreise 228, 230 zur Subtraktion und Absolutwert-Bildung bestimmt. Gemäß Fig. 6 enthält jeder der Schaltkreise 228, 230 zur Subtraktion und Betragsbildung jeweils eine erste und eine zweite Subtraktionsschaltung 232, 234, von denen die eine dazu dient, die Differenz
- 63 -
* β τ *
A 45 324 b
k - 176 - 63 -
28. September 1982
x-u zu bestimmen, während die andere die Differenz u-x bestimmt, sowie einen Multiplexer 236 zur Auswahl des positiven Ergebnisses. Die Eingangsargumente χ und u, die über die Leitungen 238, 240 von den Registern 208 bzw. 210 zugeführt werden, sind 8 Bit-Ziffern zwischen -128 und +127. Da bei der Differenzbildung in den 8 Bit-Subtraktionsschaltungen 232 und 234 ein Übertrag auf die neunte Bit-Stelle entstehen kann (z.B.: (127- (-128) = 255), sind spezielle Schaltungseinrichtungen .erforderlich, die der Auswertung des Übertrags dienen. (Das Vorliegen eines Übertrags wird mittels eines Übertrag-Detektors 235 festgestellt, an desse.n Eingängen über eine Leitung 235a das Vorzeichen von χ und über eine Leitung 235b das Vorzeichen von u sowie über eine Leitung 235c das Vorzeichen der Differenz x-u zugeführt werden).
Wie Fig. 7 zeigt, sind die Übertrag-Detektoren beim Ausführungsbeispiel kombinierte Schaltungen aus jeweils einem UND-Gatter 268 bzw. 270 mit drei Eingängen und einem ODER-Gatter 272. Aus der Wahrheitstabelle gemäß Fig. 8 wird die Verknüpfung zwischen der Übertragbedingung und den. Eingangssignalen deutlich.
Die Berücksichtigung der Übertragbedingung erfolgt dadurch, daß der Multiplexer 236,mit dessen Hilfe das positive Subtraktionsergebnis ausgewählt wird, vier Wahlmöglichkeiten bietet. Die Entscheidung wird dabei durch die binären Pegel auf den Leitungen 242 und 244
- 64
A 45 324 b
k - 176 - 64 -
28. September 1982
bestimmt. Dabei ist der Pegel auf der Leitung 242 dem Vorzeichen der Differenz x-u zugeordnet, während das Vorhandensein eines Übertrags durch eine "1" auf der Leitung 244 angezeigt wird.
Insgesamt bestehen folgende Möglichkeiten:
Leitung 242 Leitung 244
0 0 wähle Ausgang der Sub
traktionsschaltung 232
1 0 wähle Ausgang der Sub
traktionsschaltung 234
0 1 wähle Ausgang der Sub
traktionsschaltung 232
um'1 Bit nach unten verschoben
1 1 wähle Ausgang der Sub
traktionsschaltung 234
um 1 Bit nach unten verschoben
Der Multiplexer 236 wird somit so gesteuert, daß er als 8-poliger elektrischer Schalter mit vier Schaltstellungen arbeitet. Der "Schiebevorgang" um 1 Bit wird kombinatorisch ausgeführt, indem man die Ausgänge der Subtraktionsschaltungen zu den entsprechenden Multiplexereingängen durchschaltet. Der Schiebevorgang entspricht einer Division durch 2.
- 65 -
A 45 324 b
k - 176 - 65 -
28. September 1982
Wenn bei einer Subtraktion ein Übertrag auftritt, entspricht das Ausgangssignal des Multiplexers dem durch 2 geteilten Ausgangssignal einer der Subtraktionsschaltungen. Diese Bedingung muß später bei der Berechnung berücksichtigt werden, damit das Endergebnis dann mit 2 multipliziert wird, um den richtigen Maßstabsfaktor wieder herzustellen. Diese Multiplikation erfolgt bezüglich des Ausgangssignals des Multiplexers hinter dem letzten "Pipeline"-Register. Aus diesem Grund wird in den Pipeline-Registern 220, 222, 224, 226 ein Extra-Bit bereitgehalten, um die zweiten Multiplexer 248, 250 zu steuern, welche die Multiplikationsprodukte eines 8x8 Bit-Multiplizierers 252, 254 um 1 Bit nach oben verschieben, was einer Multiplikation mit 2 entspricht, sobald das Übertrag-Bit gesetzt ist (logischer Pegel "1"). Die Multiplikation wird mittels einer handelsüblichen integrierten Schaltung mit der TRW-Baustein-Bezeichnung MPY-8-HJ durchgeführt, der zwei Ziffern mit jeweils 8 Bit zugeführt werden können und die an ihrem Ausgang das Produkt der beiden Ziffern liefert.
Die Multiplizierer 252, 254 erzeugen somit das Produkt von 's und jx-ujbei jedem Taktimpuls (wobei die zeitliche Steuerung für den Wert von i" in der richtigen Weise durch die besonderen Datenregister 256, 258 erfolgt). Die Ausgangssignale der Multiplizierer 252, 254 werden gepuffert in die Register 224, 225 eingespeist und über Leitungen 260, 262 und einen Addierer 206 an die übrige Schaltung ausgegeben.
- 66 -
A 45 324 b
k - 176
28. September 1982
k - 176 - 66 -
Derselbe Spezial-Hardware-Modul 200 wird auch zum Berechnen des inneren Produktes zweier Vektoren verwendet, wie dies bei einer Matrix-Multiplikation erforderlich ist. Dies wird durch die Gatter-Schaltungen 264, 266 erreicht, die einen Parallel-Pfad zu den Schaltungen 228 bzw. 230 zur Subtraktion und zur Absolutwert-Bildung bilden. Beim Vorliegen der Bypass-Bedingung werden die Daten χ und s von den Eingangsleitungen direkt als Eingangssignale für die Multiplikation in die Pipeline-Register 220, 222 eingespeist.
- 67 -
A 45 324 b
k - 176 - 67 -
28. September 1982
Prozess der Wortpegelerfassung
Die "Schreibweise" bzw. Darstellung eines Schlüsselwortes besteht gemäß einer bevorzugten Ausführungsform der Erfindung in einer geordneten Folge von Referenzmuster-Namen bzw. "Phonemen" (die Zielmuster) zusammen mit einer minimalen und einer maximalen Verweilzeit (Dauer), die mit jedem "Phonem" in der Darstellung verknüpft ist. Das Anpassen des Stroms der unbekannten ankommenden Muster an eine Schlüsselwortdarstellung wird erreicht, indem man jedes ankommende Muster bzw. Eingangsmuster dazu zwingt, zu einem "Phonem" der Darstellung zu gehören. Das Ausmaß der "Zugehörigkeit" wird in Form einer Wahrscheinlichkeitstrefferquote bzw. eines Wahrscheinlichkeitswertes des Musters bezüglich des "Phonems" gemessen. Bei jedem neuen'ankommenden Spektrumrahmen wird ein gesamter "Wortwert" bezüglich jeder Schlüsselwortdarstellung in der nachstehend beschriebenen Weise berechnet.
Gemäß Fig. 4 wird der laufende Rahmen, der dem Kreis 402 entspricht, hypothetisch als Ende eines Schlüsselworts angesehen. Der Wortwert für jedes Schlüsselwort des Vokabulars wird dann wie folgt bestimmt. Der erste Beitrag zum Wortwert ist der Wahrscheinlichkeitswert des vorliegenden Eingangsmusters bezüglich des End-Phonems der Schlüsselwortdarstellung oder des gerade vorausgegangenen Phonems, je nachdem, welcher Wert besser, d.h. kleiner ist.
- 68 -
A 45 324 b
k - 176 - 68 -
28. SeDtember 1982
Anschließend wird dann der nächste, zeitlich weiter zurückliegende, dem Kreis 404 entsprechende Rahmen geprüft. Wenn die Mindestverweilzeit des laufenden Phonems noch nicht verstrichen ist, dann wird der Beitrag des laufenden (des nächst-vorangegangenen) Musters der jeweils bessere Wert der beiden folgenden Werte, nämlich a des Wahrscheinlichkeitswertes bezüglich des laufenden Phonems und b des Wahrscheinlichst -
keitswertes bezüglich des nächst-vorangegangenen Phonems. Dieser Beitrag wird zum Teil-Wortwert addiert, Wenn die Mindestverweilzeit verstrichen ist, werden die Wahrscheinlichkeitswerte bezüglich des laufenden und des näcnst-vorangehenden Phonems geprüft. Wenn der Wert des nächst-vorangehenden Phonems besser ist, dann wird das nächst-vorangehende Phonem zum laufenden Phonem (über einen der Pfade 406) und sein Wert ist derjenige, der zu dem Wortwert akkumuliert wird. Außerdem werden die minimale Verweilzeit und die maximale Verweilzeit zurückgesetzt. Andernfalls bleibt das laufende Phonem das laufende Phonem und sein Wahrscheinlichkeitswert wird zum Wortwert addiert. Wenn die maximale Verweilzeit für das laufende Phonem verstrichen ist, dann wird zu dem Wortwert ein Strafwert addiert, und das nächst-vorangehende Phonem wird zum laufenden Phonem. Die Analyse ist beendet, wenn kein nächstvorangehendes Phonem vorhanden ist, und der endgültige Wortwert ist der Inhalt des Wortwertakkumulators, geteilt durch die Anzahl der Rahmen vom Beginn bis zum Ende, d.h. der mittlere Wahrscheinlichkeitswert pro Rahmen bezüglich der Darstellung.
- 69 -
A 45 324 b
k - 176 - 69 -
28. September 1982
Eine Erfassungsschwelle für Wortwerte wird so eingestellt, daß sich ein angemessener Abstand zwischen der Wahrscheinlichkeit, daß eine Übereinstimmung festgestellt wurde und der Wahrscheinlichkeit für einen Fehlalarm ergibt. Wenn der Wortwert bezüglich einer der Darstellungen besser als der Schwellwert ist, wird gemäß Block 420 eine Erkennung gemeldet. Wenn ^ innerhalb eines zu kurzen Zeitintervalls zwei oder mehr Erkennungen auftreten, dann wählt eine Entscheidungslogik die beste der einander überlappenden Erkennungen .
Da das hypothetisch als laufendes Phonem angenommene Phonem monoton durch die Wortdarstellung hindurchwandert und sich niemals zu einem früheren Zustand zurückzieht, kann das vorstehend beschriebene Worterkennungsverfahren als dynamisches Programmierproblem formuliert werden.
Lösung durch dynamische Programmierung
Gemäß Fig. 4A kann bei der Lösung durch eine dynamische Programmierung die Schlüsselworterkennung als das Problem des Auffindens eines geeigneten Pfades durch einen abstrakten Zustandsraum betrachtet werden. In der Figur stellt jeder Kreis einen möglichen Zustand dar (der auch als Verweilzeitposition oder Register bezeichnet wird) durch welchen der Prozess der
- 70 -
K * w«tt * » V .* * w t
«Μ # W- «· · · «· tf fr
A 45 324 b
k - 176
28. September 1982
Entscheidungsfinding hindurchlaufen kann. Der Zwischenraum zwischen den gestrichelten senkrechten Linien 520, .522 stellt die einzelnen hypothetischen Zustände dar, durch die der Prozess der Entscheidungsfindung hindurchgehen kann, wenn bestimmt wird, ob ein Muster zu einem laufenden Phonem passt oder nicht. Dieser Raum ist in einen der erforderlichen Verweilzeit zugeordneten Teil 524 und einen einer gegebenenfalls zusätzlich erforderliehen Verweilzeit bzw. einer optioneilen Verweilzeit entsprechenden Teil 526 unterteilt. Der Teil für die erforderliche Verweilzeit entspricht der Mindestdauer eines bestimmten "laufenden" Phonems oder Musters. Der Teil für die optionelle Verweilzeit entspricht der maximalen zusätzlichen Dauer eines Musters. Jeder der Kreise innerhalb der Teile für die optionelle bzw. die erforderliche Verweilzeit stellt eine Rahmenzeit des Kontinuums von gebildeten Rahmen dar und entspricht den 0,01 s-Intervallen von Rahmen zu. Rahmen. Somit identifiziert jeder Kreis eine hypothetische laufen-'de phonetische Position in einer Schlüsselwortdarstellung und stellt in Verbindung mit der Anzahl von (0,01 S-)Rahmen,die hypothetisch verstrichen sind, seit das laufende Phonem begann, und zwar entsprechend der Anzahl der früheren "Kreise" bzw. Positionen in diesem Phonem oder Zielmuster, die laufende bzw. derzeitige Dauer des Musters dar. Wenn ein Muster (Phonem) begonnen hat und wenn außerdem das minimale Verweilzeitintervall verstrichen ist, gibt es mehrere mögliche Pfade zum Vorrücken zu dem ersten Knoten bzw. zur ersten Position - Kreis 528 - des nächsten Zielmusters
- 71 -
9 Λ #
β *
A 45 324 b
k - 176 - 71 -
28. September 1982
(Phonem). Welcher Pfad gewählt wird, ist davon abhängig, wann die Entscheidung getroffen wird,zum nächsten Muster (Phonem) der Darstellung überzugehen. Diese Entscheidungsmöglichkeiten sind in der Zeichnung durch mehrere Pfeile angedeutet, die zum Kreis 528 führen. Ein Übergang zum nächsten Muster (Phonem), dessen Anfang durch den Kreis 528 dargestellt ist, kann bei jedem Knoten bzw. bei jeder Position während der optioneilen Verweilzeit des laufenden Musters (Phonem) oder, ausgehend vom letzten Knoten des erforderlichen Verweilzeitintervalls, erfolgen.
Bei dem Schlüsselworterkennungsverfahren gemäß den US-PSen 4 241 329; 4 227 176 und 4 227 177 erfolgt der Übergang an dem ersten derartigen Knoten, für welchen der Wahrscheinlichkeitswert bezüglich des nächsten Musters (Phonems) besser ist als der Wahrscheinlichkeitswert bezüglich des laufenden Musters f^ (Phonems). Dies bedeutet, daß ein Rahmen besser zu dem* nächsten Phonem oder Muster passt als zum laufenden Phonem oder Muster. Der gesamte Wortwert ist jedoch der durchschnittliche Muster- bzw. Phonemwert für den Rahmen (d.h. pro Knoten längs des durchlaufenen Pfades). Dieselbe "Gesamtwert"-Definition kann auf einen Wortwert bis zu dem laufenden Knoten angewandt werden, um zu entscheiden, wann der übergang durchzuführen ist, d.h. ob der übergang zum nächsten Muster beispielsweise bei der ersten Gelegenheit, die beispielsweise dem durch die Linie 530 angedeuteten
- 72 -
A 45 324 b
k - 176 72 -
28.September 1982
Übergang entspricht,oder zu einem späteren Zeitpunkt, der beispielsweise einem durch die Leitung 532 angedeuteten Übergang entspricht, durchgeführt werden soll. Im günstigsten Fall wird derjenige Pfad zum nächsten Muster (Phonem) gewählt, für welchen der Mittelwert pro Knoten am besten ist. Da bei dem Standard-Schlüsselwortverfahren gemäß den US-PSen 4 241 329, 4 227 und 4 227 177 keine weiteren möglichen Pfade überprüft werden, nachdem dia Entscheidung gefallen ist, zum nächsten Muster (Phonem) überzugehen, kann bei diesem Verfahren hinsichtlich des mittleren Wertes pro Knoten eine nicht-optimale Entscheidung fallen.
Bei der Schlüsselworterkennung wird erfindungsgemäß eine Strategie verfolgt, die sich am Mittelwert pro Knoten orientiert,und eine Entscheidung wird immer dann ausgeführt, wenn der Mittelwert pro Knoten für den am besten endenden Knoten des letzten Musters eines Schlüsselworts einen vorgegebenen Schwellwert übersteigt.
Bei der Lösung mittels einer dynamischen Programmie rung macht es der Wahrscheinlichkeitswert in jedem Analysezeitrahmen erforderlich, daß irgendein Vokabularwort gerade beginnt (d.h. daß irgendein vorangegangenes Wort oder ein anderer Ton gerade endet). Beim Arbeiten mit einem beschlossenen Vokabular ist die Einhaltung dieser Bedingung eine einfache Angelegenheit. Schwierig wird es jedoch, wenn weder die
- 73 -
A 45 324 b
k - 176 - 73 -
28. September 1982
Referenzrauster für alle zu erwartenden Sprach- bzw. Klangereignisse vorhanden sind noch Definitionen für alle möglichen bzw. zulässigen Worte.
Es sind verschiedene Strategien zum Gewinnen eines Eingangswertes möglich. Zur Erläuterung derselben müssen gewisse Merkmale des dynamischen Programmierverfahrens noch weiter erläutert werden. Das Verfahren wird mit einem geordneten Feld von Akkumulatoren A(1), A(2).... realisiert, von denen jeder einen Wert speichert, der einer bestimmten Folge von Mustern und Musterdauern entspricht. Die Inhalte des i-ten Akkumulators zur Zeit t der Analyserahmen werden mit A(i,t) bezeichnet. Der Wahrscheinlichkeitswert zum Zeitpunkt t für das Bezugsmuster, welches mit dem i-ten Akkumulator verknüpft ist, wird mit L(i,t) bezeichnet. Unter diesen Voraussetzungen ergibt sich für einen Akkumulator, der nicht dem ersten Rahmen (bzw. dem Anfang) eines Zielmusters entspricht, folgende Rekursionsformel :
Der erste Akkumulator A(n,t) des nächsten Zielmusters wird mit dem besten (minimalen) Wert aus den verfügbaren Akkumulatoren für das vorangegangene Muster gespeist (d.h. diejenigen Akkumulatoren, aus denen ein Übergang zum nächsten Muster erfolgen kann):
- 74 -
• tr Ü >
A 45 324 b
k - 176 - 74 -
28. September 1982
A(n,t) = L(n,t) + min A(i,t-1)
i=m,n-1
Auf diese Weise wird die optimale Dauer für das Zielmuster gefunden.
Der Wortwert für das zu ermittelnde Schlüsselwort ist, wie oben ausgeführt, der mittlere Wahrscheinlichkeitswert pro Analyse-Rahmen. Dies ist aber die Differenz zwischen dem Ausgangswert beim letzten Zielmuster (dem Wert, der dem Akkumulator für das nächste Muster zugeführt würde, wenn einer vorhanden wäre) in dem laufenden Analyse-Rahmen einerseits und dem Eingangswert zu dem Zeitpunkt, zu dem das Wort begonnen hat andererseits, und zwar geteilt durch die Dauer des Wortes. Die Dauer des Wortes kann in Verbindung mit einem akkumulierten Wortwert sowie in Verbindung mit der Zielmusterlänge vorgetragen und von Register zu Register auf den neuesten Stand gebracht werden.
Der Akkumulator (-inhalt) für den Eingangswert, der dem ersten Register des ersten Musters eines Schlüsselworts entspricht, ist mit A(0,t) bezeichnet. Die einfachste Eingabestrategie besteht darin, eine lineare Rampenfunktion mit der konstanten Steigung c als Eingangs-Wahrscheinlichkeitswert für den Schlüsselwort-Erkennungsprozess zu verwenden. Die aufeinanderfolgenden Akkumulatorinhalte für diese Strategie sind in der folgenden Tabelle dargestellt.
- 75 -
A 45 324 b
k - 176
28. September 1982
k - 176 -75-
Zeit Akkumulator-Inhalte
t A(0,t) A(T,t) A(2,t)"
0 0 0 0
1 c L(1,1) L(2,1)
2 2c L(1 ,2)+c L(2,2)+L(1 ,1)
3 3c L(1,3)+2c L(2,3)+L(1 ,2)+c
Zu jedem Zeitpunkt ist die Anzahl der in jeden Akkumulator gegebenen Additionen für alle Akkumulatoren dieselbe, so daß keine Vorspannung bzw. Verzerrung aufgrund der Anfangsbedingungen vorhanden ist. Die Wirkung der Steigung c kann erkannt werden, wenn man bemerkt, daß dann, wenn c klein ist, der Akkumulatorinhalt A(1,t) die Tendenz hat, einen besseren Wert zu beinhalten als der Akkumulatorinhalt A(2,t), während dann, wenn die Steigung c groß ist, der Akkumulatorinhalt A(2,t) einen besseren Wert enthält. Das Ergebnis besteht darin, daß die optimale Musterdauer, die durch das Verfahren gefunden wird, so vorgegeben ist, daß sie zu lang oder zu kurz ist. Da die Rampenfunktion durch alle Akkumulatoren fortschreitet, kann die Dauer aller Muster in dem Wort in ähnlicher Weise "vorgespannt" sein. Statt der Akkumulation einer konstanten Rampe kann man die Inhalte des ersten Akkumulators umlaufen lassen und dabei nicht eine Konstante, sondern den Wahrscheinlichkeitswert des laufenden Signals bezüglich dem ersten Bezugsmuster des gewünschten Schlüsselwortes addieren. In diesem Fall sind alle übrigen Akkumulator-
- 76 -
A 45 324 b
k - 176 - 76 -
28.September 1982
inhalte korrekt, bis auf eine Konstante, die subtratiert wird, wenn man den Wortwert pro Rahmen bestimmt. Dieses Verfahren ist in der folgenden Tabelle dargestellt:
Zeit Akkumulator-Inhalte
A(O ,t) ,1) +L(O, D A(1 ,t)
O 0 ,2) 0
1 L(O ,1) L(1 ,1)
2 L(O ,2)+L(O Ld ,2)
3 L(O ,3)+L(O Ld ,3)
ο '
L(2,1)
1) L(2,2)+L(1,1)
)+L (0,1) L(2,3)+L(1 ,2)+L(0,1) L(0,4)+L(0,3)+L(0,2)+L(0,1) L(I ,4) +L(0,3)+L(0,2) +L(0,1) L(2,4)+L(1,3)+L(0,2) +L+(C
Mit diesem Verfahren ist die Auswahl der jeweils opti-= malen Musterdauer für das zweite und die folgenden Muster des Schlüsselwortes unabhängig von der Dauer des ersten Musters. Andererseits ist es aufgrund der Akkumulatorinhalte nicht möglich, zu sagen, wie lang das erste Muster sein sollte. Diese Tatsache wird aus der vorstehenden Tabelle deutlich, wenn man substituiert: L(2,t) = L(1,t) = L(0,t). In diesem Fall enthalten alle drei Akkumulatoren, obwohl drei Akkumulatoren vorgesehen wurden und das Muster- eine Dauer von drei Analyse-Rahmen haben könnte, immer denselben Wert, und es gibt kein einzigartiges Minimum zum Auswählen. Dieses Problem beeinträchtigt nur die Abschätzung des Gesamt-
- 77 -
A 45 324 b
k - 176
IS. September 1982
wortwertes und beeinträchtigt beispielsweise nicht die Klassifikation der späteren Muster, die in die Bezugsmuster-Statistiken eingehen. Bei dem derzeit bevorzugten Ausführungsbeispiel wird dieses Verfahren mit einer beliebigen Konstantendauer ausgeführt, die dem ersten Muster jedes Schlüsselwortes zugeordnet ist.
- 78 -
Ά 45 324 b
k - 176 - 78 -
28. September 1982
Üben der Bezugsmuster
Um die Probenelemente u und die Varianzen s1 für die Konstruktion der Referenzmuster zu erhalten, wird eine Anzahl von "Äußerungen" bzw. Sprachproben jedes Vokabularwortes in das Spracherkennungssystem eingegeben, und die Gesamt-Statistiken der entsprechenden vorverarbeiteten Spektrumrahmen werden ausgewertet. Für einen erfolgreichen Betrieb des Systems ist dabei die Entscheidung darüber, welche Eingangsrahmen welchen Ziel- bzw. Bezugsmustern entsprechen sollten, von wesentlicher Bedeutung.
Beim Fehlen besserer Information, wie z.B. bei von Hand gewählten signifikanten akustischen Phonemen des Eingangswortes wird das Zeitintervall zwischen dem Beginn und dem Ende eines gesprochenen Worts in eine Anzahl von gleichmäßigen Unterintervallen geteilt. Jedes dieser Unterintervalle wird dabei gezwungen,
einem bestimmten Bezugsmuster zu entsprechen. Ein oder mehrere Drei-Rahmen-Muster, die in jedem Intervall beginnen, werden gebildet und entsprechend dem mit diesem Intervall verknüpften Bezugsmuster klassifiziert. Anschließende Beispiele desselben Vokabularwortes werden in ähnlicher Weise in eine gleiche Anzahl von gleichen Intervallen geteilt. Die Mittelwerte und Varianzen·der Elemente der Drei-Rahmen-Muster, die aus den entsprechend geordneten Intervallen gewonnen werden, werden für alle verfügbaren
- 79 -
*) bzw. zwangsläufig einem bestimmen Bezugsmuster zugeordnet
A 45 324 b
k - 176 - 79 -
28. September 1982
Proben des Vokabularwortes akkumuliert, um einen Satz von Bezugsmustern für dieses Wort zu bilden. Die Anzahl der Intervalle (der Bezugsmuster) sollte in der Größenordnung von zwei oder drei pro in dem Vokabularwort enthaltenem linguistischem Phonem liegen.
Zur Gewinnung der besten Ergebnisse werden der Anfang und das Ende jedes Vokabularwortes mittels eines Verfahrens markiert, bei dem die aufgezeichnete Audiosignalform und die Spektrumrahmen von Hand geprüft werden. Zur automatischen Durchführung dieser Prüfung ist es erforderlich, daß jedes Wort einzeln gesprochen wird und daß am Wortanfang und am Wortende eine Pause liegt, damit das Gerät die Wortgrenzen genau finden kann. Die Bezugsmuster können von jeder derartigen Probe jedes gesprochenen Wortes einzeln erstellt werden, wobei alle Varianzen in dem Referenzmuster auf brauchbare Konstante gesetzt werden. Danach kann das Trainingsmaterial aus Äußerungen bestehen, die für die zu erkennenden Äußerungen typisch sind, wobei die Wort- und Segmentgrenzen dort liegen, wo 'Sie auch beim Erkennungsprozess aufgefunden werden. Wenn die Statistiken für eine geeignete Anzahl von Trainingsäußerungen akkumuliert bzw. gesammelt sind, werden die ursprünglichen Bezugsmuster durch die so ermittelten Bezugsmuster ersetzt. Danach wird ein zweiter Durchlauf mit dem übungsmaterial. durchgeführt. Dieses Mal werden die Worte in Intervalle unterteilt, und zwar auf der Basis der Entscheidungen, die von dem
- 80 -
A 45 324 b
k - 176 - 80 -
28. September 1982
Erkennungsprozessor.gemäß Fig. 3 getroffen werden. Jedes Drei-Rahmen-Eingangsrauster (oder ein typisches Eingangsmuster für jedes Bezugsmuster) wird nach dem vorstehend beschriebenen Musterabgleichverfahren einem Bezugsmuster zugeordnet. Die Mittelwerte und Varianzen werden ein zweites Mal gesammelt, um den endgültigen Satz von Bezugsmustern zu bilden, die vollständig mit dem Verfahren kompatibel sind, gemäß welchem sie von dem Erkennungsgerät benutzt werden.
- 81 -
A 45 324 b
k - 176 - 81 -
28. September 1982
Die Mindest-Verweilzeit (erforderlicheVerweilzeit) und die Maximal-Verweilzeit(erforderliche plus optioneile Verweilzeit) werden vorzugsweise während der tibungsvorgänge bestimmt. Bei einem bevorzugten Ausführungsbeispiel der Erfindung wird das System unter Einsatz mehrerer Sprecher in der vorstehend beschriebenen Weise trainiert. Außerdem werden im Verlauf der Übungen, wie oben beschrieben, durch den Erkennungsprozess automatisch die Mustergrenzen in Übereinstimmung mit dem oben beschriebenen Verfahren bestimmt. Diese Grenzen werden aufgezeichnet, und die Verweilzeiten für jedes von dem System erkannte Schlüsselwort werden gespeichert.
Am Ende eines Trainingsdurchlaufs werden die Verweilzeiten für jedes Muster geprüft, und die minimalen und maximalen Verweilzeiten für das Muster werden ausgewählt. Gemäß einer bevorzugten Ausführungsform der Erfindung wird ein Histogramm bzw. Säulendiagramm der Verweilzeit erzeugt, und die minimale und die maximale Verweilzeit werden auf die 25% bzw. die 75%-Linien gelegt. Auf diese Weise wird eine hohe
- 82 -
A 45 324 b
k - 176 - 82 -
28. September 1982
Erkennungsgenauigkeit erreicht, während die Häufigkeit von Fehlalarmen klein gehalten wird. Für die minimale und die maximale Verweilzeit können auch andere Werte gewählt werden, wobei stets ein Kompromiss zwischen der Erkennungsgenauigkeit.und der Häufigkeit eines Fehlalarms zu .treffen ist. Wenn eine niedrige Mindestverweilzeit und eine hohe maximale Verweilzeit gewählt werden, dann wird die höhere Erkennungsgenauigkeit, also im allgemeinen auf Kosten einer entsprechend größeren Häufigkeit von Fehlalarmen, erreicht.
- 83 -
A 45 324 b
k - 176 - 83 -
28. September 1982
Das realisierte/ das Spracherkennungsverfahren benutzende System
Wie weiter oben ausgeführt, wurde ein derzeit bevorzugtes Ausführungsbeispiel der Erfindung realisiert, bei dem die Signal- und Daten-Manipulation, die über die Datenaufbereitung durch den Vorprozessor gemäß Fig. 2 hinausging, mit Hilfe eines Digitalrechners des Typs PDP-11 der Firma Digital Equipment Corporation realisiert und gesteuert wurde, welcher in Verbindung mit dem Spezial-Vektor-Rechner-Prozessor, der in der US-PS 4 228 498 beschriebenen Art arbeitete.
Außer einer entsprechenden Rechner-Programmierung zur Realisierung des erfindungsgemäßen Verfahrens kann auch eine Hardware-mäßige Realisierung des erfindungsgemäßen Verfahrens erfolgen. Gemäß Fig. 9 werden bei einem speziellen Hardware-Ausführungsbeispiel der Erfindung Wahrscheinlichkeitsdaten von dem die Wahrscheinlichkeitsdaten erzeugenden Prozessor über Leitungen 300 einem Speicherelement 302 zugeführt. Der Speicher 302 hat eine ausreichende Speicherkapazität, um die Wahrscheinlichkeitswerte eines Eingangsrahmenmusters bezüglich jedes der Zielmuster der Vokabular-Schlüsselworte zu speichern, die erfasst werden sollen. Diese Wahrscheinlichkeitswert-Eingangsdaten sind über die Leitungen 300 vom Prozessor verfügbar und werden . zum Speicher 302 mit einer hohen Datengeschwindigkeit und in einer vorgegebenen Folge übertragen. Die Daten
- 84 -
A 45 324 b
k - 176 - 84 -
28. September 1982
werden in dem Speicher 302 gemäß den Adressenausgangssignalen gespeichert, die von einem Adressenzähler 306 über Leitungen 304 ausgegeben werden. Der Adressenzähler 306 wird durch Impulssignale fortgeschaltet, die synchron mit den Daten auf den Leitungen 300 über eine Zählleitung 308 zugeführt werden. Der Adressenzähler 306 wird durch ein Rückstellsignal über eine Leitung 310 auf einen vorgegebenen Anfangszählerstand zurückgesetzt.
Bei dem dargestellten Ausführungsbeispiel gemäß Fig.9 sind weiterhin Zielmuster-Schieberegisterspeicher 312(a), 312(b).. . 312(n) vorgesehen, wobei jeder Speicher 312 fähig ist, die Wahrscheinlichkeitswert-Daten für jeden Rahmen der während der letzten 2,56 Sekunden verarbeiteten Audio-Daten relativ zu einem speziellen Zielmuster zu speichern. Die Speicher 312 sind Vorwärts/ Rückwärts-Schieberegister, die beim Rückwärtsschieben mit Daten geladen werden können, die über Eingangsleitungen 314 eintreffen und die beim Vorwärtsschieben mit Daten.geladen werden können, die über Leitungen 315 eintreffen. Das Ausgangssignal jedes der hier verwendeten Schieberegisterspeicher 312 ist über Ausgangsleitungen 316 verfügbar, wenn die Speicherdaten in Vorwärtsrichtung verschoben werden.
Im Betrieb verschiebt ein Speicher 312 bei jedem (Vorwärts-)Taktimpuls über eine Leitung 318 den Inhalt des Registers um eine Datenstelle nach vorn,
- 85 -
A 45 324 b
k - 176 - 85-
28. September 1982
d.h. näher zum Ausgang, von dem die Leitungen 316 ausgehen. In entsprechender Weise verschiebt jedes Register 312 bei jedem (Rückwärts-)Taktimpuls, der über eine Leitung 319 eintrifft, seine Inhalte, um eine.· Position "rückwärts", d.h. näher zu den Eingangsleitungen 315. Jeder Speicher hat beim dargestellten Ausführungsbeispiel 256 Positionen zum Speichern der Wahrscheinlichkeitswert-Daten für 2,56 Sekunden eines Audiosignals.
Die Ausgangssignale von jedem Speicher 312 über die Leitungen 316 werden durch Vergleichsschaltungen 320 über Gatter-Elemente.321 gesteuert. Die Vergleichsschaltungen 320, die in Verbindung mit Fig. 10 nachstehend noch näher beschrieben werden, haben jeweils als Ausgangssignale einen akkumulierten, normierten Wortwert über Leitungen 322 und ein "Wortwert-Akkumulation beendef'-Signal über Leitungen 324. Wenn das Signal "Wortwert-Akkumulation beendet" über sämtliche Leitungen 324 verfügbar ist, d.h. von jeder Vergleichsschaltung 320, was der Beendigung der Datenaufbereitung zur Schlüsselworterkennung gemäß dem vorstehend beschriebenen Verfahren entspricht, wird das Schlüsselwort geprüft, um festzustellen, (a) ob der normierte Wortwert für den laufenden Rahmen einen vorgegebenen Schwellwert übersteigt und (b) ob dasjenige Wort bzw. diejenigen Wörter, für die der Schwellwert überschritten wird, nunmehr für eine weitere, sich an die Entscheidung anschließende Verarbeitung in Betracht gezogen werden sollten.
- 86 -
A 45 324 b
k - 176 - 86 -
28. September 1982
Für jedes Schlüsselwort des Vokabulars ist eine Vergleichsschaltung 320 vorgesehen. Jede Vergleichsschaltung empfängt somit als Eingangssignale über die Leitungen 326 die Ausgangssignale aller derjenigen Speicher 312/ die einem der Zielmuster dieses Schlüsselwortes zugeordnet sind. Wie weiter unten noch näher beschrieben wird, bestimmt die Vergleichsschaltung, die aus einem Mehrfachvergleich-Multiplexer-Element 330 und einem Dauerzählung-Prozess-Steuerelement besteht, den normieren akkumulierten Wortwert aufgrund der Hypothese, daß das Schlüsselwort mit der gerade laufenden Rahmenzeit endet.
Die gezeigten Schieberegisterspeicher 312 sind so ausgebildet, daß sie entweder in einem umlaufenden Vorwärtsschiebebetrieb oder in einem nicht umlaufenden Rückwärtsschiebebetrieb arbeiten können. Beim umlaufenden Vorwärtsschiebebetrieb empfangen die Schieberegisterspeicher 312 ihre Eingangssignale über Leitungen 315. Die Eingangssignale werden über Gatter-Elemente 333 und 321 zu den Speichern 312 gelenkt. Wenn ein Speicher nicht im Umlaufbetrieb arbeitet, empfängt er seine Eingangsdaten über die Leitung 314 und über ein Gatterelement 338 von dem Speicher 302.
Im Betrieb werden die Speicher zunächst im Rückwärtsbetrieb über die Gatte-Elemente 338 bis zu ihrer vollen Kapazität geladen, so daß sich am Schluß 256 Wahrscheinlichkeitswerte in jedem Speicher befinden.
- 87 -
A 45 324 b
k - 176 - 87 -
28. September 1982
Diese Eingangsdaten werden vom Speicher 302 gemäß der aufeinanderfolgenden Zählschritte des Adressenzählers 306 übernommen. In Übereinstimmung mit der Adressenzählung werden die Gatter 338 selektiv mittels über die Leitungen 342 selektiv angelegter Freigabesignale freigegeben. Die Freigabesignale über die Leitungen 342 werden mittels einer 1 aus n-Decodierschaltung 344 der Reihe nach an die Gatter 338 angelegt, so daß die Ausgangsdaten des Speichers 302 in den jeweils entsprechenden Speichern 312 gespeichert werden.
Wenn die ersten 256 Eingangswahrscheinlichkeitswerte für jedes Muster in den betreffenden Speicher 312 geladen sind (dies entspricht beim betrachteten Ausführungsbeispiel den 256 Auslese-Vorgängen für den Inhalt des Speichers 302) dann werden die Speicher 312 im Vorwärts-Umlaufbetrieb betrieben, so daß der zuletzt in das Schieberegister eingegebene Wert (der Wahrscheinlichkeitswert, welcher dem 256sten Rahmen entspricht) aus den Speicher ausgelesen und über die nunmehr freigegebenen Gatter 321 und 333 geleitet wird, um über die Leitungen 315 zum Eingangssignal am anderen Ende desselben Schieberegisterspeichers zu werden. Bei. den aufeinanderfolgenden Schiebevorgängen für den Speicher 312 werden also die Wahrscheinlichkeitswerte für jedes Zielmuster für jeden der letzten 256 Rahmen hinsichtlich ihrer chronologischen Reihenfolge rückwärts, d.h. von hinten nach vorn, ausgelesen und in derselben Reihenfolge wieder in das Schieberegister
- 88 -
A 45 324 b
k - 176 - 88 -
28. September 1982
eingelesen. Nach 256 Zählbefehlen über die Vorwärtsschiebeleitung 318 kehrt das Schieberegister also wieder in seinen ursprünglichen Datenzustand zurück. Nunmehr wird jedoch der nächste Wahrscheinlichkeitswert in die Register in vorgegebener Reihenfolge vom Speicher 302 eingegeben, wobei zu beachten ist, daß der Speicher 3 02 während der Schiebevorgänge an den Registern 312 aufgeladen wurde. Der neue Wahrscheinlichkeit swert wird über die Gatter 338 in Abhängigkeit von einem über die Leitungen 319 eintreffenden Rückwärtsladeimpuls eingegeben. Dabei geht der älteste Wahrscheinlichkeitswert in dem Speicher 312 verloren.
Die Schieberegister 312 enthalten dann den zweiten bis 257sten Wahrscheinlichkeitswert für jedes Zielmuster. Diese Werte werden in derselben Weise verschoben, wie dies vorstehend beschrieben wurde, und das Verfahren des VerSchiebens und Ladens wird zu jeder neuen Rahmenzeit fortgesetzt, so daß die Wahrscheinlichkeitswerte zum geeigneten Zeitpunkt für die Datenaufbereitung ausgelesen werden, wie dies nachstehend beschrieben wird.
Wie Fig. 10 zeigt, werden die Ausgangssignale jeder Gruppe von Registern 312, die einem Schlüsselwort zugeordnet sind, über Leitungen 326 für einen zugeordneten, gesteuerten zweipoligen Multiplexer-Schalter 360 verfügbar gemacht, der wie folgt arbeitet. Zu
- 89 -
A 45 324 b
k - 176 - 89 -
28. September 1982
Beginn jeder Rahmenzeit wird jeder Multiplexer 360 .
durch ein Rückstellsignal über eine Leitung 362 zurück- \ gesetzt. In Abhängigkeit von dem Rückstellsignal auf : der Leitung 362 werden die Ausgangsleitungen 364, 366 ; des Multiplexers 360 mit den betreffenden ersten Eingangsleitungen, hier mit den Leitungen 326(a) und 326(b) verbunden. Am Beginn der Rahmenzeit stellen ;
die Daten auf den Leitungen 326(a) den Eingangswahrscheinlichkeitswert während der laufenden Rahmenzeit für das letzte Zielmuster des Schlüsselwortes dar, :
und die Daten auf den Leitungen 326(b) den während :
des laufenden Rahmenzielmusters geltenden Wert für das nächst-vorangegangene Zielmuster. Die über die ;
Leitungen 364 und 366 ausgegebenen Daten vom Multiplexer 360 werden einem numerischen Vergleichselement, beispielsweise einem Rechenelement 368, zugeführt, welches den "besseren" Eingangswert über Leitungen 370 ausgibt und welches die Angabe,auf welcher der Leitungen 364 bzw. 366 der bessere Eingangswert vorhanden war, über eine Leitung 372 ausgibt. Der bessere Wert wird zum Inhalt eines Addierers 374 addiert. (Der Inhalt des Addierers 374 wird zu Beginn jeder Rahmenzeit durch das Rückstellsignal auf der Leitung 362 auf Null zurückgesetzt.) Der akkumulierte Wahr- ;
scheinlichkeitswert wird dann normiert, indem man i
den Inhalt des Addierers 374, der über die Leitungen 375 verfügbar ist und den akkumulierten Gesamtwert darstellt, durch die Anzahl N von Wahrscheinlichkeitswerten teilt, die akkumuliert wurden. Die Division
- 90 -
A 45 324 b
k - 176 - 90 -
28. September 1982
wird in einer Teilerschaltung 37 6 ausgeführt. Das auf den Leitungen 37 8 zur Verfügung stehende Ausgangssignal der.Teilerschaltung 376 stellt den mittleren Wert pro Knoten dar und wird verwendet, um zu bestimmen, ob das betreffende Schlüsselwort ein möglicher aufgefundener Schlüsselwort-Kandidat ist.
Die auf den Leitungen 372 zur Verfügung stehenden Ausgangssignale der Vergleicherschaltung 368 werden in Verbindung mit der minimalen und der maximalen Verweilzeit verwendet, um festzustellen, ob der Multiplexer 360 zu den beiden nächsten Eingangswahrscheinlichkeitswerten fortgeschaltet werden sollten, d.h. zu den auf den Leitungen 326(b) und 326(c) verfügbaren Wahrscheinlichkeitswerten (die dem vorletzten bzw. dem drittletzten Zielmuster des Schlüsselwortes entsprechen) Der Signalpegel auf den Leitungen 372 wird außerdem in Verbindung mit dem Maximal-Verweilzeitsignal auf einer Leitung 380 ausgewertet, um zu bestimmen, ob zu dem akkumulierten Wortwert im Addierer 374 ein Strafwert addiert werden sollte. Wenn zu einem Zeitpunkt, zu welchem die maximale Verweilzeit für das gerade laufende Zielmuster bereits überschritten wurde , der Wahrscheinlichkeitswert auf der Leitung 364 der "bessere" Wahrscheinlichkeitswert ist, wird somit das Gatter 382 betätigt,und zu dem akkumulierten Wert im Addierer 374 wird ein Strafwert bzw. eine Strafzählung addiert.
- 91 -
ÖAD ORIGINAL
A 45 324 b
k - 176
28. September 19 82
Ein vorprogrammiertes Element 386 zur Überwachung der Verweilzeit, im wesentlichen ein Zähler, empfängt über Leitungen 388 und 390 die minimalen und maximalen Verweilzeiten für die verschiedenen Zielmuster. Wenn die minimale Verweilzeit um den Zählerstand im Zähler überschritten wird, wird ein Signalpegel auf eine Leitung 392 "minimale Verweilzeit überschritten" gelegt. Wenn die maximale Verweilzeit für das laufende Zielmuster überschritten wird, wird ein entsprechender Signalpegel an die Leitung 380 gelegt, wie dies oben ausgeführt wurde. Der Zähler 386 wird jedesmal zurückgesetzt, wenn der Multiplexer 360 von den über die Leitungen 394 eintreffenden Signalen zum nächsten Paar von Leitungen fortgeschaltet wird, wie dies nachstehend noch näher erläutert wird. Außerdem wird der Zähler jedesmal um 1 fortgeschaltet, wenn die umlaufenden Speicher 312 einen Schiebeimpuls über die Leitungen 318 erhalten. Ein ifortlängenzähler 396 liefert die Wortlänge über Leitungen 397 zur Teilerschaltung 376. Der Zähler 396 wird zu Beginn jeder Rahmenzeit durch ein Rucksteilsignal auf einer Leitung 362 zurückgestellt (sowie entsprechend einem Rückwärtschiebesignal über die Leitung 319) und wird jedesmal um 1 fortgeschaltet, wenn aufgrund der Impulse auf der Leitung 318 ein Schiebevorgang in dem umlaufenden Speicher 312 herbeigeführt wird.
Gemäß der Erfindung steuern die minimalen und die maximalen Verweilzeiten in Verbindung mit dem Signal-
- 92 -
A 45 324 b
k - 176 - 92 "
28. September 1982
pegel auf der Leitung 372 das Weiterschalten, des Multiplexers 360. Wenn beispielsweise das laufende Zielmuster einen "besseren" Wert hat, was durch die Werte auf den Leitungen 3 64 und 366 angezeigt wird, dann wird ein "nächstes Signal" nur erhalten, wenn die maximale Verweilzeit überschritten wurde. (Dies wird durch einen Impuls auf der Leitung 318 bewirkt, der durch ein Gatter 398 zu einer Leitung 394 durchgelassen wird.) Wenn andererseits die minimale Verweilzei-c überschritten ist, aber das bessere Signal über den Leitung 366 ansteht, d.h. wenn das nächst-vorangehende Zielmuster " besser" ist, dann wird ein Impuls auf den Leitungen über ein Gatter 400 durchgelassen, um ein "Nächster"-Signal über die Leitung 394 zu bewirken und der Multiplexer wird erneut zum nächsten "Paar" von Zielmuster-Wahrscheinlichkeitswert-Leitungen weitergeschaltet. Bei allen anderen Bedingungen wird der Multiplexer beim betrachteten Ausführungsbeispiel nicht weitergeschaltet.
Wenn ein Multiplexer 360 auf das letzte · Paar von Eingangsleitungen 326, die Leitungen 326(x-1) und 326(x) beim betrachteten Ausfuhrungsbeispiel, durchgeschaltet ist, bewirkt der Eingang eines "NÄCHSTER"-Signals auf der Leitung 394 die Erzeugung eines "Ende"-Signals auf der Leitung 324. Das "Ende"-Signal hat die Wirkung, den Ausgang der Teilerschaltung 37 6 "einzufrieren" und zu melden, daß der Wert für das Schlüsselwort erreicht wurde.
- 93 -
A 45 324 b
k - 176 - 93 -
28. September 1982
Wie oben ausgeführt, werden die besten Werte, wenn von allen Vergleichsschaltungen 320 "Ende"-Signale erhalten werden, durchgesehen, und es erfolgt eine Entscheidung in Übereinstimmung mit den oben angegebenen Kriterien. Die Entscheidung erfolgt vor·dem Beginn einer nächsten Rahmenzeit, vorzugsweise im Echtzeitbetrieb, und die ganze Prozedur beginnt von neuem.
Aus dem Vorstehenden wird deutlich, daß die der Erfindung zugrunde liegenden Aufgaben gelöst werden und daß außerdem zusätzliche Vorteile erreicht werden.
Außerdem wird deutlich, daß Gerät und Verfahren zur Schlüsselworterkennung, wie sie vorstehend beschrieben wurden, auch die spezielle Anwendungsmöglichkeit bieten, isolierte Sprache zu erkennen. Weiterhin sieht man, daß dem Fachmann, ausgehend von den beschriebenen Ausführungsbeispielen, zahlreiche Möglichkeiten für Änderungen, Vereinfachungen und/oder Ergänzungen zu Gebote stehen, ohne daß er dabei den Grundgedanken der Erfindung verlassen müsste.

Claims (1)

  1. * N
    HOEGER1 STELLrVcHT VpA'RTNER3236885
    PATENTANWÄLTE
    UHLANDSTRASSE I4C-D 7COO STUTTGART 1
    A 45 324 b Anmelder: Verbex Corporation
    k - 176 2 Oak Park
    28.September 1982 Bedford, MA 01730
    USA
    Patentansprüche
    MJ
    Verfahren zur Sprachanalyse zum Erkennen mindestens eines vorgegebenen Schlüsselwortes in einem Audiosignal, bei dem jedes Schlüsselwort durch eine Schablone charakterisiert ist, die mindestens ein Zielmuster aufweist, und bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistunsspektrum darstellt und bei dem jedem Zielmuster eine minimale Verweilzeitdauer und eine maximale Verweilζeitdauer zugeordnet ist, gekennzeichnet durch folgende Verfahrensschritte:
    Man bildet mit einer sich wiederholenden Rahmenge- ^*"*1 schwindigkeit eine Folge von Rahmenmustern aus dem
    Audiosignal, die das Audiosignal darstellen, wobei jedem Rahmenmuster eine Rahmenzeit zugeordnet ist;
    man erzeugt für jedes Rahmenmuster ein numerisches Maß der Ähnlichkeit des betreffenden Rahmenmusters mit ausgewählten Zielmustern;
    man akkumuliert für jede Rahmenzeit und jedes Schlüsselwort unter Verwendung der numerischen Maße einen numerischen Wortwert, der die Wahrscheinlichkeit darstellt, daß eines der Schlüsselwörter in dieser Rahmenzeit endete,
    BAD ORlGSWAL
    A 45 324 b
    k - 176 - 2 -
    28. September 1982
    wobei dieser Akkumuiierungsschritt den Schritt einschließt, daß für jedes Schlüsselwort die numerischen Maße für jedes aus einer kontinuierlichen Folge der wiederholt erzeugten Rahmenmuster akkumuliert werden, wobei mit dem numerischen Maß der Ähnlichkeit eines laufenden Rahmenmusters und eines letzten Zielmusters des Schlüsselworts begonnen wird und
    man erzeugt mindestens eine vorläufige Schlüsselwort-Erkennungsentscheidung wenn der numerische Wert für ein Schlüsselwort einen vorgegebenen Erkennungspegel übersteigt.
    Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Akkumulierungsschritt außerdem folgende Schritte umfasst:
    Man addiert zu dem akkumulierten Wortwert bei jedem Rahmenmuster der Folge, bei dem die minimale Verweilzeit für das dann gerade laufende Zielmuster nicht überschritten wird/ eine numerische Menge, welche das jeweils bessere Maß zweier numerischer Maße darstellt, von denen das eine die Ähnlichkeit zwischen dem betreffenden Rahmenmuster und dem dann gerade laufende Zielmuster darstellt, während das andere die Ähnlichkeit zwischen diesem Rahmenmuster und einem nächst-vorangehenden Zielmuster darstellt;
    man addiert zu dem akkumulierten Wortwert bei jedem Rahmenmuster, welches zu einer Rahmenzeit
    236885
    Ά 45 324 b
    k - 176 ■ - 3 -
    28. September 1982
    auftritt, die die minimale Verweilzeit des dann gerade laufenden Zielmusters übersteigt, das jeweils bessere Maß zweier numerischer Maße,von denen das eine die Ähnlichkeit dieses Rahmenmusters mit dem dann gerade laufenden Zielmuster darstellt, während das andere die Ähnlichkeit dieses Rahmenmusters mit dem nächst-vorangehenden Zielmuster darstellt;
    man bringt das dann gerade laufende Zielmuster auf den neuesten Stand, wenn sowohl die rniniale Verweilzeit übersehrittenwird als auch das numerische Maß für das nächst-vorangehende Zielmuster besser ist als das numerische Maß für das dann gerade laufende Zielmuster, indem man das nächst-vorangehende Z ie I-muster als das neue, dann gerade laufende Zielmuster bestimmt und
    man bestimmt das nächst-vorangehende Zielmuster zum neuen, .dann gerade laufende Zielmuster, wenn die maximale Verweilzeit für das dann gerade laufende Zielmuster überschritte!wird.
    Verfahren nach Anspruch 2, gekennzeichnet durch folgende weitere Schritte:
    Man erhält einen Rahmenzählerstand aufrecht, der der Anzahl von Musterrahmen entspricht, die beim Bestimmen des numerischen Wortwerts für ein Schlüsselwort benutzt wurden :and
    man erzeugt einen normierten Wortwert, indem man den akkumulierten aumerisehen Wortwert für ein
    BAD ORIGINAL
    * * • · ti
    A 45 324 b
    k - 176 - 4 -
    28. September 1982
    Schlüsselwort durch die Anzahl der bei seiner Erzeugung verwendeten Musterrahmen teilt.
    4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der zweite Schritt folgenden Schritt umfasst:
    '. Man addiert jedesmal, wenn die maximale Verweil
    zeit einer Zielmuster-Komponente des Schlüsselworts
    ■ w - überschritten wird, einen Strafwert zu dem akkumulierten Wert für das Schlüsselwort.
    5. Gerät zur Sprachanalyse zum Erkennen mindestens eines vorgegebenen Schlüsselwortes in einem Audiosignal, bei dem jedes Schlüsselwort durch eine
    ι Schablone charakterisiert ist, die mindestens ein
    \ Zielmuster aufweist, und bei dem jedes Zielmuster
    • mindestens ein Kurzzeit-Leistungsspektrum dar-
    stellt und bei dem jedem Zielmuster eine minimale
    Verweilzeitdauer und eine maximale Verweilzeit-
    \ i dauer zugeordnet ist, gekennzeichnet durch folgen-
    j de Merkmale:
    Es sind Einrichtungen vorgesehen, mit deren Hilfe mit einer sich wiederholenden Rahmengeschwindigkeit eine Folge von Rahmenmustern aus dem Audiosignal erzeugbar ist, die das Audiosignal darstellen, wobei jedem Rahmenmuster eine Rahmenzeit zugeordnet ist;
    es sind Einrichtungen vorgesehen, mit deren Hilfe für jedes Rahmenmuster ein numerisches Maß der Ähnlichkeit des betreffenden Rahmenmusters mit ausgewählten Zielmustern erzeugbar ist;
    A 45 324 b
    k - 176 - 5 -
    28. September 1982
    es sind Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jede Rahmenzeit und jedes Schlüsselwort unter Verwendung der numerischen Maße ein numerischer Wortwert akkumulierbar ist, der die Wahrscheinlichkeit darstellt, daß eines der Schlüsselwörter in dieser Rahmenzeit endete, wobei diese Akkumuliereinrichtungen Einrichtungen umfassen, mit deren Hilfe für jedes Schlüsselwort die numerischen Maße für jedes aus einer kontinuierlichen Folge der wiederholt erzeugten Rahmenmuster akkumu-Lierbar sind, wobei mit dem numerischen Maß der Ähnlichkeit eines laufenden Rahmenmusters und eines letzten Zielmusters des Schlüsselwortes begonnen wird, und
    es sind Einrichtungen vorgesehen, mit deren Hilfe mindestens eine vorläufige Schlüsselwort-Erkennungsentscheidung erzeugbar ist, wenn der numerische Wert für ein Schlüsselwort einen vorgegebenen Erkennung swert übersteigt.
    6. Gerät nach Anspruch 5, gekennzeichnet durch folgende Merkmale:
    Es sind erste Addiereinrichtungen vorgesehen, mit deren Hilfe zu dem akkumulierten Wortwert bei jedem Rahmenmuster der Folge, bei dem die minimale Verweilzeit für das dann gerade laufende Zielmuste.£: nicht überschritten wird, eine numerische Menge addierbar ist, welche das "jeweils bessere Maß zweier numerischer Maße darstellt, von denen das eine die Ähnlichkeit zwischen dem betreffenden
    -6-
    ! A 45 324 b
    j ■ k - 176 - 6 -
    28. September 1982
    Rahmenmuster und dem dann gerade laufenden Zielmuster darstellt, während das andere die Ähnlichkeit zwischen diesem Rahmenmuster und einem nächstvorangehenden Zielmuster darstellt; es sind zweite Addiereinrichtungen vorgesehen, mit deren Hilfe zu dem akkumulierten.Wortwert bei jedem Rahmenmuster, welches zu einer Rahmenzeit auftritt, die die minimale Verweilzeit des dann - gerade laufenden Zielmusters übersteigt, das je
    weils bessere Maß zweier numerischer Maße addierbar ist, von denen das eine die Ähnlichkeit dieses Rahmenmusters mit dem dann gerade laufenden Zielmuster darstellt, während das andere die Ähnlichkeit dieses Rahmenmusters mit dem nächst-vorangehenden Zielmuster darstellt;
    es sind Einrichtungen vorgesehen, mit deren Hilfe das dann gerade laufende Zielmuster auf den neuesten Stand bringbar ist, wenn sowohl die minimale Verweilzeit überschritten wird als auch das numerische Maß für das nächst-vorangehende Zielmuster besser ist als das numerische Maß für das dann gerade laufende Zielmuster, indem das nächstvorangehende Zielmuster als das neue, dann gerade laufende Zielmuster bestimmt wird, und es sind Wähleinrichtungen vorgesehen, mit deren Hilfe das nächst-vorangehende Zielmuster als neues, dann gerade laufendes Zielmuster auswählbar, ist, wenn die maximale Verweilzeit für das dann gerade laufende Zielmuster überschritten wird.
    — 7 —
    A 45 324 b
    k - 176 - 7 -
    28. September 1982
    7. Gerät nach Anspruch 6, gekennzeichnet durch föl- ; gende Merkmale: I Es sind Zählereinrichtungen vorgesehen, mit deren j Hilfe ein Rahmenzählerstand aufrechterhaltbar ist, ; der der Anzahl von Musterrahmen entspricht, die
    beim Bestimmen des numerischen Wortwerts für ein j Schlüsselwort benutzt wurden und ;
    es sind Einrichtungen vorgesehen, mit deren Hilfe
    ein normierter Wortwert erzeugbar ist, indem ir.an
    den akkumulierten numerischen Wortwert für ein
    Schlüsselwort durch die Anzahl der bei seiner Erzeugung verwendeten Musterrahmen teilt.
    8. Gerät nach Anspruch 7, dadurch gekennzeichnet, ί daß die zweiten Addiereinrichtungen Addierein- ?
    richtungen zum Addieren eines Strafwerts zu dem ί
    akkumulierten Wert für ein Schlüsselwort umfassen, j so oft die maximale Verweilzeit einer Zielmuster-
    Komponente des Schlüsselwortes überschritten
    ι wird. '
    -8-
    A 45 324 b
    k - 176 - 8 -
    28. September 1982
    9. Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, in dem jedes Schlüsselwort durch eine Schablone charakterisiert ist/ welche mindestens ein Zielmuster besitzt, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum, darstellt und bei dem jedes Zielmuster mit mindestens einer Position für eine erforderliche Verweilzeit und mindestens einer Position für eina optionelle Verweilzeit verknüpft ist, gekennzeichnet durch folgende Verfahrensschritte:
    Man bildet zu einer sich wiederholenden Rahmenzeit eine Folge von Rahmenmustern aus dem Audiosignal·, wobei die Rahmenmuster das Audiosignal darstellen;
    man erzeugt ein numerisches Maß für die -Ähnlichkeit zwischen jedem dieser Rahmenmuster und jedem der Zielmuster;
    man akkumuliert für jede zweite und spätere erforderliche Zielmuster-Verweilzeitposition und für jede optionelle Zielmuster-Verweilzeitposition die Summe des akkumulierten Wertes für die vorausge-
    • gangene Zielmuster-Verweilzeitposition während des
    j ' vorausgegangenen Zeitrahmens und des mit dem Ziel-
    j muster verknüpften laufenden numerischen Maßes
    j und
    j man akkumuliert für jede erste erforderliche Ziel-
    . muster-Verweilzeitposition für jedes Schlüsselwort
    ' die Summe aus dem Wert der ersten Verweilzeitpo
    sition während der vorangegangenen Rahmenzeit
    A 45 324 b
    k - 176 - 9 -
    8. September 1982
    und aus dem laufenden numerischen Maß, welches mit dem ersten Schlüsselwort-Zielmuster verknüpft ist;
    man akkumuliert für jede erste erforderliche Zielmuster-Verweilzeitposition die Summe aus dem am besten endenden akkumulierten Wert für das vorausgehende Zielmuster desselben Schlüsselwortes und aus dem laufenden numerischen Wert, der mit dem Zielmuster verknüpft ist, und
    man erzeugt eine Erkennungsentscheidung auf der Basis der akkumulierten Werte der möglichen Wortenden des letzten Zielmusters jedes Schlüsselwortes.
    10. Verfahren durch Anspruch 9, gekennzeichnet durch folgende weitere Schritte:
    Man speichert in Verbindung mit jedem für eine Verweilzeitposition akkumulierten Wert ein Wort- jt-\ dauer-Zählergebnis, welches der Zeitpositionslänge
    des Schlüsselwortes entspricht, welches mit dem akkumulierten Wert an der Verweilzeitposition verknüpft ist.
    11. Verfahren nach Anspruch 10, gekennzeichnet durch folgenden weiteren Schritt:
    Man speichert in Verbindung mit jedem akkumulierten Wert für die Verweilzeitposition ein Zielmusterdauer-Zählergebnis, welches der Positionsfolge der Verweilzeitposition in dem Zielmuster entspricht.
    A 45 324 b
    k - 176 - 10 -
    28. September 1982
    i 12. Gerät zur Sprachanalyse zum Erkennen mindestens
    ! eines Schlüsselwortes in einem Audiosignal, in dem
    jedes Schlüsselwort durch eine Schablone charakte-
    I risiert ist, welche mindestens ein Zielmuster besitzt/ bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt, und bei dem jedes Zielmuster mit mindestens einer Position für ι eine erforderliche Verweilzeit und mindestens einer
    Position für eine optioneile Verweilzeit ver-
    * knüpft ist, gekennzeichnet durch folgende Merki male:
    Es sind Einrichtungen vorgesehen, mit deren Hilfe
    • zu einer sich wiederholenden Rahmenzeit eine Folge ; von Rahmenmustern aus dem Audiosignal erzeugbar
    j ist, wobei die Rahmenmuster das Audiosignal darstellen;
    i
    es sind Einrichtungen vorgesehen, mit deren Hilfe ! ein numerisches Maß für die Ähnlichkeit zwischen
    jedem dieser Rahmenmuster und jedem der Ziel-ϊ ^0/ muster erzeugbar ist;
    j es sind erste Akkumuliereinrichtungen vorgesehen./
    ! mit deren Hilfe für jede zweite und spätere er-
    ! forderliche Zielmuster-Verweilzeitposition und
    für jede optioneile Zielmuster-Verweilzeitposition
    ! die Summe des akkumulierten Wertes für die voraus
    gegangene Zielmuster-Verweilzeitposition während des vorausgegangenen Zeitrahmens und des mit dem Zielmuster verknüpften laufenden numerischen Maßes erzeugbar ist und
    -11-
    A 45 324 b
    k - 176 - 11 -
    28. September 1982
    es sind zweite Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jede erste erforderliche Zielmuster-Verweilzeitposition für jedes Schlüsselwort die Summe aus dem Wert der ersten Verweilzeitposition während der vorangegangenen Rahmenzeit und aus dem laufenden numerischen Maß, welches mit dem ersten Schlüsselwort verknüpft ist, akkumulierbar ist;
    es sind dritte Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jede erste erforderliche Zielmuster-Verweilzeitposition die Summe aus dem am besten endenden akkumulierten Wert für das vorausgehende Zielmuster desselben Schlüsselwortes und aus dem laufenden numerischen Wert, der mit dem Zielmuster verknüpft ist, akkumulierbar ist, und
    es sind Einrichtungen vorgesehen, mit deren Hilfe eine Erkennungsentscheidung auf der Basis der akkumulierten Werte der möglichen Wortenden des letzten Zielmusters jedes Schlüsselwortes erzeugbar ist.
    13. Gerät nach Anspruch 12, dadurch gekennzeichnet, daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jedem für eine Verweilzeitposition akkumulierten Wert ein Wortdauer-Zählergebnis speicherbar ist, welches der Zeitpositionslänge des Schlüsselwortes entspricht, welches mit dem akkumulierten Wert an der Verweilzeitposition verknüpft ist.
    -12-
    A 45 324 b
    k - 176 - 12 -
    28. September 1982
    \ 14. Gerät nach Anspruch 13, dadurch gekennzeichnet,
    daß zweite Speichereinrichtungen, vorgesehen sind, mit deren Hilfe in Verbindung mit jedem akkumu-
    j lierten Wert für die Verweilzeitposition ein Ziel-
    ! musterdauer-Zählergebnis speicherbar ist, welches
    ■ der Positionsfolge der Verweilzeitpositionen in j dem Zielmuster entspricht.
    V^ -
    ϊ 15. Verfahren zur Sprachanalyse zum Erkennen mindestens
    : eines Schlüsselwortes in einem Audiosignal, in dem
    ι jedes Schlüsselwort durch eine Schablone charakte-
    Γ risiert ist, welche mindestens ein Zielmuster be-
    ■ sitzt, bei dem jedes Zielmuster mindestens ein
    • Kurzzeit-Leistungsspektrum darstellt und bei dem
    j jedes Zielmuster mit mindestens einer Position für
    ι eine erforderliche Verweilzeit und mindestens ei
    ner Position für eine optionelle Verweilzeit ver-
    knüpft ist, gekennzeichnet durch folgende Verfahrensschritte zur Bildung von Bezugsmustern, wel- ^""/ ehe die Schlüsselworte darstellen:
    Man teilt ein eintreffendes Audiosignal, welches
    einem Schlüsselwort entspricht, in mehrere Unter-
    Intervalle;
    man erzwingt, daß jedes Unterintervall einem ein-
    zigartigen Bezugsmuster entspricht;
    man macht einen zweiten Durchlauf durch die Audio-
    eingangssignale, die das Schlüsselwort darstellen,
    um von den Analysiereinrichtungen erzeugte Unter-
    Intervalle für die Schlüsselworte zu erhalten;
    -13-
    A 45 324 b
    k - 176 - 13 -
    28. September 1982
    man bestimmt die Intervalldauer für jedes Unterintervall ;
    man wiederholt diese Schritte bei einer Anzahl von AudioeingangsSignalen, die dasselbe Schlüsselwort darstellen;
    man erzeugt statistische Daten, die die Bezugsmusterdauer beschreiben, die mit jedem Unter-Intervall verknüpft ist und
    man bestimmt die minimale und die maximale Verweilzeit für jedes Bezugsmuster aus den gesammelten statistischen Daten.
    16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß die Unterintervalle vom Anfang bis zum Ende eines Audioeingangssignal-Schlüsselwortes anfänglich in gleichmäßigen Abständen vorgesehen sind.
    -14-
DE19823236885 1981-10-05 1982-10-05 Verfahren und geraet zur sprachanalyse Withdrawn DE3236885A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/308,891 US4489434A (en) 1981-10-05 1981-10-05 Speech recognition method and apparatus

Publications (1)

Publication Number Publication Date
DE3236885A1 true DE3236885A1 (de) 1983-09-22

Family

ID=23195816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19823236885 Withdrawn DE3236885A1 (de) 1981-10-05 1982-10-05 Verfahren und geraet zur sprachanalyse

Country Status (6)

Country Link
US (1) US4489434A (de)
JP (1) JPS58134698A (de)
CA (1) CA1182224A (de)
DE (1) DE3236885A1 (de)
FR (1) FR2520911B1 (de)
GB (2) GB2107102B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3522364A1 (de) * 1984-06-22 1986-01-09 Ricoh Co., Ltd., Tokio/Tokyo System zum erkennen von sprache

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5945583A (ja) * 1982-09-06 1984-03-14 Nec Corp パタンマッチング装置
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US5131043A (en) * 1983-09-05 1992-07-14 Matsushita Electric Industrial Co., Ltd. Method of and apparatus for speech recognition wherein decisions are made based on phonemes
JPS60179797A (ja) * 1983-10-27 1985-09-13 日本電気株式会社 パタンマツチング装置
US5218668A (en) * 1984-09-28 1993-06-08 Itt Corporation Keyword recognition system and method using template concantenation model
US4718094A (en) * 1984-11-19 1988-01-05 International Business Machines Corp. Speech recognition system
JPH0632012B2 (ja) * 1985-03-25 1994-04-27 株式会社東芝 音声認識装置
US5774851A (en) * 1985-08-15 1998-06-30 Canon Kabushiki Kaisha Speech recognition apparatus utilizing utterance length information
WO1987002816A1 (en) * 1985-10-30 1987-05-07 Central Institute For The Deaf Speech processing apparatus and methods
US4820059A (en) * 1985-10-30 1989-04-11 Central Institute For The Deaf Speech processing apparatus and methods
US4783803A (en) * 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4797929A (en) * 1986-01-03 1989-01-10 Motorola, Inc. Word recognition in a speech recognition system using data reduced word templates
JPS62220998A (ja) * 1986-03-22 1987-09-29 工業技術院長 音声認識装置
GB8613327D0 (en) * 1986-06-02 1986-07-09 British Telecomm Speech processor
US4805218A (en) * 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech analysis and speech recognition
DE3711342A1 (de) * 1987-04-03 1988-10-20 Philips Patentverwaltung Verfahren zum erkennen zusammenhaengend gesprochener woerter
US5168524A (en) * 1989-08-17 1992-12-01 Eliza Corporation Speech-recognition circuitry employing nonlinear processing, speech element modeling and phoneme estimation
DE4031421C2 (de) * 1989-10-05 1995-08-24 Ricoh Kk Musteranpassungssystem für eine Spracherkennungseinrichtung
US5202952A (en) * 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
TW323364B (de) * 1993-11-24 1997-12-21 At & T Corp
US5642444A (en) * 1994-07-28 1997-06-24 Univ North Carolina Specialized image processing system architecture and method for image data arrays
NZ294659A (en) 1994-11-01 1999-01-28 British Telecomm Method of and apparatus for generating a vocabulary from an input speech signal
US5832430A (en) * 1994-12-29 1998-11-03 Lucent Technologies, Inc. Devices and methods for speech recognition of vocabulary words with simultaneous detection and verification
WO1996037881A2 (en) * 1995-05-26 1996-11-28 Applied Language Technologies Method and apparatus for dynamic adaptation of a large vocabulary speech recognition system and for use of constraints from a database in a large vocabulary speech recognition system
US5825977A (en) * 1995-09-08 1998-10-20 Morin; Philippe R. Word hypothesizer based on reliably detected phoneme similarity regions
US5684925A (en) * 1995-09-08 1997-11-04 Matsushita Electric Industrial Co., Ltd. Speech representation by feature-based word prototypes comprising phoneme targets having reliable high similarity
US5822728A (en) * 1995-09-08 1998-10-13 Matsushita Electric Industrial Co., Ltd. Multistage word recognizer based on reliably detected phoneme similarity regions
US6314392B1 (en) * 1996-09-20 2001-11-06 Digital Equipment Corporation Method and apparatus for clustering-based signal segmentation
WO1998014934A1 (en) * 1996-10-02 1998-04-09 Sri International Method and system for automatic text-independent grading of pronunciation for language instruction
US6023676A (en) * 1996-12-12 2000-02-08 Dspc Israel, Ltd. Keyword recognition system and method
DE19804047C2 (de) * 1998-02-03 2000-03-16 Deutsche Telekom Mobil Verfahren und Einrichtung zur Erhöhung der Erkennungswahrscheinlichkeit von Spracherkennungssystemen
US6243678B1 (en) * 1998-04-07 2001-06-05 Lucent Technologies Inc. Method and system for dynamic speech recognition using free-phone scoring
US6711536B2 (en) * 1998-10-20 2004-03-23 Canon Kabushiki Kaisha Speech processing apparatus and method
US6466906B2 (en) * 1999-01-06 2002-10-15 Dspc Technologies Ltd. Noise padding and normalization in dynamic time warping
US6233557B1 (en) * 1999-02-23 2001-05-15 Motorola, Inc. Method of selectively assigning a penalty to a probability associated with a voice recognition system
US7058573B1 (en) * 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
US6766295B1 (en) 1999-05-10 2004-07-20 Nuance Communications Adaptation of a speech recognition system across multiple remote sessions with a speaker
US6418409B1 (en) * 1999-10-26 2002-07-09 Persay Inc. Error derived scores for detection systems
KR100531549B1 (ko) * 1999-10-29 2005-11-28 마쯔시다덴기산교 가부시키가이샤 음성 인식 입력 음성의 음정 정규화 장치
AU2001255338A1 (en) * 2000-05-04 2001-11-12 Motorola, Inc. Method of traceback matrix storage in a speech recognition system
US7769580B2 (en) * 2002-12-23 2010-08-03 Loquendo S.P.A. Method of optimising the execution of a neural network in a speech recognition system through conditionally skipping a variable number of frames
US7672845B2 (en) * 2004-06-22 2010-03-02 International Business Machines Corporation Method and system for keyword detection using voice-recognition
US8543393B2 (en) * 2008-05-20 2013-09-24 Calabrio, Inc. Systems and methods of improving automated speech recognition accuracy using statistical analysis of search terms
JP6645063B2 (ja) * 2014-07-29 2020-02-12 ヤマハ株式会社 ターゲット文字列の推定

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2659096A1 (de) * 1975-12-29 1977-07-07 Dialog Syst Verfahren und vorrichtung zur spracherkennung
DE2825186A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2825082A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur spracherkennung
DE2825110A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur erkennung kontinuierlicher sprachsignale
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816722A (en) * 1970-09-29 1974-06-11 Nippon Electric Co Computer for calculating the similarity between patterns and pattern recognition system comprising the similarity computer
US4059725A (en) * 1975-03-12 1977-11-22 Nippon Electric Company, Ltd. Automatic continuous speech recognition system employing dynamic programming
GB1557286A (en) * 1975-10-31 1979-12-05 Nippon Electric Co Speech recognition
US4107460A (en) * 1976-12-06 1978-08-15 Threshold Technology, Inc. Apparatus for recognizing words from among continuous speech
US4156868A (en) * 1977-05-05 1979-05-29 Bell Telephone Laboratories, Incorporated Syntactic word recognizer
US4301329A (en) * 1978-01-09 1981-11-17 Nippon Electric Co., Ltd. Speech analysis and synthesis apparatus
JPS5525150A (en) * 1978-08-10 1980-02-22 Nec Corp Pattern recognition unit
JPS597120B2 (ja) * 1978-11-24 1984-02-16 日本電気株式会社 音声分析装置
US4238597A (en) * 1979-04-26 1980-12-09 General Electric Company Process for producing copolyester-carbonates
JPS56116148A (en) * 1980-02-15 1981-09-11 Nec Corp Audio typewriter
US4336421A (en) * 1980-04-08 1982-06-22 Threshold Technology, Inc. Apparatus and method for recognizing spoken words
EP0046335A3 (de) * 1980-08-18 1982-03-10 Imperial Chemical Industries Plc Extraktion von Poly-beta-hydroxybuttersäure

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2659096A1 (de) * 1975-12-29 1977-07-07 Dialog Syst Verfahren und vorrichtung zur spracherkennung
US4038503A (en) * 1975-12-29 1977-07-26 Dialog Systems, Inc. Speech recognition apparatus
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect
DE2825186A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2825082A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur spracherkennung
DE2825110A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur erkennung kontinuierlicher sprachsignale
US4227176A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
US4227177A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
US4241329A (en) * 1978-04-27 1980-12-23 Dialog Systems, Inc. Continuous speech recognition method for improving false alarm rates

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3522364A1 (de) * 1984-06-22 1986-01-09 Ricoh Co., Ltd., Tokio/Tokyo System zum erkennen von sprache

Also Published As

Publication number Publication date
GB2107102A (en) 1983-04-20
GB2159996B (en) 1986-05-21
JPS58134698A (ja) 1983-08-10
GB8501043D0 (en) 1985-02-20
GB2107102B (en) 1986-02-05
US4489434A (en) 1984-12-18
GB2159996A (en) 1985-12-11
FR2520911A1 (fr) 1983-08-05
FR2520911B1 (fr) 1986-12-26
CA1182224A (en) 1985-02-05

Similar Documents

Publication Publication Date Title
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE2659096C2 (de)
DE2825110A1 (de) Verfahren zur erkennung kontinuierlicher sprachsignale
DE2825082A1 (de) Verfahren zur spracherkennung
DE2825186A1 (de) Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2659083C2 (de) Verfahren und Vorrichtung zur Sprechererkennung
DE69619284T3 (de) Vorrichtung zur Erweiterung der Sprachbandbreite
DE3306730C2 (de)
DE3819178C2 (de)
DE69926851T2 (de) Verfahren und Vorrichtung zur Sprachaktivitätsdetektion
DE69627580T2 (de) Verfahren zur Rauschverminderung in einem Sprachsignal
DE2626793B2 (de) Elektrische Schaltungsanordnung zum Bestimmen des stimmhaften oder stimmlosen Zustandes eines Sprachsignals
DE60204504T2 (de) Schlüsselworterkennung in einem verrauschten Signal
DE2753277A1 (de) Spracherkennungseinrichtung
DE2524804A1 (de) Verfahren und vorrichtung zur automatischen spracherkennung
DE10030105A1 (de) Spracherkennungseinrichtung
DE2753707A1 (de) Einrichtung zur erkennung des auftretens eines kommandowortes aus einer eingangssprache
DE3407078A1 (de) Elektronisches musikinstrument
DE2919085A1 (de) Vorverarbeitungsverfahren und -vorrichtung fuer eine spracherkennungsvorrichtung
DE4031638C2 (de)
DE69635141T2 (de) Verfahren zur Erzeugung von Sprachmerkmalsignalen und Vorrichtung zu seiner Durchführung
DE2636032C3 (de) Elektrische Schaltungsanordnung zum Extrahieren der Grundschwingungsperiode aus einem Sprachsignal
DE2020753A1 (de) Einrichtung zum Erkennen vorgegebener Sprachlaute

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal