DE3236885A1 - Verfahren und geraet zur sprachanalyse - Google Patents
Verfahren und geraet zur sprachanalyseInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000001228 spectrum Methods 0.000 claims abstract description 93
- 230000005236 sound signal Effects 0.000 claims abstract description 34
- 238000009825 accumulation Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 230000003252 repetitive effect Effects 0.000 claims description 3
- 239000000523 sample Substances 0.000 claims 4
- 239000013074 reference sample Substances 0.000 claims 1
- 238000001514 detection method Methods 0.000 abstract description 13
- 238000012545 processing Methods 0.000 abstract description 11
- 230000003595 spectral effect Effects 0.000 abstract description 6
- 238000000926 separation method Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 44
- 230000015654 memory Effects 0.000 description 38
- 238000005311 autocorrelation function Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 24
- 230000000875 corresponding effect Effects 0.000 description 23
- 230000009466 transformation Effects 0.000 description 14
- 238000012935 Averaging Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000010183 spectrum analysis Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003245 coal Substances 0.000 description 1
- 210000000860 cochlear nerve Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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.
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. |
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.
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
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
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
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-
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
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
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
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.
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)
L(x [ k) = Σ + A. (17)
1=1 ik
96
wobei A1. = ^ Tn
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
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.
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-
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:
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)
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
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)
- * NHOEGER1 STELLrVcHT VpA'RTNER3236885PATENTANWÄLTE
UHLANDSTRASSE I4C-D 7COO STUTTGART 1A 45 324 b Anmelder: Verbex Corporationk - 176 2 Oak Park28.September 1982 Bedford, MA 01730USAPatentansprücheMJVerfahren 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 demAudiosignal, 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 ORlGSWALA 45 324 bk - 176 - 2 -28. September 1982wobei 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 undman 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 Rahmenzeit236885Ά 45 324 bk - 176 ■ - 3 -28. September 1982auftritt, 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 undman 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 :andman erzeugt einen normierten Wortwert, indem man den akkumulierten aumerisehen Wortwert für einBAD ORIGINAL* * • · tiA 45 324 bk - 176 - 4 -28. September 1982Schlü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 Verweilzeit 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 minimaleVerweilzeitdauer 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 bk - 176 - 5 -28. September 1982es 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, undes 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 bj ■ k - 176 - 6 -28. September 1982Rahmenmuster 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 jeweils 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 bk - 176 - 7 -28. September 19827. 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, diebeim 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 bk - 176 - 8 -28. September 19829. 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 desj ' vorausgegangenen Zeitrahmens und des mit dem Ziel-j muster verknüpften laufenden numerischen Maßesj undj man akkumuliert für jede erste erforderliche Ziel-. muster-Verweilzeitposition für jedes Schlüsselwort' die Summe aus dem Wert der ersten Verweilzeitposition während der vorangegangenen RahmenzeitA 45 324 bk - 176 - 9 -8. September 1982und 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, undman 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ängedes 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 bk - 176 - 10 -28. September 1982i 12. Gerät zur Sprachanalyse zum Erkennen mindestens! eines Schlüsselwortes in einem Audiosignal, in demjedes 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 einerPosition 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 erzeugbarj ist, wobei die Rahmenmuster das Audiosignal darstellen;
ies sind Einrichtungen vorgesehen, mit deren Hilfe ! ein numerisches Maß für die Ähnlichkeit zwischenjedem 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 undfür jede optioneile Zielmuster-Verweilzeitposition! die Summe des akkumulierten Wertes für die vorausgegangene 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 bk - 176 - 11 -28. September 1982es 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, undes 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 bk - 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 demj jedes Zielmuster mit mindestens einer Position fürι eine erforderliche Verweilzeit und mindestens einer 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, welcheseinem 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 bk - 176 - 13 -28. September 1982man 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 undman 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-
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)
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)
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 |
EP0243479A4 (de) * | 1985-10-30 | 1989-12-13 | Central Inst Deaf | Sprachverarbeitungsanordnung und -verfahren. |
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 |
DK0789901T3 (da) | 1994-11-01 | 2000-06-19 | British Telecomm | Talegenkendelse |
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 |
DE69622565T2 (de) * | 1995-05-26 | 2003-04-03 | Speechworks International, Inc. | Verfahren und vorrichtung zur dynamischen anpassung eines spracherkennungssystems mit grossem wortschatz und zur verwendung von einschränkungen aus einer datenbank in einem spracherkennungssystem mit grossem wortschatz |
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 |
US5825977A (en) * | 1995-09-08 | 1998-10-20 | Morin; Philippe R. | Word hypothesizer 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 |
EP1096470B1 (de) * | 1999-10-29 | 2005-04-06 | Matsushita Electric Industrial Co., Ltd. | Normalisierung der Grundfrequenz zur Spracherkennung |
WO2001084534A2 (en) * | 2000-05-04 | 2001-11-08 | Motorola Inc. | Method of traceback matrix storage in a speech recognition system |
AU2002363894A1 (en) * | 2002-12-23 | 2004-07-14 | 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2659096A1 (de) * | 1975-12-29 | 1977-07-07 | Dialog Syst | Verfahren und vorrichtung zur spracherkennung |
DE2825110A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur erkennung kontinuierlicher sprachsignale |
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 |
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)
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 |
-
1981
- 1981-10-05 US US06/308,891 patent/US4489434A/en not_active Expired - Lifetime
-
1982
- 1982-09-21 GB GB08226887A patent/GB2107102B/en not_active Expired
- 1982-09-21 GB GB08501043A patent/GB2159996B/en not_active Expired
- 1982-10-04 FR FR8216618A patent/FR2520911B1/fr not_active Expired
- 1982-10-05 JP JP57174093A patent/JPS58134698A/ja active Pending
- 1982-10-05 CA CA000412884A patent/CA1182224A/en not_active Expired
- 1982-10-05 DE DE19823236885 patent/DE3236885A1/de not_active Withdrawn
Patent Citations (9)
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 |
DE2825110A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur erkennung kontinuierlicher sprachsignale |
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 |
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)
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 |
---|---|
FR2520911A1 (fr) | 1983-08-05 |
CA1182224A (en) | 1985-02-05 |
FR2520911B1 (fr) | 1986-12-26 |
JPS58134698A (ja) | 1983-08-10 |
GB2159996B (en) | 1986-05-21 |
GB2107102A (en) | 1983-04-20 |
GB2159996A (en) | 1985-12-11 |
US4489434A (en) | 1984-12-18 |
GB2107102B (en) | 1986-02-05 |
GB8501043D0 (en) | 1985-02-20 |
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 | |
DE2613258C2 (de) | Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache | |
DE2825082A1 (de) | Verfahren zur spracherkennung | |
DE2825186A1 (de) | Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale | |
DE69430082T2 (de) | Verfahren und Vorrichtung zur Sprachdetektion | |
DE2659083C2 (de) | Verfahren und Vorrichtung zur Sprechererkennung | |
DE3878001T2 (de) | Spracherkennungseinrichtung unter anwendung von phonemermittlung. | |
DE69519453T2 (de) | Spracherkennung mit Sprecheradaptierung mittels Berechnung von Mittelwerten akustischer Kategorien | |
DE69029001T2 (de) | Verfahren und Einrichtung zur Erkennung von Signalzeitfolgen mit von Signalvariationen unabhängigem Lernen | |
DE69420400T2 (de) | Verfahren und gerät zur sprechererkennung | |
DE69619284T2 (de) | Vorrichtung zur Erweiterung der Sprachbandbreite | |
DE3306730C2 (de) | ||
DE69033084T2 (de) | Schaltung zur Spracherkennung unter Anwendung von nichtlinearer Verarbeitung, Sprachelementmodellierung und Phonembewertung | |
DE3819178C2 (de) | ||
DE69926851T2 (de) | Verfahren und Vorrichtung zur Sprachaktivitätsdetektion | |
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 | |
DE2919085A1 (de) | Vorverarbeitungsverfahren und -vorrichtung fuer eine spracherkennungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |