[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE2613258C2 - Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache - Google Patents

Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache

Info

Publication number
DE2613258C2
DE2613258C2 DE2613258A DE2613258A DE2613258C2 DE 2613258 C2 DE2613258 C2 DE 2613258C2 DE 2613258 A DE2613258 A DE 2613258A DE 2613258 A DE2613258 A DE 2613258A DE 2613258 C2 DE2613258 C2 DE 2613258C2
Authority
DE
Germany
Prior art keywords
mask
signal
memory
speech parameters
function
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.)
Expired
Application number
DE2613258A
Other languages
English (en)
Other versions
DE2613258A1 (de
Inventor
James Erving Anaheim Calif. Paul Jr.
Visvaldis Alberts Orange Calif. Vitols
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing North American Inc
Original Assignee
Rockwell International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell International Corp filed Critical Rockwell International Corp
Publication of DE2613258A1 publication Critical patent/DE2613258A1/de
Application granted granted Critical
Publication of DE2613258C2 publication Critical patent/DE2613258C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

— einer Vielzahl von Speicherstufen (331,333, 335) zum Speichern entsprechender Folgen eines vorbestimmten Korrelations-Datensignals, wobei jede dieser Speicherstufe ein zugeordnetes Fenster besitzt, das eine vorbestimmte Folge von vorher gespeicherten Korrelationsdatensignalen, die mit dieser Speicherstufe zusammenhängen, umfaßt,
— einer Vielzahl von Maximum-Detektoren (339,341,343), die mit den Fenstern verbunden sind, um jeweils den höchsten Wert der Signale innerhalb der Fenster weiterzugeben,
— einem Kombinierer (337) zum Kombinieren eines anderen vorbestimmten Korrelations-Datensignals mit den höchsten Werten der Signale der Vielzahl der Maximum-Detektoren zwecks Erzeugung einer Haupt-Entscheidungsfunktion und
— einem Schwellwert-Gatter (345) zum Erzeugen des Anzeige-Entscheidungsausgangssignales immer dann, wenn die Amplitude der Haupt-Entscheidungsfunktion den Schwellwert überschreitet.
Beschreibung
Die Erfindung bezieht sich auf eine Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache mit einem Prozessor, der auf ein kontinuierliches Sprachsignal anspricht und von ihm kontinuierlich eine Vielzahl von analogen spektralen Sprachparametern erzeugt, einer Generatoranordnung, die auf die Vielzahl der analogen spektralen Sprachparameter anspricht, um periodisch digitalisierte spektrale Sprachparameter zu erzeugen, ersten Speichermitteln zum Speichern von Folgen der periodisch erzeugten digitalisierten spektralen Sprachparameter, zweiten Speichermitteln zum Speichern vorgewählter digitalisierter Bezugsmasken und einer Entscheidungs-Anordnung, die ein Anzeige-Entscheidungsausgangssignal erzeugt, wenn ein Schlüsselwort erkannt wird.
Diese Schaltungsanordnung ist aus der DE-OS
23 26 517 bekanntgeworden.
Dem bekannten Spracherkennungssystem liegt die Aufgabe zugrunde, ein verbessertes Spracherkennungssystem zu schaffen, das eine relativ kleine Bibliothek idealisierter, im eingeschwungenen Zustand befindlicher Laute benutzt, um damit entweder einzeln oder zusammengezogen gesprochene Wörter zu erkennen. Das System soll an die Eigenarten einer bestimmten Person anpaßbar sein, so daß von dieser Person gesprochene Worte erkennbar sind.
Dazu wird ein Sprachanalysator verwendet, der die in das Mikrofon gesprochenen Wörter analysiert und dessen Ausgangssignale die Signalpegel darstellen, die durch das Ansprecbverhalten der Sprachbereiche des jeweiligen Sprechers bei Aussprache eines gegebenen Wortes oder Tones über den gesamten durch Bandpaßfilter im Analysator erfaßten Frequenzspektrum erzeugt werden. Der Sprachanalysator erzeugt Ausgangssignale, wobei jedes Ausgangssignal der Energieverteilung in dem von dem betreffenden Filter durchgelassenen Teilfrequenzbereich oder Frequenzband entspricht. Merkmalauswahlschaltungen identifizieren hervorstechende Merkmale oder Pole der Energiekonzentration innerhalb der Einhüllenden des Frequenzspektrums der Ausgangssignale des Sprachanalysators. Die Merkmalauswahlschaltungen sind mit selbstregelnden Schwellwert- und Impulsformerstufen ausgerüstet, die gut geformte Rechteckimpulse mit einer Standardamplitude als Eingangssignale für ein Merkmalschieberegister erzeugen. Auf einem Bildanzeigegerät werden die durch die Merkmalauswahlschaltung ausgewählten Signale, die die selbstregelnden Schwellwerte überschreiten, und in dem Merkmalschieberegister zwischengespeichert werden, dargestellt. Diese Merkmale bilden ein mögliches sog. "Uniphon" als eine Folge von Einsen und Nullen, die darstellen, wann ein Ausgangssignal der Merkmal-Auswahlschaltung unterhalb oder oberhalb eines vorgegebenen Schwellwertes liegt. Diese Folge von Nullen und Einsen wird bei der Anpassung der Anlage an einen bestimmten Sprecher in einen Adaptivspeicher eingegeben. Der Adaptivspeicher umfaßt eine Anzahl von Speichereinheiten, die als elektronische Schablonen bekannt sind. Während dieser Lernphase der Maschine spricht ein Sprecher eine ausgewählte Liste von Wörtern, aus welcher dann die Auswahl der gewünschten Laute zur willkürlichen Klassifizierung in 10 Konsonanten- und 10 Voka'kategorien erfolgt, die den Satz der Uniphone eines gegebenen Sprechers bilden.
Während der ersten Vokalerkennung beim Aufbau der Bibliothek werden gesprochene Wörter zur späteren Analyse zuerst im Sprachanalysator analysiert, die herausragenden Merkmale werden durch Merkmalauswahlschaltungen ermittelt und im Merkmalschieberegister gespeichert, von wo aus sie mit dem Inhalt des adaptiven Speichers zur Identifizierung des Uniphongehaltes eines zu analysierenden Wortes verglichen werden können. Die aus dem Adaptivspeicher kommenden Folgen erkannter Uniphone werden vorübergehend im Uniphonschieberegister zur Darstellung auf einer Anzeigevorrichtung gespeichert Dann kann damit eine Wortbibliothek bestimmter zu erkennender Wörter durch Verbindung identifizierter Uniphonfolgen mit zugeordneten Wortdetektoren aufgebaut werden, wobei eine Einrichtung, wie z. B. eine Schalttafel oder ein gleichwertiger digitaler Speicher, benutzt wird.
Während des automatischen Betriebes des Systems ergeben in das Mikrofon gesprochene Wörter Uniphonfolgen, die im Adaptivspeicher erkannt, im Schieberegister vorübergehend gespeichert und wahlweise durch die Schalttafel mit der Worterkennungs- und Codiereinrichtung verbunden werden können. In der Worterkennungs- und Codiereinrichtung werden Wörter erkannt und mit einem Wortcode zum Speichern im Ausgabeschieberegister codiert, wo sie zur Überprüfung vor der Benutzung zur Verfügung gestellt werden können.
Das bekannte System ermöglicht nicht die Erkennung von einem unbekannten Sprecher gesprochener Worte
&iacgr;&ogr; und ist in der Handhabung, insbesondere dem Aufbau der Bibliothek, unpraktisch. Desweiteren wird keine asynchrone Wörtererkennung durchgeführt, so daß die Leistungsfähigkeit eines derartigen Systems rapide abnimmt, wenn in dem Signal ein Rauschen enthalten ist.
Außerdem werden bei der Erkennung hervorstechende Merkmale oder Pole der Energiekonzentration innerhalb der Einhüllenden des Frequenzspektrums. die als Spannungssignale am Ausgang des Sprachanalysators auftreten, identifiziert. Dies bewirkt eine gänzlich
andere Arbeitsweise und anderen Aufbau der Anordnung.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, das bekannte System derart auszubilden, daß es leistungsfähiger ist als die bisherigen Systeme und nach der Speicherung von Worten durch eine Person auf beliebig viele Personen anspricht.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß die ersten Speichermittel eine Folge der digitalen spektralen Sprachparameter speichern, wobei jedesmal.
wenn ein neuer Sprachparameter erhalten wird, der älteste vorhandene Sprachparameter aus der Folge entfernt wird, die zweiten Speichermittel die Bezugsmasken in Form vorgewählter Paar- und/oder Triplett-Phonem-Unterelemente von mindestens einem ausgewählten Schlüsselwort vorspeichern, eine Korrelationsanordnung vorgesehen ist. die alle digitalisierten Paar- und/oder Triplett-Phonem-Unterelemente jeder Bezugsmaske mit einer entsprechend langen Folge von aufeinanderfolgenden spektralen Sprachparametern korreliert, um asynchron für jede Bezugsmaske ein Korrelations-Datensignal zu erzeugen, und die Entscheidungs-Anordnung für jedes gewünschte Schlüsselwort auf die Korrelationsdatensignale anspricht, um das Anzeige-Entscheidungsausgangssignal zu erzeugen.
Die Erfindung schafft somit ein neues asynchrones, leistungsfähiges Spracherkennungssystem, das auch die Erkennung von einem unbekannten Sprecher gesprochener Worte ermöglicht.
Anhand von in den Zeichnungen dargestellten Ausführungsbeispielen wird die Erfindung näher erläutert.
Es zeigen:
Fig. 1 ein vereinfachtes Blockschaltbild einer bevorzugten Ausführungsform der Erfindung;
Fig. 2 ein Blockschaltbild des Sprach-Prozessors der Fig. 1;
Fig. 3 ein Blockschaltbild des STV-Generators der Fig.l;
Fig. 4 Impulsdiagramme zur Erläuterung der Arbeitsweise des STV-Generators nach Fig. 3;
Fig. 5 ein Blockschaltbild des asynchronen Korrelationskreises nach Fig. 1;
Fig. 6 ein Blockschaltbild der zentralen Steuerung der Fig.5·
Fig. 7 ein Impulsdiagramm zur Erläuterung der Arbeitsweise der zentralen Steuerung nach Fig. 6;
Fig. 8 ein Blockschaltbild der Bezugsmaskeneinheit nach Fig.5;
Fig. 9 die Adressenpositionen in dem Bezugsmasken-
speicher nach den Fig. 5 und 8;
Fig. 10 ein Blockschaltbild der Speichereinheit mit direktem Zugriff gemäß Fig. 5;
Fig. HA und HB die STV-Adressenposition in den Speicher der Fig. 5 und 10 während der gewählten Zustände "LOAD" und "RUN";
Fig. 12 verschiedene Typen von Korrelationsoperationen, durchgeführt durch einige der verschiedenen Konfigurationen, die in der arithmetischen Strang-Einheit der Fig. 5 verwendet werden können;
Fig. 13A und 13B zwei verschiedene Verwirklichungen der Vergleichsfunktion gemäß Fig. 5 und 12;
Fig. 14A, 14B und 14C drei verschiedene Realisierungsmöglichkeiten für den Schwellwertfunktions-Änderer nach Fig. 5 und 12;
Fig. 15A und 15B zwei verschiedene Realisierungsmöglichkeiten für den Gewichts-Funktion-Änderer der Fig. 5 und 12;
Fig. 16 ein Blockschaltbild des Summen-Akkumulators der Fig. 5 und 12;
Fig. 17 die Arbeitsweise der von Eins verschiedenen arithmetischen Strang-Einheit 151 für eine Bezugsmaske X mit der Länge von 16 Worten;
Fig. 18 ein Blockschaltbild eines ersten Teils der Entscheidungsfunktion nach Fig. 1;
Fig. 19 ein Blockschaltbild eines zweiten Teiles der Entscheidungsfunktion nach Fig. 1, und
Fig. 20 ein Blockschaltbild eines alternativen zweiten Teiles der Entscheidungsfunktion nach Fig. 1, die anstelle der Anordnung nach Fig. 19 verwendbar ist.
Die Fig. 1 zeigt ein vereinfachtes Blockschaltbild eines bevorzugten Ausführungsbeispiels der Schaltungsanordnung gemäß der Erfindung zum Erkennen eines oder mehrerer Schlüsselworte in einer am Eingang anliegenden kontinuierlichen Sprache. Ein Sprach-Prozessor 11, der im wesentlichen ein Spektral-Analysierer ist, führt in dem kontinuierlichen breitbandigen Eingangs-Sprachsignal N analoge spektrale Bestimmung durch, um in N-Kanälen analoge spektrale Sprachparameter S\ bis S.\ zu erzeugen. Diese spektralen Bestimmungen können der Energie von Bandpässen entsprechen, deren Grenzen jeweils um 200 Hz auseinanderliegen. Die Signale jeder der N-Kanäle der analogen spektralen Sprachparameter werden mittels eines STV-Generators 13 zeit-multiplext und digitalisiert, um in jeder 10-Miilisekunden-Periode Spektral-Zeit-Vektor-(STV)-Daten mit N-Komponenten, die digitalisierten, spektralen Sprachparameter, zu erzeugen.
Diese STV-Daten des STV-Generators 13 werden in einem asynchronen Korreiationskreis 15 gespeichert, zusammen mit einer vorbestimmten Anzahl von vorher empfangenen STV-Daten, um so eine Folge von gespeicherten STV-Daten zu erzeugen. Zu jedem Zeitpunkt, in dem ein neuer STV-Wert erhalten wird, wird der älteste gespeicherte STV-Wert aus der Folge entfernt. Die Folge der gespeicherten STV-Daten formt im wesentlichen ein Spektrogramm, wobei die Frequenzkomponenten jeder der STV-Daten beispielsweise entlang einer vertikalen Frequenzachse angeordnet sind und wobei die STV-Daten entlang einer horizontalen Zeitachse in Abständen von 10 msec, angeordnet sind. Werden also STV-Daten jede 10 msec, entnommen, dann entsteht ein Muster, das das Spektrogramm bildet.
Der asynchrone Korrelationskreis 15 bewirkt kontinuierlich eine asynchrone Korrelation hinsichtlich der Folge der STV-Daten, die von dem STV-Generator 13 erzeugt werden. Um diese kontinuierliche asynchrone Korrelation durchzuführen, werden die ankommenden
digitalisierten spektralen Sprachparameter in der Folge der aufeinanderfolgenden STV-Daten selektiv mit intern gespeicherten Bezugsmasken (gezeigt in Fig. 9) in dem Korrelationskreis 15 korreliert. Die gespeicherten Bezugsmasken entsprechen Unterelementen der Schlüsselwortäußerung. Typischerweise stellen diese Unterelemente ein Paar von Phonemen ("dyade" oder zwei phonetische Ereignisse) und/oder ein Triplet von Phonemen ("triade" oder drei phonetische Ereignisse) dar. Eine "dyade" oder "triade" ist in jeder Bezugsmaske gespeichert. Im Mittel sind in dem vorliegenden System für die Anzeige des gewünschten Schlüsselwortes sechs Bezugsmasken notwendig.
Es sollte angemerkt werden, daß die englische Spraehe ein phonetisches Alphabet besitzt, das aus phonetischen Symbolen aufgebaut ist, die ihrerseits diese phonetischen Ereignisse darstellen. In der englischen Sprache sind ungefähr 44 phonetische Ereignisse bzw. Erscheinungen vorhanden. Diese phonetischen Ereignisse schließen auch beispielsweise die Vokale ee, uh, uu, er, ah usw. ein, dh. "stops", die eine Person durchführt, indem sie in bestimmten Positionen t, k, g, b usw. und bei anderen Konsonanten die stimmhafte Aussprache abschließt.
Die gespeicherten Bezugsmasken können eine verschiedene Länge aufweisen. Typischerweise können sie in der Länge von 1 bis 16 STV-Daten schwanken, wobei im Mittel eine Bezugsmaske eine Länge von ungefähr 10 STV-Daten hat.
Jede der gespeicherten Bezugsmasken wird periodisch mit einer entsprechend langen Folge von aufeinanderfolgenden STV-Daten verglichen, zwecks Identifizierung bzw. Korrelierung der "dyad"- und "triad"-Tongruppen. Die am nahe kommendste Korrelation zwisehen jeder Bezugsmaske und der entsprechenden STV-Folge wird durch ein entsprechendes Korrelationszeichen angezeigt. Auf diese Weise wird periodisch eine Messung für die Schlüsselwort-Wahrscheinlichkeit für jedes der gewünschten Schlüsselworte berechnet.
Die Ausgangs-Korrelationszeichen zwischen der gespeicherten Bezugsmaske und den in Parametern aufgelösten Sprachsignalen oder STV-Daten gehen in die ausgangsseitige Korrelationsinformation des Korrelationskreises 15 ein. Diese ausgangsseitige Korrelations-Information wird durch den Entscheidungs-Funktions-Kreis 17, der ein Rechner oder eine spezielle Logik sein kann, in ein Gesamt-Ähnlichkeitsmaß kombiniert. Die Entscheidungsfunktion 17 besitzt intern Schwellwerte für dieses Ähnlichkeitsmaß, um für jedes Schlüsselwort, das erfaßt wurde, ein das Erscheinen anzeigendes Emscheidungs-Ausgangssignal zu erzeugen. Die unter der Entscheidungsfunktion vorgenommene Kombination der Korrelationsdaten berücksichtigt sowohl die zeitliche Folge der Unterelemente des Schlüsselwortes als auch die Veränderbarkeit der Gliederungsrate.
Ein System-Zeitgenerator 19 erzeugt über interne, nicht dargestellte Teilerstufen ausgangsseitig Taktzeitimpulse von 1 MHz, 100 KHz und 100 Hz, die selektiv an die Kreise der Fig. 1 angelegt sind, damit sie in der oben beschriebenen Weise arbeiten können. Im folgenden sollen die Komponenten der Fig. 1 in größeren Einzelheiten erläutert werden, damit die Erfindung besser verständlich ist.
Die Fig. 2 zeigt ein Blockschaltbild des Sprach-Prozessors 11 der Fig. 1. Das eingangsseitige kontinuierliche Sprachsignal wird gesteuert verstärkt durch einen automatischen Verstärkungssteuerkreis 21, bevor es an die Vorverstärkerstufen 23 angelegt wird. Diese Vor-
verstärkerstufen 23 heben das Frequenzspektrum des Signals des Schaltkreises 21 beispielsweise um 6 Decibel pro Oktave an, bevor das resultierende vorangehobene Signal an einen Spektralanalysator 25 gelangt. Der Spektralanalysator 25 kann eine Filterbank von nichtdargestellten aufeinanderfolgenden 200 Hz-Bandpaß-Filtern aufweisen, zwecks Trennung der verschiedenen Frequenzkomponenten in dem vorangehobenen Signal.
Die verschiedenen getrennten Frequenzkomponenten des Spektralanalysators 25 durchlaufen zunächst eine Gleichrichtung mittels der Dioden 27i —27&khgr; und werden anschließend mittels Tiefpaßfilter 29i —29* gefiltert, bevor sie an übliche logarithmische Verstärker 311—31 &kgr; angelegt werden, die die analogen spektralen Sprachparameter Si -Sk erzeugen. Die Ausgangssignale von vorbestimmten der Filter 29i— 29k können weiterhin an einen Merkmalsentnehmer33, der lineare oder nicht-lineare Funktionen dieser vorgewählten Filter-Ausgangssignale erzeugt, angelegt werden, zwecks Erzeugung der analogen spektralen Sprachparameter Sk +1—Sn- Eine vorbestimmte Anzahl und Kombination von analogen spektralen Sprachparametern der logarithmischen Verstärker 311 — 31* und des Merkmalentnehmers 33 kann in der nachfolgenden Signalverarbeitung verwendet werden. Zum Zweck der vorliegenden Beschreibung ist angenommen, daß die gesamte Anzahl der analogen spektralen Sprachparameter, die behandelt werden, N ist, wobei N — 16 ist. Die spektralen Bestimmungswerte, d. h. die analogen spektralen Sprechparameter S\—Ste (da N=16) des Sprach-Prozessors 11 werden an den STV-Generator 13 angelegt, zwecks Erzeugung einer entsprechenden STV-Information.
In Fig. 3 ist ein Blockschaltbild eines derartigen STV-Generators 13 dargestellt. Bei der Erklärung der Arbeitsweise des Schaltkreises 13 der Fig. 3 wird weiterhin auf die Impulsdiagramme der Fig. 4 Bezug genommen. Das 100-Hz-Signal (Kurve 41) von dem System-Zeitgenerator 19 wird mittels eines Differenziergliedes und eines negativen Begrenzers 43 differenziert bzw. nach dem Negativen hin begrenzt zwecks Erzeugung eines Lade-Start-Impulses (SOL), dargestellt in der Kurve 45 der Fig. 3. Dieser SOL-Impuls setzt das Flip-Flop 47 zwecks Erzeugung eines Torimpulses 49. Dieser Torimpuls 49 schaltet das UND-Gatter 51 an, damit dieses eine vorbestimmte Zahl von 100-KHz-Impulsen des Sysiem-Zeitgenerators 19 durchläßt, und zwar als eine 100-KHz-Folge von 16 Impulsen, dargestellt durch die Kurve 53. Diese 100-KHz-Impulsfolge wird mittels eines Verzögerungskreises 55 um 5 Mikrosekunden (.usec) verzögert, bevor sie als verzögerte 100-KHz-Folge von 16 Impulsen (Kurve 57) an den Zähleingang (C) des Zählers 59 angelegt wird, damit dessen Zählfolge eingeleitet wird. Der Zählstand des Zählers 59 wird als Ausgangssignal an einen Vergleicher 61 geführt, indem er mit einem Zählstand N = 16 verglichen wird. Erreicht daher der Zählstand des Zählers 61 den Wert 16, dann erzeugt der Vergleicher einen Lade-Löschimpuls 63, der dazu verwendet wird, den Zähler 59 auf den Zählstand Null zurückzustellen und das Flip-Flop 47 zu löschen, damit verhindert wird, daß irgendwelche nachfolgenden Impulse das UND-Gatter 51 passieren und vom Zähler 59 gezählt werden. Der Lade-Löschimpuls 63 wird mittels eines Verzögerungskreises 65 um 10 Mikrosekunden verzögert zwecks Erzeugung eines Lade-Ende-Impulses 67 (EOL). Die SOL- und EOL-Impulse werden an eine zentrale Steuereinheit 87 in Fig. 5 angelegt, deren Arbeitsweise im nachfolgenden beschrieben wird.
Die 100 KHz-Impulsfolge 53 des UND-Gatters 51 wird an den Schaltschritt-Eingang eines N bzw. 16-kanaligen Multiplexers 69 angelegt. Der Multiplexer 69 schaltet bei jedem der 16 Impulse der 100-KHz-Impulsfolge um eine Position weiter. Die analogen spektralen Sprachparameter S|—Sie des Sprachprozessors 11 (Fig. 2) werden parallel an den Multiplexer 69 angelegt. Mit jedem der an dem: Schalischriu-Eingang angelegten Impulsen der 16 Impulse der 100-KHz-lmpulsfolge führt
&iacgr;&ogr; der Multiplexer 69 hinsichtlich der Si—Sie-Eingangssignale einen Zeit-Multiplexvorgang durch, so daß sie nacheinander an einen Analog/Digital-Umsetzer 73 (ADC) angelegt v/erden. Der Multiplexer erzeugt weiterhin Abtastimpulse 71, die an den Analog/ Digitalis Umsetzer 73 angelegt werden, damit dieser Umsetzer in der Lage ist, nacheinander die nacheinander erscheinenden spektralen-Vergleichssignale Si — Si 6 zu digitalisieren. Die 16 nacheinander erzeugten digitalisierten spektralen Vergleiche bilden einen spektralen Zeitvektor (STV). Jede 10 msec, wird ein neuer spektraler Zeitvektor erzeugt. Diese 10 msec.-Periode ist die Zwischenimpuls-Periode der 100-Hz-Impulse des System-Zeit-Generators 19. Nachdem ein neuer STV mittels des Analog/Digital-Umsetzers erzeugt ist, wird der Multiplexer 69 zwecks Vorbereitung des Startes des nächsten Ladezustandes durch den EOL-Impuls in seine anfängliche Schaltschritt-Position zurückgestellt.
Jeder der digitalisierten spektralen Sprachparameter Si —Si&bgr; ist ein binäres Wort, das z. B. aus 6 Bits bestehen kann. Es soll an dieser Stelle klargestellt werden, daß der Begriff "Wort" im vorliegenden Zusammenhang ein binäres Wort bedeutet, während der Begriff "Schlüsselwort" ein Wort des Wörterbuches bedeutet, das in dem eingangsseitigen Sprachsignal erfaßt werden soll.
Die Sprachparameter St bis Si 6 werden nacheinander herausgegeben, weil der Analog/Digital-Umsetzer 73 annähernd &Igr;&Ogr;&mgr;&bgr;&egr;&udiagr; benötigt, um pro Abtastwert eine Analog/Digital-Uimwandlung durchzuführen. Daher dauert es annähernd &Igr;&dgr;&Ogr;&mgr;&bgr;&egr;&agr;, bis alle 16 Kanäle der seriell dargestellten Sprachparameter Si — Si 6 digitalisiert sind. Wie bereits oben erwähnt wurde, enthalten die 16 aufeinanderfolgend erzeugten digitalisierten Sprachparameter Si-Sit einen spektralen Zeitvektor (STV). In dem vorliegenden Beispiel besteht daher jeder STV aus einer seriellen Folge von 16 binären Worten, wobei jedes Wort 6 Bit lang ist. Nachdem jeder der spektralen Sprachparameter Si— Si & digitalisiert ist, erzeugt der Analog/Digital-Umsetzer 73 ein Daten-Verfügbarkeitssignal 75, das anzeigt, daß die STV-Daten, die digitalisierten Sprachparameter, für die Benutzung bereitstehen.
In Fig. 5 werden die STV-Daten und Daten zur Verfugung stellende Signale nach Fig. 3 an einen Speicher mit direktem Zugriff 81 (RAM) und eine RAM-Steuerung 83 in einer RAM-Einheit 85, die später noch erläutert wird, angelegt, während die SOL- und EOL-Impulse des STV-Generators 13 der Fig. 3 an die Zentralsteuerung 87 angelegt werden. Die Zentralsteuerung 87 erzeugt Lade- und Lauftorimpulse, die die Dauer der entsprechenden Lade- und Lauf-Arbeitszustände steuern.
Es erscheint jetzt zweckmäßig, das Blockschaltbild der Zentralsteuerung 87 in Fig. 6 und die Impulsediagramme der Fig. 7 zu erläutern, damit die Arbeitsweise der Zentralsteuerung besser verständlich ist.
In Fig. 6 setzt der SOL-Impuls 45 (Fig. 3,4 und 7) ein Lade-Flip-Flop 89 in Betrieb zwecks Starten des Lade-Arbeitszustandes durch Erzeugung eines "1 "-Zustandes an seinem Q- Ausgang, der dem Ladeimpuls 91 der Fig. 7
entspricht. Ungefähr 160 &mgr;&egr;&egr;&agr; später löscht der EOL-Impuls 67 (Fig. 3,4 und 7) das Lade-Flip-Flop 89, um das Lade-Tor zu beenden, und damit das Ende des Lade-Arbeitszustandes herbeizuführen. Zur selben Zeit, zu der der EOL-Impuls das Lade-Flip-Flop 89 löscht, setzt er das Lauf-Flip-Flop 93 in Gang, um den Lauf-Arbeitszustand zu starten, indem an seinem Q-Ausgang ein "1 "-Zustand erzeugt wird, der dem Lauf-Torimpuls 95 entspricht. Nach ungefähr 7 msec, wird ein "Ende des Laufes"-Impuls (EOR) vom Zustand binär "1" von dem Bezugsmaskenkreis 99 in Fig. 5 angelegt, um das Lauf-Flip-Flop zu löschen und den Lauftorimpuls 95 zu beenden und damit das Ende des Lauf-Arbeitszustandes herbeizuführen. Die Dauer der Lade- und Lauf-Arbeitszustände wird von der Dauer der entsprechenden Lade- und Lauf-Torsignale 91 und 95 bestimmt. Während jedes Ladezustandes wird ein neuer STV-Wert erzeugt, während alle Korrelationen innerhalb des Lauf-Zustandes durchgeführt werden. Wie aus der Kurve 95 hervorgeht, liegt zwischen dem Ende des Lauf-Tores und dem nächsten SOL-Impuls 45 eine Zeit von ungefähr 2,84 msec. Diese Zeit von 2,84 msec, erlaubt eine zusätzliche Verzögerung bis zu 2,84 msec, bevor der EOR-Impuls angelegt wird, um den Lauf-Torimpuls 95 zu beenden, sofern das System einen längeren Lauf-Arbeitszustand erfordert. Der Lauf-Torimpuls 95 und die 1-MHzlaktimpulse werden an die Eingänge eines UND-Gatters % angelegt. Zusätzlich wird ein Trainer-Kommandosignal (von dem Trainer 105 in Fig. 5) vom Zustand binär "1" an den invertierenden Eingang des UND-Gatters 96 angelegt. Dieses Trainer-Komrnandosignal vom Zustand "1" wird nur deshalb angelegt, um das UND-Gatter % abzuschalten, wenn der Trainer 105 die Speicherung von neuen Bezugsmasken-Daten in der Bezugsmaskeneinheit 99 (Fig. 5) wünscht. Die Arbeitsweise des Trainers 105 und der Maskeneinheit 99 werden später in Verbindung mit der Fig. 8 erläutert.
Wenn kein Trainer-Kommandosignal vom Zustand "1" an das UND-Gatter 96 angelegt ist, dann ist das UND-Gatter nicht mehr länger in dem abgeschalteten Zustand. Dadurch ist es der Zentralsteuerung 87 möglich, Signale zu erzeugen, die die Speichereinheit 85 und die Bezugsmaskeneinheit 99 derart betätigen, daß sie gleichzeitig einen Lese-Vorgang durchführen. Dieser Lese-Vorgang tritt nur auf, wenn ein Lauf-Torsignal, jedoch kein Trainer-Kommandosignal an das UND-Gatter % angelegt ist. Wenn das Lauf-Torsignal 95 während eines Lesevorganges an das UND-Gatter % angelegt ist, dann ist das UND-Gatter 96 durch das Lauf-Torsignal derart angeschaltet, daß es die 1-MHz-Taktimpulse als Zählimpulse durchläßt. Diese Zählimpulse werden mittels eines Verzögerungskreises 98 ebenfalls um ungefähr 100 Nano-Sekunden (nsec) zur Erzeugung von Lese-Impulsen verzögert. Diese Zähl- und Leseimpulse werden sowohl an den Speicher 85 als auch an die Bezugsmaskeneinheit 99 (Fig. 8 und 10) angelegt, derart, daß sie gleichzeitig eine Ausgabe der entsprechenden Inhalte bewirken zwecks Durchführung einer später noch zu erläuternden Korrelation.
Aus dem vorhergehenden ist ersichtlich, daß die Zentralsteuerung 87 immer dann keine Zähl- und Leseimpulse erzeugt, wenn das UND-Gatter 516 durch Anlegen des Trainer-Kommandosignals mit dem Zustand "1" an seinen invertierenden Eingang abgeschaltet ist.
Wie aus der Fig. 5 hervorgeht, werden die Zähl- und Leseimpulse der Zentralsteuerung 87 an eine Bezugsmasken-Speichersteuerung 101 und an einen Bezugsmasken-Speicher 103 in der Bezugsrnaskeneinheit angelegt, damit die Bezugsmasken-Speichersteuerung 101 in der Lage ist, die Lese-Schreib-Vorgänge des Bezugsmasken-Speichers 103 zu steuern. Dieser Bezugsmaskenspeicher 103 kann ein Kernspeicher sein, mit Wort-Adress-Stellen, die bei der Stelle D beginnen und sich nacheinander bis zu dem Ende des letzten gespeicherten Wortes fortsetzen. Verbunden mit der Bezugsmaskeneinheit 99 ist ferner der Trainer 105, der ein logischer Schaltkreis oder ein Computer sein kann. Der &iacgr;&ogr; Trainer 105 trainiert oder steuert die Bezugsmaskeneinheit 99 derart, daß sie irgendwelche gewünschte Dyaden und/oder Triaden speichert, die ein oder mehrere gewünschte Schlüsselworte enthalten können. Damit die Wirkungsweise der Bezugsmaskeneinheit 99 besser verständiich ist, soil Bezug auf die Fig. 8 genommen werden. In der folgenden Beschreibung und in den Zeichnungen wird dabei vereinfacht jeweils nur von "Maske" gesprochen.
Aus Fig. 8 geht hervor, daß immer dann, wenn der Trainer 105 wünscht, daß neue Daten in den Maskenspeicher 103 eingeschrieben werden müssen, er ein Trainer-Kommandosignal vom Zustand "1" sowohl an den Wahlschalter 107 in der Masken-Speichersteuerung 101 als auch an den invertierenden Eingang des im vorstehenden erläuterten UND-Gatters 96 (Fig. 6) sendet. Wie oben erwähnt, schaltet die Umkehrung des Zustandes "&Ggr; des Trainer-Kommandosignals das UND-Gatter % ab. Zur selben Zeit steuert der "1 "-Zustand des Trainer-Kommandosignals den Wahlschalter 107 derart, daß es nur Trainer-Adressen möglich ist, durch den Schreib-Eingang des Schalters 107 zu dem Maskenspeicher 103 zu gelangen.
Jedes Schreib-Kommando von dem Trainer 105 schaltet den Maskenspeicher 103 derartig an, daß Masken-Daten von dem Trainer 105 zusammen mit den zugeordneten Trainer-Adressen in den Masken-Speicher 103 eingeschrieben werden.
Wenn kein Trainer-Kommandosignal vom Zustand "1" an den Wahlschalter 107 angelegt ist (bzw. an das UND-Gatter 96 der Fig. 6), dann gelangen intern in der Masken-Speichersteuerung 101 erzeugte Adressen durch einen Lese-Eingang des Wahlschalters 107 hindurch zu dem Maskenspeicher 103 zu dem Zweck einer Lese-Operation. Diese Lese-Operation kann nur dann auftreten, wenn kein Trainer-Kommandosignal vom Zustand "&Ggr; an den Wahlschalter 107 (und das UND-Gatter 95 in Fig. 6) angelegt ist Während eines Lesevorganges werden Lese- und Zählimpulse der Zentralsteuerung 87 (Fig. 6) an den Maskenspeicher 103 und an den Zähleingang eines Zählers 109 angelegt Zu jedem Zeitpunkt, zu dem ein Impuls von dem Zähler 109 gezählt wird, wird eine interne Adresse erzeugt die über den Leseeingang des Wahlschalters 107 als Lese-Adresse zu dem Maskenspeicher 103 gelangt Die Leseimpulse, die, wie im Zusammenhang mit der Fig. 6 erläutert wurde, um 100 nsec. verzögerte Zählimpulse sind, schalten den Maskenspeicher 103 derart an, daß er nacheinander während des Lauf-Zustandes seinen Inhalt ausliest Es soll darauf hingewiesen werden, daß dadurch, daß die Verzögerung von 100 nsec. zwischen den entsprechenden Zähl- und Leseimpulsen vorhanden ist jede interne Adresse des Zählers 109 in einem stabilisierten Zustand ist bevor der Leseimpuls den Masken-Speicher 103 anweist nacheinander seinen Inhalt auszulesen. Zu jedem Zeitpunkt, zu dem ein Leseimpuls an den Maskenspeicher 103 angelegt ist, wird ein Wort von 18 Bits, das an einer Adressenstelle gespeichert ist, die zu diesem Zeitpunkt intern durch den Zähler 109 adressiert ist aus
dem Maskenspeicher 103 ausgelesen.
Dieses Wort von 18 Bits kann nacheinander folgende Informationen enthalten: 6 Bits mit Informationen &eegr; über die Amplitude, 5 Bits mit Informationen &THgr;, über die Schwellwerte, 5 Bits mit Informationen wi über die Bewertung und zwei Signale von je 1 Bit. Das erste Signal von 1 Bit ändert sich von dem Zustand binär "0" zu einem Zustand binär "1", d. h. dem Signal "Ende der Maske" (EOM) an dem Ende jeder während des Lauf-Zustandes aus dem Maskenspeicher 103 ausgelesenen Masken. Das zweite Signal von 1 Bit ändert sich von dem Zustand binär "0" zu dem Zustand binär "1", d.h. dem Signalende des Laufes (EOR), nachdem während des Lauf-Zustandes alle Masken aus dem Maskenspeicher 103 ausgelesen sind. Dieses Signal EOR wird dazu verwendet, den Zähler 109 zurückzustellen und, wie im vorstehenden erwähnt, das Flip-Flop 93 (Fig. 6) zurückzustellen, um damit den Lauf-Torimpuls und den Lauf-Zustand zu beenden. Der Zähler 109 wird deshalb zurückgestellt, damit sichergestellt ist, daß zu Beginn des nächsten Lauf-Zustandes die internen Adressen des Zählers 109 wieder bei Null beginnen.
Wie aus den Fig. 5 und 8 hervorgeht, ist der Maskenspeicher 103 in der Lage, 8192 Worte von 18 Bits zu "tha" für "the"), das Weglassen einer Silbe ("pat" anstelle von "part") und das Einfügen eines Tones in das Schlüsselwort (indem man " "uh" am Ende von "park" hinzuführt). Der Zwischensprecher-Effekt oder die Zwischensprecher-Veränderung ist dadurch definiert, daß die Äußerungen desselben Tones durch verschiedene Sprecher in verschiedenen charakteristischen Resonanzen für dasselbe phonetische Ereignis zum Ausdruck kommen.
Nachdem die oben genannten 10 Masken-Abtastwerte in drei Masken-Untergruppen aufgeteilt sind, werden die Komponenten in den Masken jeder der drei Masken-Untergruppen gemittelt, um auf diese Weise eine einzelne Maske für die betreffende Dyade oder Triade in dieser Untergruppe festzulegen. Die Vielfalt von drei Masken für eine Dyade oder Triade ist dann seriell in dem Speicher 103 gespeichert, und zwar in benachbarten Stellen; sie wird nachfolgend in paralleler Arbeitsweise behandelt.
Es ist in Erinnerung zu rufen, daß es ungefähr 44 verschiedene Töne oder phonetische Ereignisse in der englischen Sprache gibt und daß das Erkennungssystem gemäß der Erfindung auf Dyaden und/oder Triaden basiert, wobei eine Dyade zwei phonetische Ereignisse
speichern. Diese Speicherfähigkeit des Maskenspei- 25 und eine Triade drei phonetische Ereignisse beinhaltet, chers 103 ist in der Fig. 9 dargestellt. Im speziellen zeigt Aus diesem Grunde können ungefähr 1936 verschiededie Fig. 9 verschiedene beispielhafte Adressenstellen
des Maskenspeichers 103. Es soll in Erinnerung gerufen
werden, daß die gespeicherten Masken von verschiede
ne Dyaden und/oder Triaden vorkommen. Wenn in dem System nach der Erfindung 500 bis 700 Dyaden und/ oder Triaden verwendet werden, dann können über ner Länge sein können, und daß sie in der Länge von 1 30 90% der Schlüsselworte eines Standards-Englisch-Wörbis 16 STV-Daten variieren können. Es ist weiterhin zu terbuches in genügender Weise erkannt werden,
vergegenwärtigen, daß jede STV-lnformation als Beispiel
auf eine Länge von 16 Worten festgelegt wurde.
wobei jedes Wort 6 Bits umfaßte. Daher kann für eine in Bei Speicherung von 1 Dyade oder Triade in jeder Maske des Maskenspeichers 103 kann das System gemäß der Erfindung ein unbegrenztes Vokabular haben,
jeder Maske des Maskenspeichers 103 gespeicherte 35 wenn genügend Masken benutzt werden, und das Sy-Dyade oder Triade die Maske in der Länge von 16 Wor- stern ist groß genug ausgelegt, daß ein Entscheidungsten bis zu 256 Worten schwanken.
Bei der Erzeugung jeder der in Fig. 9 dargestellten, in
dem Speicher 103 zu speichernden Masken bestimmt Ausgang für jedes der gewünschten Schlüsselworte errechnet wird. Auf diese Weise besitzt die Erfindung die Fähigkeit der Erkennung eines unbegrenzten Vokabu-
eine geübte Person, die angemessene Kenntnisse von 40 lars in kontinuierlicher Sprache. Die Erfindung kann je-
akustischer Phonetik hat, die Länge jeder Maske, durch Beobachtung der Trainings-Spektrogramme, so daß diese Person das erfindungsgemäße System trainieren kann, indem sie die Arbeitsweise des Trainers 105 der Fig. 5 steuert
In einigen Fällen werden eine Vielzahl von Masken pro Dyade oder Triade verwendet, und zwar im Hinblick auf eine freie Variations- und den Zwischensprecher-Effekt Bei der Erzeugung einer derartigen Masdoch auch bei folgenden beispielhaften Anwendungen für ein Erkennen von einem begrenzten Vokabular eingerichtet sein: Gepäck-Zielsteuerung; Zip-Code-Benutzung; Eingabe von Fernsteuerungsdaten über ein TeIefön; z. B. für Verkaufs-Order: stimmverstärkte Worterkennung zur Steuerung der Arbeitsweise von Maschinen in einer Fabrik oder der internen Arbeitsweise eines Flugzeuges, und ausgewähltes Wort-Beobachten oder Vorsortieren von Sprachinhalten, indem das System so
kenvielfalt untersucht die geschulte Person die Spek- 50 ausgebildet ist, daß es eine begrenzte Anzahl von inter-
trogramme derart daß sie vielleicht 10 Masken-Abtastwerte einer Dyade oder Triade findet und sie dann typischerweise gruppiert z. B. in Drei-Masken-Untergruppen, um so die Spanne für die freie Variation und den essierenden Schlüsselworten in Nachrichtensendungen erkennt Bei der Anwendung in der Erkennung eines begrenzten Vokabulars können die Masken in dem Maskenspeicher 103 zusammen in Reihe gruppiert wer-
Zwischensprecher-Effekt für diese Dyade oder Triade 55 den, um so das Schlüsselwort oder die Schlüsselworte, vorzugeben. die zu erkennen sind, zu bestimmen, jedoch ist dies.
Der Begriff "freie Veränderung" kann definiert wer- absolut gesehen, nicht notwendig. Es ist dabei verständden als das Äußerungsbild von verschiedenen phoneti- lieh, daß der Unterschied zwischen der Fähigkeit des sehen Darstellungen bzw. Tönen, die dieselbe semanti- Erkennens eines unbegrenzten und der Fähigkeit der sehe Information tragen. Dieser Begriff berücksichtigt 60 Erkennung eines begrenzten Vokabulars allein in dem die Tatsache, daß es an sich immer einen idealen Weg
gibt um etwas zu sagen. Jede Person hat nun im Sprechen
eine Reihe Abweichung von diesem idealen Weg.
Diese freie Veränderung kann verursacht werden durch
Dialekt Prosodie (eine emotionale Äußerung durch den 65 ausgelesen werden kann — entsprechend den angeleg-Sprecher) oder durch Satzbetonungen. Drei Typen von ten 1-MHz-Zähl- und Leseimpulsen — so dauert es freien Veränderungen, die auftreten können, sind: Der 8192, &mgr;5&egr;&ogr;. oder 8,192 niseo, um alle Worte aus dem Austausch eines Tones für einen anderen ("da" oder Speicher 103 auszulesen, wenn dieser Speicher gefüllt
Aufwand zur Realisierung des Systems liegt
Da, wie im vorstehenden in der Diskussion im Zusammenhang mit der Fig. 8 festgestellt wurde, jedes Wort aus dem Masken-Speicher 103 in einer Mikrosekunde
26 13
10
ist In der Fig. 9 sind jedoch nur ungefähr 7000 Worte von 18 Bits, die in dem Speicher 103 gespeichert sind, dargestellt, wobei es dem Speicher 103 möglich ist, zusätzliche 1192 Worte von 18 Bits in den verbleibenden 1,192 msec, zu speichern, wenn es die Arbeitsweise des Systems erfordert
In Fig. 9 sind M- Masken im gespeicherten Zustand im Speicher 103 dargestellt. Die Wortlänge jeder Maske ist direkt unter der Maskennummer angezeigt, während die Adress-StelleD des Wortes in jeder Maske durch den zugeordneten Zahlenbereich angezeigt sind. Beispielsweise ist die Maske 2 ein Wort mit einer Länge von 128 Bits, wobei diese Worte in den Adressenstellen 257 bis 384 untergebracht sind (entsprechend den Adressenstellen in binärer Schreibweise von: 0000100000001 bis 0000110000000). Das EOM-Signal vom Zustand "1" ist enthalten in dem Wort 000000000000000010, das auf jede der Masken folgt, um das Ende der betreffenden Maske anzuzeigen. Beispielsweise kann das binäre Wort 000000000000000010 daß das EO/M-Signal vom Zustand "1" enthält, an der Adressenstelle 385 (binäre Adressenstelle 0000110000001) gefunden werden, die das Ende der Maske 2 folgt. Das Signal EOR mit dem Zustand binär "1" ist in dem Wort 000000000000000001 enthalten, das in der Adressenstelle 7000 steht (binäre Adress-Stelle 1101101011000). also eine Adressenstelle, die auf das EOM-Signal folgt, das auf die letzte Maske (Maske M) folgt, die in dem Speicher 103 gespeichert ist. Es sei in Erinnerung gerufen, daß dieses EOR-Signal in Fig. 6 dazu benutz· wird, das Lauf-Flip-Flop 93 zurückzusetzen, um auf diese Weise das Lauf-Torsignal zu beenden, und es wird in Fig. 8 dazu verwendet, den Zähler 109 zurückzustellen.
Es sei nun auf die Fig. 5 zurückgegangen; wie bereits längste in Fig. 9 gezeigte Maske (Maske 1) 256 Wörter lang ist, d. h. die Länge von 16 STV-Daten aufweist, soll im folgenden angenommen werden, daß die Wortlänge des Speichers 81 so gewählt wurde, daß er zu irgendeiner gegebenen Zeit 256 Worte oder 16 STY-Werte speichert
Die Adressenstellen für diese 16 STV-Daten, die in dem Speicher 81 während verschiedener Lade- und Laufzustände gespeichert worden sind, sind in den Fig. 1IA und 11B dargestellt Für den Speicher 81 wird dabei die MODULO-Adressierung oder Adressierung durch Überspeichern verwendet. Die Adressenstellen für die 256 Worte sind in dem Bereich 0 bis 255 des Speichers 81 gespeichert Da 255 die Adressenstelle mit der höchsten Nummer ist, wird die Adressierung als MODULO 255-Adressierung bezeichnet Bei der MODULO-255-Adressierung gleicht der Speicher 81, wenn er adressiert ist, arbeitsmäßig einem Kreis, so wie es in den Fig. 11A und HB dargestellt ist Wenn, sowohl in dem Lade- als in dem Lauf-Zustand die Adressenstelle 255 erreicht ist, dann beginnt die nächste Adresse in diesem Arbeitszustand mit Null und steigt in der gemäß der Fig. 1IA und 11B gezeigten Pfeilrichtung an.
Die Fig. HA zeigt STV-Daten 1 bis iö, wobei der Wert STV 1 in den Lade-Adress-Stellen 0 bis 15, der Wert STV 2 in den Lade-Adress-Stellen 16-31, der Wert STV 3 in den Lade-Adress-Stellen 32—47 ... und der Wert STV16 in den Lade-Adress-Stellen 240—255 gespeichert sind. In Fig. 11A ist der Wert STV 1 der älteste STV-Wert, da er zuerst gespeichert wurde, während der Wert STV 16 der neueste Wert von STV ist, da er zuletzt gespeichert wurde. Während des sechzehnten Lade-Zustandes werden die digitalisierten spektralen Sprachparameter oder Frequenzkomponenten-Worte
vorher erwähnt, werden die STV-Daten und die Daten, 35 von STV 16 nacheinander in den Lade-Adress-Stellen die von den Signalen des Analog/Digital-Umsetzers 73 240—255 gespeichert. Der erste digitalisierte spektrale
Sprachparameter von STV 16 wurde in die Lade-Adress-Stellen 240 zu Beginn des sechzehnten Lade-Zustandes geschrieben, und der letzte oder sechzehnte di-
(Fig. 3) zur Verfügung gestellt werden, an den Speicher 81 und die Speichersteuerung 83 in der Speichereinheit 85 angelegt. Zusätzlich wird das EOL-Signal von dem
Verzögerungskreis 65 (Fig. 3). die EOM-Signale von 40 gitalisierte spektrale Sprachparameter von STV 16 wurdem Maskenspeicher 103, das Lade-Gattersignal und de am Ende des sechzehnten Lade-Zustandes in die Ladie Zählimpulse der Zentralsteuerung 87 angelegt, wäh- de-Adress-Stelle 255 geschrieben,
rend die Lese-Impulse der Zentralsteuerung 87 an den Da der Speicher 81 256 Worte in 256 Adressenstellen
Speicher 81 angelegt werden. Damit die Arbeitsweise speichert, muß ein synchroner Lade-Zähler 121, der der Speichereinheit 85 besser verständlich ist, sollen 45 während des Lade-Zustandes Lade-Adressen an den nunmehr die Figuren 10, 11A und HB näher erläutert Speicher anlegt, vergleichsweise 256 Adress-Zählstände werden. oder Lade-Adressen besitzen. Diese 256 Adressen-
Der Speicher 81 mit direktem Zugriff in Fig. 10 (und Zählstände haben einen Bereich von 0 (00000000) bis Fig. 5) entspricht einem Spektrogramm, bei dem die 255 (111111H). Für die nachstehende Erläuterung sei Frequenzkomponenten in den Speicher gespeicherten 50 angenommen, daß der letzte Zählstand oder die Lade-STV-Daten vertikal entlang einer vertikalen Frequenz- Adresse des synchronen Zählers 121 einen Wert von 255 achse angeordnet sind, wobei benachbarte Daten der gehabt hat, so wie es in Fig. 1IA an dem Ende des gespeicherten STV-Datenfolge durch eine Zeitspanne sechzehnten Lade-Zustandes dargestellt ist. Dieser von 10 msec, entlang einer orthogonalen Zeitachse von- Zählstand von 255 wird mit einer festen Zahl WM in einander getrennt sind. Jede 10 msec, wird ein neuer 55 einem Vergleicher 123 verglichen. Der Vergleicher 123 STV-Wert in dem Speicher 81 gespeichert. Auf diese kann aus UND-Gattern aufgebaut sein. Die Zahl """
Weise wird ein Muster entwickelt, das das Spektrogramm
bildet. Der Speicher 81 kann ein Festkörper-Speicher
sein mit einer Woniänge, die zwischen einer
und 1024 Stellen frei-wählbar ist. Der Speicher 81 muß
im Betriebszustand eine Speicher-Wortlänge aufweisen,
die mindestens so lang ist, wie die längste Maske, die in
dem Maskenspeicher 103 gespeichert ist.
Jede Maske hat, wie die Fig. 9 zeigt, eine Wortlänge, derartig vorgewählt, daß sie gleich ist der letzten oder der größten Lade-Adresse, die von dem Lade-Zähler &Idigr;2&Idigr; bcnütigi wird, wu'uci diese Zum iii uciTi v'uf licgcüucü Beispiel 255 ist. Wenn der Zählstand des Zählers 121 den Wert von Wm, d. h. 255, erreicht, dann erzeugt der Vergleicher 123 ein Signal vom Zustand binär "1" und legt dieses Signal an den Rückstelleingang des Zählers an. Der synchrone Zähler 121 arbeitet derart, daß, wenn
die Vielfachen von 16 Worten entspricht, da jede Maske 65 immer ein Signal vom Zustand "1" an seinen Rückstellin der Länge zwischen 1 und 16 STV-Werten aufnimmt eingang angelegt wird, das nächste eine Information
enthaltendes Signal 75 (Fig. 4) das von dem Analog/ Digital-Umsetzer 73 in Fig. 3 an den Zähleingang ange-
und jeder STV-Wert in der Länge 16 digitalisierte spektrale Sprachparameter oder Worte aufweist. Da die
legt ist, den Ladezähler 121 auf den Adressenzählstand O (00000000) zurückstellt
Während des nächsten, also z. B. des siebzehnten Lade-Zustandes, wird das Ladesignal 91 (Fig. 7) von dem Lade-Flip-Flop 89 (Fig. 6) an einen Wahlschalter 125 angelegt, derart, daß die Speichersteuerung RAM/83 in dem Lade-Zustand arbeitet Während dieses siebzehnten Lade-Zustandes werden die 16 Daten enthaltenden Impulse 75 von dem Analog/Digital-Umsetzer 73 (Fig. 3), die also während der Erzeugung der Werte STV 17 auftreten, an den Zähleingang des Lade-Zählers 121 angelegt Da im vorstehenden erläutert wurde, daß an dem Ende des sechzehnten Lade-Zustandes der Zählstand des Zählers 121 den Wert von 255 besessen hat, stellt der erste eine Information tragende Impuls während des nächsten oder siebzehnten Lade-Zustandes den Zähler 121 auf den Zählstand 0 zurück, so wie es in Kg. 11B zu Beginn des siebzehnten Lade-Zustandes dargestellt ist. Jeder der verbleibenden fünfzehn Informationen tragenden Impulse veranlaßt den Zähler 121 seine ausgangsseitige Lade-Adresse um einen Zustand von 1 zu ändern. Während des siebzehnten Lade-Zustandes erzeugt daher der Zähler 121 die Ladeadressen 0,1,2,3... 15. Während des Anlegens des siebzehnten Lade-Signals an den Auswahlschalter 125, werden die achtzehn Lade-Adressen des Zählers 121 nacheinander durch den Ladeeingang des Wahlschalters 125 hindurch in den Speicher 81 eingegeben.
Jeder der 16 Daten zur Verfügung stellenden Impulse, die während jedes Lade-Zustandes erscheinen, wird mittels eines Verzögerungskreises 127 um ungefähr 100 nsec. verzögert, bevor er als Schreib-Kommandosignal an den Speicher 81 angelegt wird. Daher ist jede Ladeadresse im stabilen Zustand, bevor die Schreib-Signale den Speicher 81 veranlassen, die 16 digitalisierten spektralen Sprachparameter des STV, die an dem Speichereingang anliegen, einzuschreiben. Es sei dabei in Erinnerung gerufen, daß jeder der digitalisierten spektralen Sprachparameter ein Wort mit einer Länge von 6 Bits aufweist.
Während des siebzehnten Lade-Zustandes werden die 16 spektralen Sprachparameter des Segments STV 17 nacheinander in die Lade-Adress-Stellen 0—15 des Speichers 81 eingeschrieben, so wie es in Fig. 11B dargestellt ist. Der erste spektrale Sprachparameter von STV-17 ist in die Lade-Adress-Stelle 0 eingeschrieben, während der letzte spektrale Sprachparameter von STV-17 in die Lade-Adress-Stelle 15 eingeschrieben ist. Vergleicht man die Fig. 1IA und 11B, so ist zu ersehen, daß am Ende des siebzehnten Lade-Zustandes der STV-Wert 17 in die Lade-Adress-Stelle 0—15 eingeschrieben worden ist, die vorher von dem Wert STV-I belegt war, der der älteste gespeicherte STV-Wert an dem Ende des sechzehnten Lade-Zustandes war, wogegen die STV-Werte 2—16 in den Adressenstellen verbleiben, die sie am Ende des sechzehnten Ladezustandes belegt hatten. Während des achtzehnten Lade-Zustandes (nicht dargestellt) wird der Wert STV-2 entfernt, während der Wert STV-18 in die Speicher-Adress-Stellen 16—31 eingeschrieben wird. Es ist daraus ersichtlich, daß jede 10 msec, ein neuer STV-Wert in dem Speicher 81 abgespeichert wird, wogegen der älteste STV-Wert aus dem Speicher herausfällt. Man kann daher sagen, daß zu einem bestimmten Zeitpunkt der Speicher 0,16 Sekunden oder 160 msec von digitalisierten spektralen Bestimmungswerten oder Zeitabtastwerten einer durch Parameterdargestellten kontinuierlichen Sprache enthält. Wie es im Zusammenhang mit der Fig. 6 erläutert wurde, beendet die Erzeugung des EOL-Impulses (Fig. 3) das Lade-Signal 91 zwecks Beendigung des Lade-Zustandes und erzeugt das Lauf-Signal 95. das den Lauf-Zustand startet. Der EOL-Impuls gelangt weiterhin durch das ODER-Gatter 129 hindurch zu dem Ladeeingang eines Lauf-Zählers 131. Der Lauf-Zähler 131 ist ein voreingestellter Zähler, der mittels des EOL-Impulses in der Lage ist, die Strom-Einstelladresse einzuladen, d. h. an seinem Ausgang bereitzustellen.
&iacgr;&ogr; Die Strom-Voreinstell-Adresse kann aufgefaßt werden als die letzte Lade-Adresse, die von dem Lade-Zähler 121 an den Voreinstell-Adresseingang des Zählers 131 zu der Zeit angelegt wird, zu der der EOL-Impuls erzeugt wird. Diese Voreinstell-Adresse erscheint an dem Ausgang des Lauf-Zählers 131, bevor der Zähler 131 während des folgenden Lauf-Zustandes anfängt, zu zählen.
Wenn bei der Beendigung des Ladezustandes das Lade-Signal 91 mittels des EOL-Impulses beendet ist, dann beginnt die Speicher-Steuerung 83, in dem Lauf-Zustand zu arbeiten. Wenn durch den Trainer 105 kein Trainer-Kommandosignal vom Zustand "1" erzeugt wird, so wie es früher in Verbindung mit der Fig. 6 erläutert wurde, dann werden die Lese- bzw. die Zähl-Impulse der Zentral-Steuerung 87 (Fig. 6) an den Speicher 81 bzw. an den Zähleingang des Lauf-Zählers 131 angelegt.
Der erste 1-MHz-Zählimpuls, der während des Lauf-Zustandes erscheint, verändert den ausgangsseitigen.
die Lauf-Adresse darstellenden Zählstand des Lauf-Zählers 31 um einen Betrag von Eins. Dadurch ist die erste Lauf-Adresse, die am Ausgang des Zählers 131 zu Beginn des Lauf-Zustandes erscheint, um Eins größer als die Strom-Voreinstell-Adresse (oder die letzte Lade-Adresse in dem ersten Ladezustand). Beispielsweise ist, wie in Fig. HA dargestellt, der letzte Lade-Adressen-Zählstand an dem Ende des sechzehnten Lade-Zustandes gleich 255. Während des sechzehnten Lauf-Zustandes startet die Lauf-Adresse des Zählers 131 mit einem Lauf-Adressen-Zählstand, der um Eins größer ist als die letzte Lade-Adresse von 255. nämlich Null. Jeder der nachfolgenden 1-MHz-Zählimpulse, die innerhalb der Zeitperiode auftreten, in der eine Maske aus dem Speicher ausgelesen wird, veranlaßt den Zähler 131, seinen ausgangsseitigen Lauf-Adressenzählstand um einen Betrag von Eins zu erhöhen.
Jeder Lauf-Adressenzählstand des Lauf-Zählers 131 wird in einem Vergleicher 133 mit der Zahl &EEgr;&Lgr;/ verglichen, die in dem vorliegenden Beispiel gleich 255 ist.
Erreicht der Lauf-Adressenzählstand vor dem Ende der Maske nicht den Zählstand 255, dann geht ein EOM-Impuls oder ein Signal, das mit einer derartigen Maske verbunden ist, durch das ODER-Gatter 129 durch, damit der Zähler 131 sein Ausgangssignal, nämlich die Strom-Voreinstell-Adresse einlädt. Auf diese Weise starten die Lauf-Adressen, die nacheinander erscheinen, wenn die folgende Maske ausgelesen wird, mit einem Adressen-Zählstand, der um Eins größer ist als die Strom-Vorein-Ktpll-Arlrp^f» wob?! $ip his ZU &agr;(?&Ggr;&Pgr; Ende der &iacgr;&thgr;1&sgr;6&Pgr;&agr;?&Pgr; Maske zunehmen. Wenn andererseits der Lauf-Adressenzählstand des Zählers 131 vor dem Ende einer Maske den Wert 255 erreicht, dann erzeugt der Vergleicher 133 ein Signal vom Zustand binär "1" und legt dieses Signal an dem Rückstelleingang des Lauf-Zählers 131 an. Dieses Signal vom Zustand "1" stellt den Zähler 131 auf den Adressen-Zählstand Null mittels des nächsten auftretenden 1-MHz-Zählimpulses zurück. Dadurch kann der Lauf-Zähler 131 von seiner Strom-Voreinstell-Adresse
bis zu einem Zählstand von 255 aufwärts zählen und dann von dem Zählstand Null aufwärts bis zu dem Ende der Maske, wo zu diesem Zeitpunkt ein EOM-Impuls erzeugt wird, den Zählvorgang fortsetzen.
Wie es oben gezeigt wurde, gelangt an dem Ende jeder aus dem Maskenspeicher 103 (Flg. 8) ausgelesenen Maske ein EOM-Impuls durch das ODER-Gatter 129 zu dem Lade-Eingang des Laufzählers 131. Jeder EOM-Impuls arbeitet derart, so wie es auch der EOL-Impuls an dem Ende des vorhergehenden Ladezustandes tut, daß der Zähler 131 die voreingestellte Adresse an seinen Ausgang abgibt, bevor mit dem Auslesen der nächsten Maske begonnen wird.
Der erste 1-M Hz-Zählimpuls, der während der Zeit erscheint, in der die nächste Maske desselben Lauf-Zustandes ausgelesen wird, beeinflußt den Lauf-Adressenzählstand dahingehend, daß er um Eins größer ist als die Strom-Voreinstelladresse. Während irgendeines gegebenen Lauf-Zustandes ist die voreingestellte Adresse für jede ausgelesene Maske dieselbe. Während des folgenden Lauf-Zustandes ist die Voreinstell-Adresse für diesen folgenden Laufzustand von derjenigen des vorhergehenden Lauf-Zustandes um einen Zählstand von 16 verschieden. Beispielsweise ist, so wie es in den Fig. 11A und 11B gezeigt ist, die Voreinstelladresse (oder die letzte Lade-Adresse) an dem Ende des sechzehnten Ladezustandes und damit während des sechzehnten Lauf-Zustandes, gleich dem Wert von 255, während die Voreinstell-Adresse unmittelbar bevor und während des siebzehnten Lauf-Zustandes gleich 15 ist. In gleicher Weise besitzen die Voreinstell-Adressen für den achtzehnten, neunzehnten und zwanzigsten Lauf-Zustand (nicht gezeigt) den Wert von 31,47 bzw. 63.
Aus der vorstehenden Beschreibung der Arbeitsweise des Lauf-Zählers 131 ist entnehmbar, daß während eines gegebenen Laufzustandes der erste EOL-lmpuls die Strom-Voreinstelladresse für die eisten während dieses gegebenen Laufzustandes auszulesenden Maske in den Zähler 131 einlädt, und daß der EOM-Impuls entsprechend die Strom-Voreinstelladresse für die nachfolgende während des gegebenen Lauf-Zustandes aus dem Speicher 103 auszulesenden Maske in den Zähler 131 einlädt. Auf diese Weise wird zu Beginn irgendeines gegebenen Laufzustandes und zu Beginn jeder während des Lauf-Zustandes ausgelesenen Maske die geeignete Voreinstell-Adresse in den Lauf-Zähler 131 eingeladen. Dadurch ist sichergestellt, daß der Speicher 81 geeignet adressiert ist, wenn eine neue Maske während irgendeines gegebenen Laufzustandes aus dem Masken-Speicher 103 ausgelesen wird. Auf diese Weise kann ein geeignetes Zeitverhalten in der Korrelation jeder der in dem Speicher 103 gespeicherten Masken mit den im Speicher 81 gespeicherten STV-Werten erzielt werden.
Der Grund dafür, daß während des Laufzustandes die Lauf-Adressen bei einem Zählstand beginnen, der um Eins größer ist als die letzte Lade-Adresse in dem ersten Lade-Zustand, liegt darin, daß die Folge der STV-Werte, die mit jeder gespeicherten Maske zu korrelieren sind, bei dem ältesten STV-Wert beginnt und sich bis zum neuesten STV-Wert fortsetzt. Es wurde weiter oben gezeigt in Verbindung mit Fig. 1IA, daß der Wert STV-16 der neueste STV-Wert ist, der in dem Speicher 81 nach dem sechzehnten Lade-Zustand gespeichert wird, und daß der Wert STV-16 im Speicher an den Lade-Adresspositionen 240 bis 255 abgespeichert ist. Dadurch beginnen während des sechzehnten Lauf-Zustandes die Lauf-Adressen für jede Maske bei Null und steigen nacheinander bis zu dem Ende dieser Maske an, wobei danach die Lauf-Adressen für die folgende Maske bei Null beginnen und nacheinander bis zu dem Ende der folgenden Maske ansteigen usw. In gleicher Weise, wie es bei Fig. &iacgr;IB gezeigt ist, starten während des sechzehnten Lauf-Zustandes die Lauf-Adressen für jede Maske bei 16, was um Eins größer ist als die letzte Lade-Adresse von 15, die am Ende des siebzehnten Lade-Zustandes auftritt und bis zum Ende der Maske anwächst, usw.
Während eines Lauf-Zustandes werden die Lauf-Adressen des Laufzählers 131 über einen Lauf-Eingang des Wahlschalters 125 an den Speicher 81 angelegt, da während des Laufzustandes kein Lade-Signal an dem Schalter 125 anliegt
Es soll nochmals in Erinnerung gerufen werden, daß die Lese-Impulse, die an dem Speicher 81 anliegen, um lOOnsec. verzögerte Zähl-Impulse sind. Dadurch sind die Laufadressen, die während des Lauf-Zustandes erscheinen, in einem stabilen Zustand, bevor die Lesesignale oder Impulskommandos den Speicher 81 veranlassen, nacheinander Worte auszulesen, und zwar eine solche Anzahl, die gleich der Zahl von Worten ist, die eine Maske enthält, die zu dieser Zeit aus dem Maskenspeicher 103 ausgelesen wird.
Jedesmal, wenn während des Lauf-Zustandes einer Lauf-Adresse und ein Lese-Impuls an dem Speicher 81 anliegen, wird ein Wort von einer Länge von 6 Bits aus dem Speicher 81 ausgelesen. Die 6-Bit-Wörter, die während des Lauf-Zustandes aus dem Speicher 81 ausgelesen werden, werden als das ^/-Signal bezeichnet.
Zurückblickend auf die Fig. 5 soll weiterhin in Erinnerung gerufen werden, daß der Speicher 81 während des Lade-Zustand-Teiles jede 10 msec, mit Daten aufgefüllt wird, indem der neueste STV-Wert gespeichert wird, während der älteste STV-Wert herausfällt. Weiterhin werden während des Lauf-Zustand-Teiles jede 10 msec, alle Wortkomponenten in jeder Maske des Maskenspeichers 103 (Fig. 8 und 5) mit den entsprechenden Wortkomponenten, die im Speicher 81 gespeichert sind, korreliert, indem eine Folge von Korrelationsfunktionen errechnet wird auf einer Komponente durch Komponentenbasis und indem alle diese Korrelationsfunktionen aufsummiert werden, um so für jede Maske ein Korrelations-Datensignal zu erzeugen. Zur Durchführung dieser Korrelation werden, wie es in der Fig. 5 angezeigt ist, das x,-Signal des Speichers 81 zusammen mit den r,, ©,, w, EOM- und EOR-Signa'e des Maskenspeichers 103 an die arithmetische Informationsquellen-Einheit 151 (pipeline) angelegt, die nunmehr näher erläutert werden soll.
Diese arithmetische Informationsquellen-Einheit 151 führt eine Reihe von mathematischen Operationen bei der Korrelierung des x,-Signales mit den Ausgangssignalen der Maskenspeicher-Einheit 103 durch. Die Informationsquellen-Einheit 151 ist für vier aufeinanderfolgende arithmetische Funktionen ausgelegt, die jeweils von der benachbarten arithmetischen Funktion durch Halte-Register getrennt gehalten werden. Im einzelnen besteht die arithmetische Informationsquellen-Einheit 151 aus einem Vergleichs- oder Ähnlichkeits-Funktionskreis 153, aus Halteregistern 155,159 und 163, aus Schwellwert- und Wertungsfunktions-Änderern 157 und 161, wie aus einem Summenakkumulator 165. Die Halteregister 155,159 und 163 werden zweckmäßig aus üblichen Kreisen aufgebaut, wie sie aus dem Stand der Technik bekannt sind. Bei der Realisierung des Vergleichsfunktionskreises 153 und der Schwellwert- und Wertungsfunktionsänderer 157 und 161 sind jedoch verschiedene Wege möglich, und zwar abhängig von dem
Typ der Korrelation, der in der arithmetischen Informationsquellen-Einheit 151 benutzt wird. Die verschiedenen Realisierungsmöglichkeiten der Schaltkreise 153, 157 und 161, ebenso wie die Realisierung des Summenakkumulators 165 wird später noch erläutert. Derzeit soll nur eine generelle Diskussion der Arbeitsweise der Schaltkreise der arithmetischen Informationsquellen-Einheit 151 gegeben werden.
Bei jedem 1 MHz-Lese-Impuls währenddes Lauf-Zu Standes wird äüs dem Speicher 81 ein 6-Bit-Wort x; und ein 18-Bit-Wort (bestehend aus dem 6-Bit-Wort r„ dem 5-Bit-Wort 0„ dem 5-Bit-Wort w; und dem EOM- und EOR-Signal, die jeweils aus einem Bit bestehen) aus dem Maskenspeicher 103 ausgelesen. Die x,- und r,-Worte werden von der Vergleichsfunktion 153 dazu benutzt, um ein c?/-Wort zu erzeugen. Dieses c/-Wort kann in der Länge bis zu 12 Bits schwanken, abhängig von dem Typ der !Correlations-Operation, die von der arithmetischen Informationsquellen-Einheit 151 durchgeführt wird. Die c„ 0, und w,-Worte sowie die EOM- und EOR- Bits werden während jeder 1 MHz-Taktimpulsperiode in das Halte-Register 155 eingetaktet und dort zeitlich gespeichert
Die Ci und 0,-Worte des Halteregisters 155 werden selektiv von dem Schwellwert-Funktionsänderer 157 dazu benutzt, um ein f,-Wort zu erzeugen, das bis zu 12 Bits in der Breite schwanken kann, abhängig von dem Typ der Korrelations-Operation, die von der Informationsquellen-Einheit 151 durchgeführt wird. Das i,-Wort des Funktionsänderers 157 und das wv-Wort sowie dk· EOM- und EOR-Bits des Halteregisters 155 werden während jeder 1 MHz-Taktimpulsperiode in das Halteregister 159 eingetaktet und zeitlich in ihm gespeichert.
Die f,- und w,-Worte des Halte-Registers 159 werden selektiv von dem Wertungsfunktions-Änderer 161 dazu benutzt, ein m,-Wort zu erzeugen, das bis zu 12 Bits in der Breite schwanken kann, je nach dem, welcher Typ von Korrelations-Operation von der Informationsquellen-Einheit 151 durchgeführt wird. Das m,-Wort des Funktions-Änderers 161 und die EOM- und EOR-Bits des Halte-Registers 159 werden während jeder 1-MHz-Taktimpulsfolge in das Halte-Register 163 eingetaktet und dort zeitlich gespeichert.
Bei jedem 1 Mhz-Taktimpulszeitpunkt während des Lauf-Torsignals werden die Daten in einem neuen m,-Wort an den Summenakkumulator 165 angelegt, und zu dem addiert, was vorher bereits akkumuliert worden ist. Jede neue Datensumme ist ein 18-Bit-Korrelations-Datenwort d, die als Ausgangssignal der arithmetischen Informationsquellen-Einheit 151 erzeugt worden ist. Am Ende jeder der aus dem Maskenspeicher 103 ausgelesenen Masken wird ein EOM-Signal vom Zustand "1" von dem Halteregister 163 über einen 100 nsec-Verzögerungskreis 167 an den Summenakkumulator 165 angelegt, um den Akkumulator 165 für den Start der nächsten Maske zu löschen.
Individuelle Korrelations-Operationen zwischen den Bezugs-Masken (ausgelesen aus dem Speicher 103) und der digitalisierten in Parameter aufgelösten kontinuierlichen Sprache (ausgelesen aus dem Speicher 81) werden unter Benutzung einer Unterscheidungsfunktion errechnet. Die arithmetische Informationsquellen-Einheit 151 kann so ausgelegt werden, daß sie irgendeine von vielen verschiedenen Typen von Unterscheidungsfunktionen oder Korrelations-Operationen durchführt. Verschiedene Unterscheidungsfunktionen und ihre zugeordneten mathematischen Operationen sind in Fig. 12 für einen jeden von 5 beispielhaften Typen von arithmetischen Informationsquellen-Einheiten 151 mathematisch dargestellt Diese 5 Typen von Unterscheidungsfunktionen sind:
Typ
Unterscheidung«, funktion
Nr. 1 Schwellwert-Abstandsfunktion
Nr. 2 Betragsnorm
&Oacgr; Nr.3 Gewichtete Betragsnorm
Nr. 4 Euklidische quadratische Abstands-Funktion
Nr. 5 Skalares—Produkt zweier Vektorfunktionen
Zum Zwecke der folgenden Diskussion in Bezug auf die Fig. 5 und 12 soll sich r, auf die Komponenten einer gegebenen Maske ausgedrückt als Vektoren und x, auf die entsprechenden, dem Vergleich unterworfenen Komponenten der digitalisierten Sprachparametern beziehen.
Das Maß zum Messen des Grades der Übereinstimmung zwischen zwei Vektoren r, und x/, die einen Gewichtsvektor Wi und einen Schwellwertvektor 0, besitzen, kann im allgemeinen ausgedrückt werden als
rf = VW//;
wobei F, = F(r,, &khgr;, 0;),
&eegr; = die Zahl der Komponenten oder Wörter in der gegebenen Maske
und / = 1,2..., &eegr; ist.
Die Vektoren lassen sich schreiben:
X, = Xl,Xl, ...,Xn Wi= Wi1W2 Wn
0i = &THgr;&igr;,0.?, ....Qn
Zusätzlich soll angenommen werden, daß die Komponenten voneinander unabhängig sind.
Die Unterscheidungsfunktion für die Lösung von e/in der obigen allgemeinen Gleichung oder in Fig. 12 kann Schwellwerte ©,aufweisen oder auch nicht, und das Gewicht w„ das jeder Dimension zugeordnet ist, kann einheitlich sein. Beispielsweise kann, wie in Fig. 12 zu ersehen ist, der ungewichtete Absolutwert der Abstandsfunktion, die Betragsnorm, vom Typ 2 nur Vektoren &KHgr;&igr; und r, aufweisen, wobei
Fj = |x, — r,| und w, = 1.
In gleicher Weise ist die euklidische quadratische Abstandsfunktion vom Typ 4 erfüllt unter Verwendung von
F, = (xj — nß, wobei w, = 1 ist,
und das Skalar-Produkt der beiden Vektorfunktionen vom Typ 5 ist erfüllt unter Verwendung von
E = x, n. wobei w, = 1 ist.
Andererseits sieht die gewichtete Betragsnorm vom Typ 3 Vektoren x,, r, und w, vor, wenn auch
Fi = |x, - r,\.
Die Schwellwerts-Abstandsfunktion vom Typ
alle Vektoren x„ r,«,- und w vor, wobei
21
F1 = F(|,Y,-4 &THgr;,·) ist.
Der Minimalwert von d in der Gleichung
d = t «if.
1 = 1
oder am Ausgang des Summen-Akkumulators 165 entspricht der nahekommendsten Übereinstimmung in der Korrelation von x,und &eegr;.
Wie es in Fig. 12 gezeigt ist, kann für die meisten Vergleichsfunktionen cdie Beziehung zwischen x, und r, ausgedrückt werden in Termen c, = x, — r,, wie in Fig. 12 für die Funktionentypen 1 bis 4 dargestellt ist. Indem man diese verschiedenen Ausdrücke anstelle von xv und r, einführt, wird die Unabhängigkeitsfunktion wesentlich verändert. Die im vorhergehenden postulierte Annahme der Unabhängigkeit zwischen zwei einzelnen Komponenten von &khgr;, und r, ist nicht mehr länger notwendig. Die neue Annahme ist, daß der Betrag von x, — r,(mit / = 1, 2... n) unabhängig ist. Die frühere Annahme ist in der Erkennung von Mustern weit verbreitet, wenngleich sie offensichtlich keine Gültigkeit hat. Mit der neuen Annahme existiert jedoch ein größerer Grad von Gültigkeit. Angenommen ist nur, daß das Zwischenmerkmal-Rauschen unabhängig ist.
Die Vergleichs-Funktionen 153 für die Typen 1 bis 4 haben jeweils die Eigenschaft, daß die Differenzen \x, — r,\ klein sein sollen im Hinblick auf eine gute Übereinstimmung, und daß nur einige große Differentiale eine schlechte Metrik verursachen.
Eine Veränderung in dem Schwellwertsfunktions-Änderer 157 zu der Vergleichsfunktion vom Typ 1 begrenzt das Ausmaß, bis zu dem eine einzelne Komponente das Übereinstimmungsmaß abwerten kann. Solch eine Grenze stellt üblicherweise einen Schwellwert dar, der entsprechend in der Schwellwert-Abstandsfunktion vom Typ 1 dargestellt ist.
Um nunmehr im einzelnen die fünf obengenannten beispielhaften Typen von arithmetischen Informationsquellen-Einheiten 15t zu beschreiben, soll erneut Bezug genommen werden auf die Fig. 12 als auch auf die beiden Typen von Vergleichsfunktionen 153 dargestellt in den Fig. 13A und 13B, auf die drei Typen von Schwellwertfunktions-Änderer 157, dargestellt in den Fig. 14A, 14B und 14C. auf zwei Typen von Gewichtsfunktions-Änderem 161. dargestellt in den Fig. 15Aund 15B sowie auf den Summen-Akkumulator 165, dargestellt in der Fig. 16.
Beim Typ Nr. 1 kann die "Schwellwert-Abstandsfunktion"-Operation definiert werden als die Summe ;-gewichteten (w,) absoluten Werten der Differenzen zwischen entsprechenden Komponenten der Größen x, und r„ wobei die Differenzen kleiner sind als der vorgewählte Wert der Schwelle der Größe 6>,und wobei / = 1,2... /7 ist. Diese erste Funktion kann ausgedrückt werden durch:
wobei / = I, 2... &pgr; und &eegr; = der Zahl von Worten in einer gegebenen Maske ist. Es ist ersichtlich, daß in dieser Funklion vom Typ 1 sowohl die Schwellwerte &THgr;, !ilsiUichclioCu'wichlo u, verwende! werden.
Bei der Erläuterung der Arbeitsweise der Schwellwertabstands-Funktion der arithmetischen Informationsquellen-Einheit vom Typ Nr. 1 soll nunmehr auf den spezifischen Vergleichsfunktionskreis 153 in der Fig. 13A, auf den spezifischen Schwellwert-Funktions-Änderer 157 A der Fig. 14A, auf den spezifischen Gewichtsfunktions-Änderer 161 A in Fig. 15A als auch auf den Summenakkumulator 165 der Fig. 16 Bezug genommen werden.
Der Vergleichsfunktionskreis 153 der Fig. 13A erzeugt Werte c„ d. h. die absoluten Werte der Differenz zwischen entsprechenden Komponenten von den zwei
&iacgr;&ogr; Zahlen oder Größen x-, und &eegr;. Im einzelnen wird das 6-Bit-Signal x, direkt an einen Kombinationskreis 201 angelegt, während von dem 6-Bit-Signal r, zunächst mittels logischer Inverter oder NAND-Gatter 203 bis 208 das Komplement gebildet wird, bevor es an den Kombinationskreis 201 angelegt wird. Damit der Kombinierer 201 in der Lage ist, als Ausgangssignal das arithmetische Zweier-Komplement zu erzeugen, wird ferner eine binäre "1" an den Kombinierer 201 zwecks Addition zu dem Komplementärsignal von r, gelegt. Die Signale *,, r, und "1" werden in dem Kombinierer 201 summiert, der ein Ausgangssignal von 6 Bits erzeugt, die entsprechend an die zugeordneten ersten Eingänge von Exclusiv-ODER-Gatter 211—216 angelegt werden. Ein Übertrags-Ausgangsbit von dem Kombinierer 201 wird durch ein NAND-Gatter 219 logisch invertiert, bevor es an die zweiten Eingänge der Exclusiv-ODER-Gatter 211—216 angelegt wird. Ein Übertrags-Ausgangssignal vom Zustand "1" von dem Kombinierer 201 wird durch das NAND-Gatter 219 invertiert, um die Exclusiv-ODER-Gatter 211—216 zu veranlassen, als Wiederholer der zugeordneten Bits, die an ihren ersten Eingängen anliegen, zu arbeiten. Umgekehrt wird ein Übertrags-Ausgangssignal des Kombinierers 201 vom Zustand "0" durch das NAND-Gatter 219 invertiert, damit es die Exclusiv-ODER-Gatter 211—216 veranlaßt, als Inverter für die zugeordneten Bits, die an ihren ersten Eingängen anliegen, zu arbeiten.
Das 6-Bit-Ausgangssignal der Exclusiv-ODER-Gatter 211—216 wird in einem zweiten Kombiniererkreis 221 mit einer zweiten 6-Bit-Zahl summiert, die aus 5 Bits mit dem Wert "0" und dem 1-Bit-Ausgangssignal des NAND-Gatter 219 besteht. Daher ist diese zweite 6-Bit-Zahl entweder 000000 (Null) oder 000001 (Eins), je nach dem, ob das Bit des Übertrag-Ausganges den Wert binär "1" oder "0" besitzt. Ein Übertrag-Ein-Bit vom Zustand "0" (d. h. kein Übertrag-Ein) wird durch den Kombinierer 221 dahingehend verwendet, daß die beiden Eingangssignale von jeweils 6-Bit aufaddiert werden. Das Ausgangssignal des Kombinierers 221 ist ein 6-Bit-Wort c„ das gleich dem absoluten Wert der Differenz zwischen jeder der entsprechenden Komponenten von .x, undr, ist
Zur Erläuterung der arithmetischen Zweier-Komplement-Arbeitsweise der Vergleichsfunktion 153 der Fig.
13A soll zuerst angenommen werden, daß x, = 5 (oder 000101) und r, = 3 (oder 000011) für einen ersten Zeitpunkt sei. In diesem Fall erzeugt die Addition von 00000 (oder 1) zu 111100 (das Komplement von r,, oder /7, den Wert von 111101 (n + 1); die in dem Kombinierer 201 gebildete Summe von 000101 folund 111101 (7, + 1) ist 000010 (oder 2) mit einem Übertragsausgang von Eins; die Inversion des Übertrags-Ausganges 1 durch das NAND-Gatter 219 veranlaßt die Exclusiv-ODER-Gatter 211-216, an ihren Ausgängen ihre Eingänge vom
hi Wert 000010 zu wiederholen und bewirkt, daß der Wert 000000 in dem Kombinierer 221 zu dem Ausgangssignal 000010 der Gatter 211-216 addiert wird, zwecks Erzeugung eines 6-Bit- c-Ausgangssignals, das zu dieser Zeit
den Wert von 000010 (oder 2) hat.
Es sei nun angenommen, daß x, = 3 (oder 000011) und r, = 5 (000101) ist. In diesem zweiten Fall_erzeugt die Addition von 000001 (oder 1) zu 111010 ( n) den Wert von 111011 ( &eegr; + 1); in dem Kombinierer 201 ist die Summe von 000011 (x,) und 111011 (Ti + 1) = 111110 mit einem Übertragsausgang von Null; die Invertierung des Null-Obertragsausganges durch das NAND-Gatter 219 veranlaßt die Exclusiv-ODER-Gatter 211-216, ihre Eingangssignale vom Wert 111110 zu invertieren, um das Signal 000001 zu erzeugen, und es wird weiterhin veranlaßt, daß der Wert von 000001 in dem Kombinierer 221 zu dem Signal 000001 addiert wird, um ein 6-Bit-Ausgangssignal für c, mit dem Wert 000010 (oder 2) zu erzeugen.
Der Vergleichsfunktionskreis 153 der Fig. 13A hat die Eigenschaft, daß er verlangt, daß der Wert von c„ oder die Differenz |*,· — r,\ klein sein muß, damit eine gute Übereinstimmung zwischen xv und r, zu erzielen ist, und daß bereits einige große Differenzen eine schlechte Übereinstimmung verursachen können.
Das Ausgangssignal c, von dem Vergleichsfunktionskreis 153 der Fig. 13A wird in der Amplitude mit einem Schwellwertsigna! &THgr;, in dem Schwellwertfunktions-Änderer 157 A, der in Fig. 14A. dargestellt ist, verglichen. Der Schwellwertfunktions-Änderer 157 A enthält einen Vergleicher 225, der ein l-Bit-f,-Signal vom Zustand binär "1" (ti = 1) erzeugt, immer dann, wenn die Amplitude von c, größer ist als der Schwellwert &THgr;,. Immer dann, wenn c, gleich oder kleiner als der Schwellwert 0, ist, wird ein &iacgr;,-Signal vom Zustand binär "0" (t, = 0) erzeugt.
Wie es in den spezifischen Gewichtsfunktions-Änderer &iacgr;6&iacgr; A der Fig. 15A dargestellt ist, wird das i,-Ausgangssignal des Schwellwertfunktions-Änderers 157 &Lgr; der Fig. 14A in einem Multiplizierer 229 mit der 5-Bit-Gewichtsinformation w, multipliziert, wodurch ein 5-Bit-Ausgangswort m, gebildet wird. Dieses /n,-Ausgangswort von dem Multiplizierer 229 wird an den Summen-Akkumulator 165 der Fig. 16 angelegt.
In Fig. 16 löst das Lauf-Torsignal von Fig. 6 ein UND-Gatter 233 aus, derart, daß es während des Lauf-Zustandes über einen 100 nsec-Verzögerungskreis 235 1 MHz-Taktimpulse an den Takteingang eines Schieberegisters 237 durchläßt. Es sei daran erinnert (siehe Fig. 5), daß zu jeder 1-MHz-Taktimpulszeit ein neues m,-Wort in dem Halteregister 163 gespeichert und an den Summen-Akkumulator 165 angelegt wird. Jedes /n,-Wort des Halteregisters 163 wird in einem Kombinationskreis 239 zu dem, was bereits vorher akkumuliert worden ist, hinzuaddiert, und ist nunmehr an dem Ausgang des Schieberegisters 237, um eine neue Summe zu erzeugen. Nachdem jede Summe sich stabilisiert hat, taktet 100 nsec-verzögerter 1-MHz-Taktimpuls von dem Verzögerungskreis 235 diese neue Summe in das Schieberegister 237. Das Register 237 enthält an seinem Ausgang eine laufende Gesamtsumme der vorher erzeugten m,-Worte für eine gegebene Maske, die aus dem Maskenspeicher 103 ausgelesen ist, (Fig. 5). Diese laufende Gesamtsumme von mi-Worten an dem Ausgang des Schieberegisters ist d, wobei
und / = 1,2... n, und &pgr; — die Anzahl der Worte in einer gegebenen Maske ist Daraus ist ersichtlich, daß zu jedem Zeitpunkt ein neues m;-SignaI, das an den Eingang des Summen-Akkumulators 165 angelegt ist, in dem Kombinierer 239 zu demjenigen hinzuaddiert wird, was vorher in dem Register 237 für die zugeordnete Maske akkumuliert worden ist. wobei es als ein neuer cMVeri an dem Ausgang des Summen-Akkumulators 165 erscheint.
An dem Ende jeder Maske gelangt ein EOM-Bit von dem Halte-Register 163 durch einen 500 nsec.-Verzögerungskreis 241 zu dem Rückstelleingang des Schieberegisters 237. Dieses verzögerte EOM-Bit stellt alle Q-Ausgänge (nicht gezeigt) der Register 237 auf den binären Zustand "0". so daß das Register 237 beim Start der nächsten Maske gelöscht ist.
In Bezug auf die Maske 2 soll nunmehr die akkumulierende Arbeitsweise des Summen-Akkumulators 165 erläutert werden. So wie es in Fig. 9 dargestellt ist, ist die Maske 2 acht STV-Werte lang und enthält 128 Worte in diesen 8-STV-Werten. Daher werden, wenn die Maske 2 nacheinander aus dem Maskenspeicher 103 ausgelesen wird, insgesamt 128 m,-Worte erzeugt. Daher kann das Schieberegister 237 die Summe dieser 128 in,-Worte speichern, bevor ein verzögertes EOM-Signal von dem Verzögerungskreis 241 das Schieberegister für das nachfolgende m,-Wort der Maske 3 löscht. Wenn in dem obengenannten Beispiel die Summe von 90 m,-Worten in dem Register 237 gespeichert ist, dann wird das 91. m,-Wort zu dieser Summe hinzugezählt, und, nachdem das Register 237 erneut getaktet wurde, speichert dieses Register diese Summe von 91 m,-Worten. Es ist daher ersichtlich, daß ein neues d-Ausgangssignal, d. h. eine laufende Summe von im-Worten jede 10 msec, als Antwort auf das Anlegen von jeweils eines neuen m,-Wortes an den Kombinierer 239 erzeugt wird. Jedes dieser d-Ausgangssignale kann beispielsweise ein 18-Bit-Wort sein. Während jedes Lauf-Zustandes werden daher für die Maske 2 durch das Register 237 insgesamt 128 d-Worte bzw. Ausgangssignale erzeugt. Jedoch wird, wie später gezeigt werden wird, nur das letzte oder das größte dieser 128 d-Worte (d2) nachfolgend als das Masken-2-Korrelations-Datensignal verwendet.
Zurück zur Fig. 12; der Typ Nr. 2. die Betragsnorm, kann definiert werden als die Summe von i-absoluten Werten der Differenzen zwischen entsprechenden Komponenten der Größen x, und r„ wobei / = 1. 2 ... &eegr; ist. Diese zweite Funktion läßt sich ausdrücken durch:
wobei i = 1, 2... &eegr; und &eegr; = der Anzahl von Worten in einer gegebenen Maske ist.
Es ist ersichtlich, daß in dieser Funktion vom Typ Nr. 2 die gewichteten Worte w, vom gleichen Gewicht sind und daß der Schwellwert &THgr;&igr; nicht verwendet wird. In der Darstellung der Betragsnorm der arithmetisehen Informationsquellen-Einheit vom Typ Nr. 2 können die spezifische Vergleichsfunktion 153 der Fig. 13A, der spezifische Schwellwertfunktions-Änderer 157 C der Fig. 14C, der spezifische Gewichts-funktions-Änderer 161 B der Fig. 15B und der Summen-Akkumulator 165 der Fig. 16 verwendet werden. Die Vergleichsfunktion 153 A der Fig. 13A und der Summenakkumulator 165 der Fig. 16 wurden bereits im vorhergehenden erläutert. Die Fig. 14C zeigt an, daß der Schwellwertfunktions-Änderer 157 CaIs eine gerade Leitung 245 dargestellt ist Daher wird der Schwellwert &THgr; in dem Schwellwertfunktions-Änderer 157 C der Fig. 14C nicht verwendet, und daher ist t. = <?.. Der Gewichtsfunktions-Änderer 161 B der Fig. 15B zeigt ebenfalls eine durch-
gezogene Linie 247, um darzustellen, daß das Gewicht, daß jeder Komponente oder Dimension des Signales f, zugeordnet ist, gleich ist. Daher ist m, = f, = c,·, wobei jedes der m, und f,-Worte ein 6-Bit-Wort ist, da jeder Wert von c, ein 6-Bit-Wort ist.
Bei der spezifischen Darstellung der Betragsnorm von dem Typ Nr. 2 kann die arithmetische Informationsquellen&mdash;Einheit 151 der Fig. 5 vereinfacht werden, indem die Halte-Register 155, 159 und 163 sowie die Schwellwert- und Gewichtsfunktions-Änderer 157 und 161 weggelassen werden, und indem das c,-Wort (von dem Vergleichs-Funktionskreis 153 A der Fig. 13A) und das EOM-Bit (von dem Maskenspeicher 103) direkt an den Summen-Akkumulator 165 angelegt werden, und in dem entsprechend die EOM- und EOR-Bits (von dem Maskenspeicher 103) an die verbleibenden Plätze, angezeigt in Fig. 5. angelegt werden.
Zurück zur Fig. 12; die gewichtete Betragsnorm vom Typ Nr. 3 kann definiert werden als die Summe der /-gewichteten Cw^absoluten Werte der Differenzen zwischen entsprechenden Komponenten der Größen x, und r&ldquor; wobei 1 = 1,2... &eegr; ist. Diese dritte Funktion kann ausgedrückt werden durch die Beziehung:
wobei;' = 1, 2... &eegr; und &eegr; = der Zahl der Worte in einer gegebenen Maske ist.
Es ist ersichtlich, daß in diesem Funktionstyp Nr. 3 die Schwellwert-Worte &THgr;, nicht verwendet werden.
Bei der Darstellung der gewichteten Betragsnorm der arithmetischen Informationsquellen-Einheit vom Typ Nr. 3 können die spezifische Vergleichsfunktion 153 der Fig. 13A, der spezifische Schwellwertfunktions-Änderer 157 C der Fig. 14C, der spezifische Gewichtsfunktions-Änderer 161 A der Fig. 15A und der Summen-Akkumulator 165 der Fig. 16 verwendet werden. Alle diese Kreise sind bereits im vorstehenden erläutert worden und bedürfen daher keiner weiteren Erläuterung. Wie jedoch aus Fig. 12 hervorgeht, sind die Bit-Längen für die Worte c&ldquor; t&ldquor; m, und c/bei dem Funktionstyp Nr. 3 = 6,6, 11 und 18. Es sei angemerkt, daß sich der Funktionstyp Nr. 3 von dem Funktionstyp Nr. 1 dadurch unterscheidet, daß keine Schwelle &THgr; vorgesehen ist. Bei der Darstellung dieses Funktionstyps Nr. 3 kann daher die arithmetische Informationsquellen-Einheit 151 der Fig. 5 vereinfacht werden, indem man den Schwellwertfunktions-Änderer 157 und die Halte-Register 159 wegläßt, und indem man die c,- und w,-Worte des Halte-Registers 155 direkt an den Gewichtsfunktions-Änderer 161 anlegt (da ti &mdash; C: und -.-/, = w, ist), und indem die EOM- und EOR-Worte des Halte-Registers 155 direkt an das Halte-Register 163 angelegt werden.
Zurück zur Fig. 12; der Funktionstyp Nr. 4, die euklidische quadratische Abstandsfunktion kann definiert werden als die Summe der Quadrate der i-Differenzen zwischen entsprechenden Komponenten der Größen Xj und r&ldquor; wobei / = 1,2... &eegr; ist. Diese vierte Funktion kann ausgedrückt werden durch die Beziehung:
wobei / = 1,2 ... &eegr; und &eegr; die Anzahl der Worte in einer fcs gegebenen Maske ist.
Is im ervidulich. ilall in diesem l'unkiiunsiyp Nr. jedes der gewichteten Worte w, vom gleichen Gewicht sind, und daß keine Schwellwert-Worte &THgr;, verwendet werden.
Für die Darstellung der euklidischen quadratischen Abstandsfunktion der arithmetischen Informationsquellen-Einheit vom Typ Nr. 4 können die spezifische Vergleichsfunktion 153 der Fig. 13A, der spezifische Schwellwertfunktions-Änderer 157S der Fig. 14B, der spezifische Gewichtsfunktions-Änderer 161 B der Fig. 15B und der Summen-Akkumulator 165 der Fig. 16 verwendet werden. Es wird dabei nunmehr nur noch der Schwellwertfunktions-Änderer 157 Bin der Fig. 14B im einzelnen erläutert, da die verbleibenden, im vorstehenden aufgezählten Kreise bereits vorher erläutert worden sind.
Der Schvvellwertfunktions-Änderer 157 B der Fig. 14B enthält einen quadrierenden bzw. multiplizierenden Schaltkreis 249, der, da keine Schwellwerte &THgr;, verwendet werden, das 6-Bit-Eingangssignal c, quadriert, indem es dieses mit sich selbst multipliziert, um dadurch ein 12-Bit-Ausgangssignal i,zu erzeugen,das = c, · coder c,2 ist. Wie in Fig. 12 angedeutet, sind die Bit-Längen für die Worte m, bzw. din dem Funktionstyp Nr. 4 gleich 12 bzw. 18.
Für die spezifische Darstellung des Funktionstyps Nr.
4, der euklidischen quadratischen Abstandsfunktion, kann die arithmetische Informationsquellen-Einheit 151 der Fig. 5 dadurch vereinfacht werden, indem man den Gewichtsfunktions-Änderer 161 und die Halteregister 163 wegläßt, und indem man direkt die r,-Worte und das EOM-Bit des Halteregisters 159 direkt an den Summen-Akkumulator 165 anlegt, und indem man die EOM- und EOR-Bits des Halteregisters 159 an die verbleibenden Stellen, angezeigt in Fig. 5, anlegt.
Zurück zur Fig. 12; der Funktionstyp Nr. 5, die Funktion des Skalar-Produktes von zwei Vektoren, kann aufgefaßt werden durch die Summe der /-Produkte von entsprechenden Komponenten der Größen x, und /7, wobei /= 1, 2 ... &pgr; ist. Diese fünfte Funktion kann ausgedrückt werden durch:
d =
wobei / = 1,2.../- und &pgr; die Zahl der Worte in einer gegebenen Maske ist.
Es ist ersichtlich, daß in diesem Funktionstyp Nr. 5 die gewichteten Worte w, vom gleichen Gewicht sind, und daß keine Schwellwert-Worte (9, verwendet werden.
Bei der Darstellung der Funktion des Skalar-Produktes von zwei Vektoren der arithmetischen Informationsquellen-Einheit vom Typ Nr. 5 kann die spezifische Vergleichsfunktion 153 B der Fig. 13B, der spezifische Schwellwertfunktions-Änderer 157 C der Fig. 14C, der spezifische Gewichtsfunktions-Änderer 161 B der Fig. 15B und der Summen-Akkumulator 165 der Fig. 16 verwendet werden. Dabei soll nur die Vergleichsfunktion 153 B der Fig. 13B im einzelnen diskutiert werden, da der Rest der oben bezeichneten Schaltkreise bereits im vorstehenden diskutiert worden ist
Die Vergleichsfunktion 153 B der Fig. 13B enthält einen Multiplizierer 251, der entsprechende Komponenten der x, und n-Worte miteinander multipliziert, um ein 12-Bit-Wort c, zu erzeugen. In diesem Fall ist c, gleich dem Produkt Ar, - r,. Wie in Fig. 12 dargestellt ist, sind die Bit-Längen für den Typ Nr. 5 für jedes der Worte /&ldquor; in, u nd d gleich 12,12 bzw. 18.
Für die spezifische Darstellung des Funktionstyps Nr. 5, dem skalaren Produkt von zwei Vektorfunktionen,
kann die arithmetische Informationsquellen-Einheit 151 der Fig. 5 dadurch vereinfacht werden, indem die Halte-Register 155, 159 und 163 sowie die Schwellwert- und Gewichtsfunktions-Veränderer 157 und 161 weggelassen werden, und indem das &iacgr;,-Wort (von der Vergleichsfunktion 153 ßder Fig. 13B) und das EOM-Bit (von dem Maskenspeicher 103) direkt an den Summen-Akkumulator 165 angelegt werden, sowie indem die EOM- und EOR-Bits (von dem Maskenspeicher 103) an die in Fig. 5 angezeigten verbleibenden Plätze angelegt werden.
Die korrelierende Arbeitsweise der arithmetischen Informationsquellen-Einheit 151 soll nunmehr weiter analysiert werden. Im einzelnen soll die korrelierende Arbeitsweise der Einheit 151 vom Typ Nr. 1 (Fig. 12) in Verbindung mit z. B. einer 16-\Vortc-!angcn Maske X unter Bezugnahme auf die Fig. 17 analysiert werden, da diese Einheit vom Typ Nr. 1 sowohl Schwellwerte &THgr;, als auch Gewichte w, benutzt. Es sei jedoch betont, daß von der gegebenen Information eine ähnliche Analyse mit bekannten Mitteln für die anderen Typen von arithmetischen Informationsquellen-Einheiten 151 (Fig. 12) durchgeführt werden können.
Es sei nun angenommen, wie es in der Fig. 17 zum Ausdruck kommt, daß die Größen x,, r&ldquor; &THgr;, und w, für die 16-Wort-lange Maske X ihre entsprechenden angezeigten Werte während der 16 aufeinanderfolgenden Perioden von 1-M Hz-Zählimpulsen (von der Zentralsteuerung 87) erzeugen. In dieser 16-Wort-langen Maske ist / = 1, 2 ... 16. Es ist ersichtlich, daß jedes der d-Worte (von der Vergleichsfunktion 153 der Fig. 13A) gleich dem Absolutwert der Differenz zwischen den entsprechenden Xi- und /-,-Worten ist. Immer dann, wenn die Werte dieser c,-V/orte die entsprechenden Schwellwerte &THgr;, übersteigen, sind die f,-Worte (von dem Schwellwertfunktions-Änderer 157 A der Fig. 14A) gleich 1. Für alle anderen Werte von c, und &THgr;, sind die Werte für die f,-Worte gleich 0. Die Multiplikationen der entsprechenden Werte der ti- und w> Worte erzeugen die m,-Worte (von dem Gewichtsfunktions-Änderer 161 A der Fig. 15A). Immer dann, wenn ein &iacgr;,-Wort gleich 1 ist, ist der Wert des zugeordneten resultierenden m,-Wortes gleich dem Wert des zugeordneten Gewichtwortes w,. Wenn ein f,-Wort gleich 0 ist, dann ist das zugeordnete resultierende /n,-Wort gleich 0. Die Aufsunimierung oder die laufende Summe der vorher akkumulierten /&pgr;,-Worte mit dem Wert des neuesten mtWortes ist dargestellt, und zwar mit einer Endsumme an dem Ausgang des Summen-Akkumulators 165 der Fig. 6, der während der letzten oder der 16. Zählimpulsperiode für die Maske X den Wert von 31 hat. Diese Endsumme von 31 ist das Ausgangs-Korrelations-Datensignal dx für die Maske X.
Zurück zur Fig. 5; die d- Werte des Summen-Akkumulators 165 in der arithmetischen Informationsquellen-Einheit 151 werden über eine zusammengesetzte Leitung 301 an den "Daten-Ein"-Eingang eines "first-in, first-out" Datenspeicherkreises 303 (FIFO) angelegt. Dieser FIFO-Datenspeicherkreis 303 kann aus einer Anordnung von 18 parallel arbeitenden FIFO-Schieberegistern (nicht dargestellt) bestehen, und zwar von einem Typ, wie sie von der Firma Fairchild mit der Teile-Nr. A7K3341191 hergestellt werden.
Jedes FIFO-Schieberegister in dem Kreis 303 hat "Daten-Ein"-"Fensterimpuls-Ein"- und "Fensterimpuls-Aus"Eingänge und einen "Daten-Aus"-Ausgang.
Die 18 Bits in jedem der d-Werte, die von dem Summen-Akkumulator 165 erzeugt werden, werden an die entsprechenden "Daten-Ein"-Eingänge der 18 FIFO-Schieberegister in dem Kreis 303 angelegt. Alle 18 "Fensterimpuls-Ein"-Eingänge sind untereinander verbunden, damit sie gemeinsam jedes EOM-Bit von dem HaI-te-Register 163 empfangen können. Dadurch schaltet jedes EOM-Bit die 18 FIFO-Schieberegister derart an, daß sie nur die 18 Bit in dem letzten cZ-Wort. die erzeugt werden, bevor das EOM-Bit eintrifft, empfängt. Es ist daher ersichtlich, daß für jede Maske, die aus dem Maskenspeicher 103 ausgelesen wird, nur die 18 Bits in einem d-Wort in den Kreis 303 verschoben werden. Das c/-Wort, das in dem Kreis 303 für jede Maske gespeichert ist, ist dasjenige vom größten Wert und entspricht damit der letzten akkumulierten Summe, die in dem Summen-Akkumulator 165 erzeugt worden ist, bevor dieser Akkumulator 165 durch das verzögerte EOM-Bit von dem Verzögerungskreis 167 gelöscht wurde.
Die Anordnung der FIFO-Schieberegister in dem Kreis 303 verschiebt intern parallel die 18 Bits in jedem empfangenen c/-Wort in die erste freie Stelle. Dadurch ist es dem Kreis 303 möglich, für jede Maske, die während des Lauf-Zustandes aus dem Maskenspeicher 103 ausgelesen wird, nacheinander ein d-Wort zu speichern. Wie es kurz in Verbindung mit den Fig. 18 und 19 in größeren Einzelheiten erläutert werden soll, wird das EOR (Ende des Laufs)-Bit von dem Halte-Register 163 an den Entscheidungsfunktionskreis 17 angelegt. Als Antwort auf jedes EOR-Bit erzeugt dieser Entscheidungsfunktionskreis 17 eine Folge von FIFO-Ausgangs-Fensterimpulsen. Alle "Fensterimpuls-Aus"-Ausgänge des Kreises 303 sind zusammengeschaltet, damit sie gemeinsam jeden FIFO-Ausgangs-Fensterimpuls erhalten. Auf diese Weise veranlaßt jede der Folge von FI-FO-Ausgangs-Fensterimpulsen alle 18 FIFO-Schieberegister gemeinsam ein zugeordnetes 18-Bit langes Korrelations-Datenwort d für eine zugeordnete Maske, die vorher aus dem Maskenspeicher 103 ausgelesen worden ist, auszulesen. Da, wie in Fig. 9 angezeigt, M-verschiedene Masken in dem Maskenspeicher 103 abgespeichert sind, sind M-verschiedene Korrelations-Datenworte (d,. d2... dm) vorhanden, die nacheinander aus dem FIFO-Kreis 303 ausgelesen werden. Die Folge der Korrelations-Datenworte werden dem Entscheidungsfunktionskreis 17 zugeführt. Unter Bezugnahme auf die Fig. 18 und 19 soll nun die Arbeitsweise dieses Entscheidungsfunktionskreises 17 im einzelnen näher erläutert werden.
Die Fig. 18 zeigt einen ersten Teil des Entscheidungsfunktionskreises 17. Während des Betriebes setzt das EOR-Bit von dem Halte-Register 163 (Fig. 5) ein Flip-Flop 311, derart, daß sein Q-Ausgang ein Signal mit dem Zustand "1" führt. Dieses Signal vom Zustand "1" schaltet ein UND-Gatter 313 an, das 100 KHz-Taktimpulse (von dem Systemzeitgenerator 19 der Fig. 1) an den Zähleingang eines Zählers 315 und an einen 100 nsec-Verzögerungskreis 317 durchläßt. Jeder 100 KHz-Impuls von dem UND-Gatter 313 wird durch den Zähler 315 gezählt zwecks Erzeugung eines Adressen-Zählstandes, der an den Adress-Eingang eines Demultiplexers 319 angelegt wird. Jeder der 100 KHz-Impulse, die mittels des Zählers 315 gezählt werden, werden ferner mittels des Verzögerungskreises 317 um 100 nsec. verzögert zwecks Erzeugung eines FIFO-Ausgangs-Fensterimpulses (Strobe). Das Ausgangssignal des Verzögerungskreises 317 bildet daher eine Folge von FIFO-Ausgangs-Fensterimpulsen, die den FIFO-Datenspeicher-Schaltkreis 303 (Fig. 5) derart anschalten, daß er nacheinander 18 Bit-breite FIFO-Korrelations-Datensignale d^&mdash;dm ausliest und sie an den Demultiplexer 319 anlegt.
jeder Adressenzählstand von dem Zähler 315 ist in einem stabilisierten Zustand, bevor eines der zugeordneten Datensignale d\- dm an den Demultiplexer 319 angelegt werden. Die FIFO-Ausgangs-Fensterimpulse des Verzögerungskreises 317 werden weiterhin an den Demultiplexer 319 angelegt Der Demultiplexer 319 kann aus einem Satz von elektronischen Schaltern bestehen, die nacheinander von den Adressen des Zählers 315 adressiert werden, damit die seriell erzeugten d\&mdash; c/m-Eingangs-Datensignale in parallele Ausgangssignale d\ &mdash; dm umgewandelt werden. Zur selben Zeit wandelt der Demultiplexer 319 die Folge der FIFO-Ausgangs-Fensterimpulse des Verzögerungskreises 317 in parallele Ausgangs-Fenstersignale, Fenster] bis Fenstern,.
Jeder Ausgangs-Adress-Zählstand des Zählers 315 wird an einen Eingang eines Vergleichers 321 angelegt Die Zahl M, die gleich der Zahl der in dem Maskenspeicher 103 (Fig. 5) gespeicherten Masken ist, wird an den zweiten Eingang des Vergleichers 321 angelegt. Wenn der Adress-Zählstand des Zählers 315 gleich der Zahl M ist. erzeugt der Vergleicher 321 einen Anschalt-Impuls, der das Flip-Flop 311 zurückstellt, damit keine 100 KHz-Impulse mehr das UND-Gatter 313 passieren können. Der Anschalt-Impuls stellt ferner den Zähler 315 auf den Zählstand Null zurück. Das Flip-Flop 311 und der Zähler 315 verbleiben in diesem zurückgestellten Zustand, bis aufgrund des folgenden EOR-Bits neue FIFO-Korrelations-Datensignale demultiplext werden. Die Masken-Korrelations-Datensignale d\&mdash;dm, die Fensterimpuls-Signalei bism und der Anschalt-Impuls werden an einen zweiten Teil der Entscheidungsfunktion 17 angelegt, so wie es in der Fig. 19 dargestellt ist
Die Fig. 19 zeigt den zweiten Teil des Entscheidungsfunktionskreises 17, und zwar für den Fall von vier Masken, d. h. M &mdash; 4. Natürlich kann die Verwirklichung auch leicht nach höheren Werten hin ausgedehnt werden, z. B. auf den Fall von 27 Masken, d. h. M = 27. Um innerhalb einer Abtastperiode mehr als 27 Masken zu korrelieren, können eine vorbestimmte Anzahl von asynchronen Korrelationskreisen 15 (Fig. 5) parallel arbeiten, um gleichzeitig eine vergleichbare Zahl von parallelen Strömen von Ausgangs-Korrelationsdaten zu erzeugen. Wenn jedoch, wie es in Fig. 1 dargestellt ist, nur ein asynchroner Korrelationskreis benutzt wird, dann können innerhalb einer Abtastperiode mehr als 27 Masken dadurch korreliert werden, indem man grundsätzlich innerhalb der gewählten Abtastperiode die Zeit, die für jede Masken-Korrelation notwendig ist, senkt. In diesen letzteren Fall können, um das System der Erfindung auf beispielsweise mindestens 500 Masken auszudehnen, die folgenden Änderungen gemacht werden: Schnellere Speicher können für den Speicher 81 mit direktem Zugriff und den Maskenspeicher 103 verwendet werden; die Wort-Speicherkapazität des Maskenspeichers 103 kann auf beispielsweise 131072 Worte ausgedehnt werden; es kann anstelle des dargestellten 1-MHz-Taktes ein 10-MHz-Takt verwendet werden, um die Worte aus den Speichern 81 und 103 auszulesen und der Erfindung leicht so ausgelegt werden kann, daß es mit irgendeiner gewünschten Anzahl von Masken arbeiten kann.
Es sei in Erinnerung gerufen, daß die Worte in jeder Maske des Maskenspeichers 103 fortlaufend mit den zugeordneten STV-Werten, d.h. den digitalisierten Sprachwerten, die in dem Speicher 81 (Fig. 5) gespeichert sind, verglichen werden; daß ferner ein Korrelations-Datensignal d die Summe dieser Vergleiche für &iacgr;&ogr; eine gegebene Maske darstellt; daß ferner ein Korrelations-Datensignal d\&mdash;dm für jede Maske 1&mdash;M des Speichers 103 erzeugt wird; und daß schließlich die relative Amplitude jedes dieser Signale d\&mdash;d&ldquor;, ein Maß für die Übereinstimmung zwischen Masken in dem Speieher 103 und den zugeordneten Sprachsignalen, gespeichert in dem Speicher 81, sind.
Wie es bereits oben beschrieben wurde, repräsentieren die Masken in dem Maskenspeicher 103 (Fig. 5) jeweils einen dyadischen oder triadischen phonetischen Ton. Für den Fall der vier Masken, der in der Fig. 19 dargestellt ist, sei angenommen, daß das Schlüsselwort "Los Angeles" angezeigt werden soll. Phonetisch läßt sich das Schlüsselwort "Los Angeles" in die Tongruppen "Los", "An", "ge" · nd "les" zerlegen. Zum Zwecke der nachfolgenden Beschreibung sollen die Masken 1 bis 4 den Tongruppen "Los", "An", "ge" und "les" entsprechen. Während jeder 10 msec-Periode werden neue Masken-Korrelationsdatensignale d\, cfc, di und d* erzeugt und über eine zusammengesetzte Leitung entsprechend an Pufferregister 331, 333 und 335 (Fig. 19) sowie an einen Kombinationskreis 337 angelegt. Jede 10 msec, wird mittels der Fensterimpulse 1 bis 3 der neueste Wert von du d2 und efe in die Register 331,333 und 335 eingeschoben bzw. dort gespeichert. Die Pufferregister 331, 333 und 335 können jeweils aus 18 parallelen, nicht dargestellten Schieberegistern bestehen, wobei jedes Schieberegister 128 in Reihe geschaltete Flip-Flops (nicht dargestellt) besitzt. Daher kann jedes der Puffer-Register 331, 333 und 335 für einen gegebenen Zeitpunkt 128 benachbarte verschiedene Werte für die zugeordnete Größe d enthalten. Beispielsweise enthält das Puffer-Register 331 128 aufeinanderfolgende Werte des Korrelations-Signals d\ für die Maske 1. Da jede 10 msec, ein anderer Wert von d\ erzeugt wird, sind die Register 331 (als auch jedes der Register 33 und 335) zeitlich gesehen 1280 msec. lang.
Verbunden mit den Puffer-Registern 331,333 und 335 sind Beobachtungsfenster, die innerhalb der zugeordneten Register 331, 333 und 335 entsprechend den Zeiten des Erscheinens der phonetischen Töne in dem gewünschten Schlüsselwort, das in diesem Beispiel "Los Angeles" ist, zeitlich untereinander angeordnet sind. Da beispielsweise der Ton "Los" vor dem Ton "An" erscheint, ist das Fenster in dem Register 331 rechts neben dem Fenster in dem Register 333 angeordnet. Da in gleicher Weise der Ton "An" vor dem Ton "ge" erscheint, ist das Fenster in dem Register 333 rechts neben dem Fenster 335 angeordnet. Da der Ton "les" zuletzt in dem Wort "Los Angeles" erscheint, wird er direkt an den
um Uli. auu\.ii.ii ^.&igr;.&igr;&igr;&ugr;&mgr;\.&igr;&agr;&igr;&igr;&ngr;&igr;&igr;&igr;.&igr;
zuführen; schließlich kann eine Abtastzeit von 20 msec, anstelle von 10 msec, in dem System verwendet werden, indem man eine Abtastfrequenz von 50 Hz anstelle der dargestellten 100 Hz verwendet. Natürlich kann auch eine Kombination dieser beiden Fälle dazu verwendet werden, die Anzahl von Maskenkorrelationen innerhalb einer Abtastperiode zu erhöhen. Es ist daher ersichtlich, daß mittels der obengenannten Maßnahmen das System
Jedes der Beobachtungsfenster in den Registern 331, 333 und 335 kann, zeitlich gesehen, eine Länge aufweisen, die zwischen 30 und 200 msec, liegt. Die Länge oder die Zeitdauer eines Beobachtungsfensters wird grundsätzlich von dem Betrag der Änderungen in der Sprachgeschwindigkeit für die zugeordnete Dyade oder Triade bestimmt. Je mehr Variationen in der Sprachgeschwindigkeit vorhanden sind, je länger ist das Fenster. Ande-
rerseits werden die Grenzen des Fensters (oder das Nahekommen der Fenster untereinander) von dem Trainingssatz der Äußerungen bestimmt Eine Grenze des Fensters wird durch den nächstliegenden Zeitpunkt bestimmt, bei dem die Maske und oie folgende benachbarte Maske immer zusammen beobachtet werden können, wogegen die andere Grenze durch den entferntest liegenden Zeitpunkt bestimmt wird, bei dem sie immer abseits beobachtet werden. Bei der Bestimmung der Länge und der Grenzen der Beobachtungsfenster für ein gewünschtes Schlüsselwort, untersucht die Person, die den Trainer 105 (Fig. 5) trainiert alle verwendeten Trainingsdaten, und mißt statistisch die Bereiche jeder der Zeitänderungen bzw. Änderungen der entsprechenden Masken untereinander. Man erhält jedes Fenster aus den Trainingsdaten, indem man für den zugeordneten Dyaden- oder den Triaden-Ton in jedem gewünschten Schlüsselwort den Bereich oder die Extremwerte der zeitlichen Änderungen in der Sprechgeschwindigkeit beobachtet und indem man an jedem Ende des Bereiches einen Zuschlag von 20% hinzufügt Jedes Fenster ist dadurch der empirische Bereich dieser Veränderungen, der ausgedehnt worden ist, um begrenzten zusätzlichen Abweichungen, die in den Trainingsdaten gefunden werden, Genüge zu tun.
Jedes der Fenster in Fig. 19 bezieht sich auf die letzte Maske. Wie aus Fig. 19 für den Fall von vier Masken hervorgeht, bezieht sich jedes der Fenster für die Pufferregister 331,333 und 335 auf die Maske 4 oder mehr im einzelnen auf das gerade anstehende Masken-4-Korrelationsdatensignal d). Je weiter das Fenster in dem Pufferregister von dem laufenden dt-Wert für die letzte Maske (Maske 4) entfernt liegt, je weiter ist das Beobachtungsfenster.
Beispielsweise ist in dem Puffer-Register 331 das Fenster zwischen den Masken 1 und 4 das breiteste, weil es zeitlich gesehen am weitesten von dem laufenden di,-Wert entfernt ist. Andererseits ist in dem Pufferregister 335 das Fenster zwischen den Masken 3 und 4 das schmälste, weil es zeitlich gesehen am nächsten zu dem laufenden di-Wert liegt.
Die Fenster in den Puffer-Registern 331,333 und 335 sind stationär, wenn die Korrelationswerte d\ &mdash; di durch die Puffer hindurchgeschoben werden. Die verschiedenen d-Werte (von d\, di und ck), die in den Fenstern der Pufferregister 331, 333 und 335 enthalten sind, werden entsprechend auf das Maximum, d. h. einen Peak ansprechende Detektoren 339,341 und 343 angelegt. Jeder Peak-Detektor erfaßt innerhalb des ihm zugeordneten Fensters das Maximum des d-Wertes. Die beste Übereinstimmung zwischen einer Maske und dem spektrografischen Signal, das in dem Speicher 81 gespeichert ist, wird durch diesen Peak-Wert angezeigt, der also eine nahe Korrelation zwischen dieser Maske und ihrem zugeordneten Teil des gewünschten Schlüsselwortes anzeigt. Wie bereits oben herausgestellt wurde, ermöglicht es eine geeignete Breite und eine geeignete Anordnung der Fenster untereinander, daß die Peaks für die zugeordneten Komponenten eines gewünschten Schlüsselwortes "!eichzeiti1* enzcu0^ werden v/srin d~s gewünschte Schlüsselwort auftritt. Der laufende Wert von dt zusammen mit den Maximalwerten von du d* und d-j, die innerhalb ihrer zugeordneten Fenster erzeugt werden, werden in einem Kombinationskreis 337 aufsummiert, um ein Haupt, ein Schluß-Entscheidungsfunktionssignal zu erzeugen. Aufgrund dieser Darstellung ist ersichtlich, daß das Schluß-Entscheidungsfunktionssignal die Summe des vorliegenden Korrelationswertes für die letzte Maske (Maske 4) und die Maximal-Werte, die, zurückschauend, in den Fenstern von vorhergehenden Masken vorhanden waren. Dabei wird jede 10 msec, ein neuer Wert der Schluß-Emscheidungsfunktion crrechnet.
Die Amplitude jedes Schluß-Entscheidungsfunktionssignals ist kennzeichnend dafür, ob in der zu analysierenden Sprache ein gewünschtes Schlüsselwort enthalten ist oder nicht Um daher bestimmen zu können, ob
&iacgr;&ogr; ein gewünschtes Schlüsselwort vorhanden ist oder auch nicht, wird jedes Schluß-Entscheidungsfunktionssigna) und ein Entscheidungs-Schwellwertsignal &Phi; an das Schwellwertgatter 345 angelegt. Das Entscheidungs-Schwellwertsignal &Phi; wird empirisch beim Trainieren des Trainers 105 (Fig. 5) abgeleitet Aufgrund des Anlegens des Anschalt-Signals des Vergleichers 321 (Fig. 18) erzeugt das Schwellwert-Gatter 345 ein Entscheidungs-Ausgangssignal. Dieses Entscheidungs-Ausgangssignal ist ein Signal vom Zustand binär "&Ggr;, immer dann, wenn das Schluß-Entscheidungsfunktionssignal größer als die Entscheidungsschwelle &Phi; ist; in allen anderen Fällen hat es den Zustand binär "0". Jede 10 msec, wird ein neuer Wert des Entscheidungs-Ausgangssignals errechnet, indem eine neu entwickelte Schluß-Entscheidungsfunktion mit der Entscheidungsschwelle &Phi; verglichen wird. Ein Entscheidungs-Ausgangssignal am Schwellwertgatter 345 vom Zustand binär "1" zeigt an, daß die korrelierten Werte der Sprach-Eingangssignale und der Masken, die dieses Schlüsselwort ausmachen, in richtiger Weise erfaßt worden sind mit den geeigneten Peak-Werten und daß das gewünschte Schlüsselwort erfaßt worden ist. Dieses Anzeige-Entscheidungsausgangssignal vom Zustand "1" kann dazu verwendet werden, mittels eines nicht gezeigten Ausgangskreises eine Glocke ertönen zu lassen, ein Licht einzuschalten, bestimmte Kontrolleinrichtungen anzuschalten, die eine vorbestimmte Funktion ausüben, z. B. das Starten oder Beenden der Arbeitsweise einiger anderer nicht dargestellter Einrichtungen. Entsprechend der Plazierung und der Breite der Fenster in dem Schaltkreis gemäß Fig. 19 können die Masken-Korrelationen in einer Art und Weise kombiniert werden, die einer großen Änderungsbreite in der Sprachgeschwindigkeit angepaßt ist.
Es soll erwähnt werden, daß der Schaltkreis nach Fig.
19 nur ein gegebenes Schlüsselwort erkennen kann. Wenn weitere Schlüsselworte erfaßt werden sollen, ist für jedes zusätzliche zu erfassende Schlüsselwort ein zusätzlicher Schaltkreis ähnlich demjenigen in Fig. 19 notwendig. In diesem Fall werden die geeigneten Signa-Ie der Korrelations-Datensignale d\ &mdash; d,&ldquor; in Verbindung mit jedem zusätzlichen, auszuwählenden Schlüsselwort verwendet werden, mit einem Puffer-Register, das alien, und zwar den letzten Masken der Maskengruppe, die mit irgendeinem gegebenen Schlüsselwort verbunden ist, zugeordnet ist. und mit den Fenstern in den Puffer-Registern, die in geeigneter Weise angeordnet sind, und die die geeigneten Abmessungen haben. Indem man kontinuierlich die Masken-Korrelationsdaten des Demultiplexers 319 (Fig. 18) in einer selektiven Art und
irgendeine gegebene Zahl von Schlüsselworten durch das gesamte System erfaßt werden.
Werden beispielsweise drei Masken-Vielfache verwendet, und zwar im Hinblick auf die freie Variation und den Zwischensprechereffekt (wie oben diskutiert), dann kann jede der drei Masken in Reihe (oder auch parallel) mit den Ausgangssignalen des Speichers 81 korreliert werden. Die Korrelationsdatensignale von
diesen drei Masken-Vielfachen können dann gleichzeitig an einen Maximum- oder Peak-Detektor (nicht gezeigt) angelegt werden, der ähnlich den Peak-Detektoren 339,34! und 343 ist, wobei der Maximum-Maskenkorrelationswert d der drei beispielsweise als einer der d-Werte an den Schaltkreis nach Fig. 19 angelegt wird. Indem Vielfach-Masken verwendet werden, ist das System gemäß der Erfindung nicht nur aufnahmefähig hinsichtlich einer großen Anzahl von verschiedenen Sprechern, sondern kann auch eine breite freie Yariation in der phonetischen Transkription der zu erfassenden Schlüsselworte zulassen.
Die Fig. 20 zeigt ein Blockschaltbild einer anderen Ausführungsform des zweiten Teiles des Entscheidungsfunktionskreises 17 nach Fig. 1, die anstelle der Anordnung nach Fig. 19 verwendet werden kann. Der in Fig. 20 dargestellte Schaltkreis bezieht sich ebenso wie der Schaltkreis nach Fig. 19 beispielhaft auf einen 4-Maskenfall. Es ist offensichtlich, daß der Schaltkreis nach Fig. 20 in Obereinstimmung mit der hier gegebenen Lehre für die Benutzung von mehr als 4 Masiken ausgedehnt werden kann. Der Schaltkreis nach Fig.. 20 hat, ebenso wie derjenige nach Fig. 19, nur die Fähigkeit, ein Schlüsselwort zu erfassen. Damit das System der Erfindung in der Lage ist, irgendeine gegebene Zahl von Schlüsselworten zu erfassen, müssen in dem System eine entsprechende Anzahl von Schaltkreisen, ähnlich demjenigen gemäß Fig. 20, vorgesehen werden.
Es sei in Erinnerung gerufen, daß in dem Schaltkreis der Fig. 19 die Fenster der Pufferregister 331, 333 und 335 in Bezug gesetzt wurden zu dem laufenden Masken-Korrelations-Datensignal di. das von der letzten Maske, im dargestellten Beispiel die Maske 4. abgeleitet wurde. In dem Schaltkreis der Fig. 20 wird jedes Fenster bezogen auf das Korrelations-Datensignal, das von der folgenden benachbarten Maske und nicht von der letzten Maske abgeleitet wird.
In Fig. 20 werden die Masken-1-Korrelations-Datensignale d nacheinander jede 10 msec, durch die zugeordneten Fenster-1-Signale in ein Puffer-Register 351 eingetaktet. Das Register 351 hat ein Beobachtungsfenster, das im wesentlichen die ganze Speicherkapazität des Registers 351 umfaßt. Jede 10 msec, erfaßt ein Maximum-Detektor 353 den Peak-Wert d\ des Beobiichtungsfensters des Registers 351. Jedes Peak-Ausgangssignal d\ des Maximum-Detektors 353 wird in einem Kombinationskreis 355 mit einem zugehörigen Masken-2-Korrelations-Datensignal Gfc summiert, zwecks Erzeugung eines ersten Entscheidungs-Funktionssignals für die Masken 1 und 2. Jede 10 msec, wird eine neue erste Entscheidungsfunktion erzeugt.
Die nacheinander erzeugte erste Entscheidungsfunktions-Signale des Kombinierers 355 werden mittels der zugehörigen Fenster-2-Signale in ein Puffer-Register 357 eingetaktet. Gleich dem Register 351 hat das Register 357 ein Beobachtungsfenster, das im wesentlichen die gesamte Speicherkapazität des Registers 357 umfaßt. Jede 10 msec, erfaßt ein Maximum-Detektor 359 den Peak-Wert des ersten-Entscheidungsfunktionssi-
A^f &Ogr;&pgr;&eegr;&Kgr;&eegr;&Agr;&iacgr;&igr;&igr;
sters 357 gespeichert ist. Jede Peak-Erste-Entscheidungsfunktion des Maximum-Detektors 359 wird in einem Kombinierer-Kreis 361 mit einem zugeordneten Masken-3-Korrelations-Datensignal d-i aufsummiert, zwecks Erzeugung eines zweiten Entscheidungs-Funktionssignals für die Masken 1,2 und 3. Jede 10 msec, wird eine neue zweite Entscheidungsfunktion erzeugt.
Die nacheinander erzeugten zweiten Entscheidurigs-Funktionssignale des Kombinierers 361 werden mittels zugeordneter Fenster-3-Signale in ein Puffer-Register 363 eingetaktet Gleich den Registern 351 und 357 hat das Puffer-Register 363 Beobachtungsfenster, das im wesentlichen die gesamte Speicherkapazität des Registers 363 ausmacht Es ist daher ersichtlich, daß, obgleich die Register 351,357 und 363 der Fig. 20 ähnlich zu den Registern 331,333 und 335 der Fig. 19 sind, und hinsichtlich der Speicherkapazität wesentlich kleiner als die Register der Fig. 19 sind.
Jede 10 msec, erfaßt ein Maximum-Detektor 365 den Peak-Wert des zweiten Entscheidungs-Funktionssignales, das innerhalb des Beobachtungsfensters in dem Speicher 363 gespeichert ist. Jede Peak-Zweite-Entscheidungsfunktion von dem Maximum-Detektor 365 wird in einem Kombinationskreis 367 mit einem zugeordneten Masken-Vier-Korrelations-Datensignal d) aufsummiert, zwecks Erzeugung eines dritten Entscheidungs-Funktionssignales für die Masken 1,2,3 und 4. Da in der Fig. 20 nur ein Fall für vier Masken dargestellt ist, ist dieses dritte Entscheidungs-Funktionssignal das Schluß-Entscheidungs-Funktionssignal. Es ist daher ersichtlich, daß der Kreis nach Fig. 20 den die Entscheidung treffenden Maximalwert oder die Entscheidungsfunktion über das Zeitfenster zwischen zwei benachbarte Masken plaziert und diesen Wert zu der Entscheidungsfunktion der folgenden Maske addiert, usw. Auf diese An und Weise wird die Schluß-Entscheidungsfunktion nacheinander in dem Schaltkreis nach Fig. 20 akkumuliert, und nicht am Ende wie in Fig. 19.
Die Schluß-Entscheidungsfunktion des Kombinierers 367 wird mit der empirisch abgeleiteten Entscheidungsschwelle &Phi; in einem Schwellwertgatter 369 verglichen, zwecks Erzeugung eines Entscheidungs-Ausgangssignals immer dann, wenn das Anschaltsignal des Vergleichers 321 an das Gatter 369 angelegt ist. Ein Entscheidungs-Ausgangssignal vom Zustand binär "1" zeigt an, daß ein vorbestimmtes Schlüsselwort erscheint, d. h. erfaßt wurde, während ein Entscheidungs-Funktionssignal vom Zustand binär "0" das Gegenteil anzeigt. Das Entscheidungs-Ausgangssignal vom Zustand "1" kann dazu verwendet werden, irgendeine Funktion auszuüben, so wie es in Bezug auf die Fig. 19 bereits erläutert wurde. Immer dann, wenn es gewünscht wird, daß zusätzliche Schlüsselworte durch das System erfaßt werden sollen, dann sind entsprechend dem vorher Gesagten für jedes zusätzliche Schlüsselwort ein zusätzlicher Kreis nach Fig. 20 bei der Realisierung des Systems notwendig.
Da bei der Verwirklichung gemäß Fig. 20 jedes der Fenster in den Puffer-Registern 351, 357 und 363 sich jeweils auf die folgende benachbarte Maske und nicht, wie in Fig. 19, auf die letzte Maske bezieht, besitzt die Verwirklichung gemäß Fig. 20 gegenüber der Verwirklichung gemäß Fig. 19 verschiedene Vorteile.
Zunächst sind die Puffer-Register 351, 357 und 363 der Fig. 20 verhältnismäßig kurz in der Länge, da jedes Fenster im wesentlichen die gesamte Speicherkapazität umfaßt. Anders ausgedrückt, der Schaltkreis nach Fig. 19 benötigt eine relativ große Speicherkapazität für jedes der Register 331, 333 und 335, d?. jprlp«; Fenster nur einen kleinen Teil der Speicherkapazität des zugeordneten der Register 331,333 und 335 verwendet. Mit anderen Worten, in Fig. 20 ist gegenüber Fig. 19 eine geringere Puffer-Speicherkapazität notwendig, da der Spei-
b5 cherumfang, der in Fig. 20 notwendig ist, nur der maximal zwischen zwei benachbarten Masken auftretenden Zeit entspricht, und nicht der maximalen Zeit zwischen der ersten und der letzten Maske nach Fig. 19. Daher ist
35
für den Schaltkreis nach Fig. 20 ein geringerer Betrag an hardware im Vergleich zu der Fig. 19 notwendig.
Zum Zweiten sind die Fenster der Register in Fig. 20 jeweils von derselben Länge und schmaler -2.1s diejenigen der Register der Fig. 19. In Fig. 19 müssen die Fenster aufsteigend länger gemacht werden, da sie immer weiter von der letzten Maske entfernt liegen. Wie in Fig. 19 gezeigt, erfordert das Register 331 ein längeres Fenster als das Register 333, das seinerseits ein längeres Fenster als das Register 335 erfordert Das ist bedingt durch die Tatsache, daß die Veränderungen in dem zeitlichen Auftreten umso größer sind, je größer der zeitliche Abstand eines Fensters von den Korrelationsdaten der letzten Maske ist In Fig. 20 wird die Variation innerhalb eines Wortes gemessen, wogegen in Fig. 19 die Variation quer über das Wort gemessen wird. Die Variation der Maske 1 in Bezug auf die Maske 2 ist viel weniger als die Variation von Maske 1 in Bezug auf die letzte Maske. Dadurch ist der Schaltkreis nach Fig. 20 für denselben Bereich von Worten wie der Schaltkreis nach Fig. 19 empfänglich, jedoch mit viel schmaleren Fenstern.
Zum Dritten ist anzumerken, daß der Schaltkreis nach Fig. 20 genauer als derjenige nach Fig. 19 ist, weil die Fenster in Fig. 20 schmaler als diejenigen in Fig. 19 sind. Die Fenster in Fig. 19 müssen länger sein, damit sie die geforderte Information aufnehmen können. Je breiter jedoch ein Fenster ist, umso mehr Werte sind in ihm gespeichert Daher ist die Chance, eine falsche Schlüsselwort-Erfassung zu erhalten, indem der falsche Wert aufgenommen wird, größer. Umgekehrt, wenn ein schmaleres Fenster gemäß Fig. 20 verwendet wird, ist die Beschreibung der zeitlichen Zusammenhänge in den Schlüsselwort-Äußerungen genauer, d. h. die Wahrscheinlichkeit einer Fehlbetätigung wird reduziert.
Es sei betont, daß im Vorstehenden Ausführungsbeispiele beschrieben worden sind, und daß viele Veränderungen gemacht werden können. Beispielsweise kann das System nach Fig. 1 mit verschiedenen logischen Schaltkreisen und Zeitsignalen verwirklicht werden, es kann mit seriellen Daten anstelle von parallelen Daten oder umgekehrt arbeiten, und es kann, wie im Vorstehenden bereits angedeutet, sowohl bei der begrenzten, als auch bei der unbegrenzten Schlüsselworterfassung .;;, mit einer vorbestimmten Anzahl von Masken arbeiten.
Hierzu 18 Blatt Zeichnungen
50
55
60
65

Claims (6)

1 Patentansprüche
1. Schahungsanordnung zum Erkennen von einem oder mehreren Schlüssel worten in kontinuierlicher Sprache mit einem Prozessor (11), der auf ein kontinuierliches Sprachsignal anspricht und von ihm kontinuierlich eine Vielzahl von analogen spektralen Sprachparametern erzeugt, einer Generatoranordnung (13), die auf die Vielzahl der analogen spektralen Sprachparameter anspricht, um periodisch digitalisierte spektrale Sprachparameter zu erzeugen, ersten Speichermitteln (81) zum Speichern von Folgen der periodisch erzeugten digitalisierten spektralen Sprachparameter, zweiten Speichermitteln (103) zum Speichern vorgewählter digitalisierter Sezugsmasken und einer Entscheidungs-Anordnung (17), die ein Anzeige-Entscheidungsausgangssignal erzeugt, wenn ein Schlüsselwort erkannt wird, dadurch gekennzeichnet, daß die ersten Speichermittel (81) eine Folge der digitalen spektralen Sprachparameter speichern, wobei jedesmal, wenn ein neuer Sprachparameter erhalten wird, der älteste vorhandene Sprachparameter aus der Folge entfernt wird, die zweiten Speichermittel (103) die Bezugsmasken in Form vorgewählter Paar- und/oder Triplett-Phonern-Unterelemente von mindestens einem ausgewählten Schlüsselwort vorspeichern, eine Korrelationsanordnung (15) vorgesehen ist, die alle digitalisierten Paar- und/ oder Triplett-Phonem-Unterelemente jeder Bezugsmaske mit einer entsprechend langen Folge von aufeinanderfolgenden spektralen Sprachparametern korreliert, um asynchron für jede Eezugsmaske ein Korrelations-Datensignal zu erzeugen, und die Entscheidungs-Anordnung (17) für jedes gewünschte Schlüsselwort auf die Korrelationsdatensignale anspricht, um das Anzeige-Entscheidungsausgangssignal zu erzeugen.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Prozessor (11) einmal Eingangsstufen (25) zum Aufteilen des kontinuierlichen Sprachsignals in eine Vielzahl von vorgewählten Frequenzkomponenten und zum anderen eine Parameter-Anordnung (27, 29, 31, 33) enthält, die auf die Vielzahl der vorgewähltem Frequenzkomponenten anspricht und die Vielzahl der analogen, spektralen Sprachparameter (Si -Sn) erzeugt.
3. Schaltungsanordnung nach Anspruch 2, dadurch besteht, gekennzeichnet, daß die Parameter-Anordnung zunächst erste Stufen (27,29) enthält, die auf die Vielzahl der vorgewählten Frequenzkomponenten das Auftreten der Frequenzkomponenten anzeigenden Signalen erzeugen, und die zum anderen zweite Stufen (31,33) besitzt, die auf die Vielzahl der zugeordneten Anzeigesignale ansprechen, um die Vielzahl der analogen, spektralen Sprachparameter zu erzeugen.
4. Schaltungsanordnung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die Generator-Anordnung (13) zunächst Stufen (69) enthält, die auf die Vielzahl der analogen, spektralen Sprachparameter ansprechen, um Zeitmultiplex-Sprachparameter zu erzeugen, und die weiterhin Umwandlungsstufen (73) aufweisen, die digitalisierte spektrale Sprachparameter aus den Zeitmultiplex-Sprachparametern erzeugen.
5. Schaltungsanordnung nach einem der Ansprüche t&mdash;4, dadurch gekennzeichnet, daß die zweiten Speichermittel (103) so ausgebildet sind, daß sie die digitalisierten spektralen Sprachparameter während eines ersten Betriebszustandes speichern und nacheinander Folgen von digitalisierten spektralen Sprachparametern während eines zweiten Betriebszustandes auslesen, und daß die Korrelationsanordnung (15) Stufen (151) zum aufeinanderfolgenden, asynchronen Korrelieren der vorgespeicherten Bezugsmaskensignale mit einer entsprechend langen Folge der digitalisierten, spektralen Sprachparameter während des zweiten Betriebszustandes aufweist, die asynchron entsprechende Korrelations-Datensignale für jedes vorgespeicherte Bezugsmaskensignal erzeugen, wobei die Amplitude jedes Korrelations-Datensignals kennzeichnend für das Maß der Übereinstimmung zwischen zugeordnetem vorgespeichertem Bezugsmaskensignal und der entsprechenden Folge der digitalisierten spektralen Sprachparameter ist.
6. Schaltungsanordnung nach einem der Ansprüche 1&mdash;5, dadurch gekennzeichnet, daß die Entscheidungsanordnung (17) aus
DE2613258A 1975-04-02 1976-03-27 Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache Expired DE2613258C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US56456475A 1975-04-02 1975-04-02

Publications (2)

Publication Number Publication Date
DE2613258A1 DE2613258A1 (de) 1976-10-21
DE2613258C2 true DE2613258C2 (de) 1987-04-30

Family

ID=24254975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2613258A Expired DE2613258C2 (de) 1975-04-02 1976-03-27 Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache

Country Status (7)

Country Link
US (1) US4081607A (de)
JP (1) JPS51117802A (de)
BR (1) BR7600292A (de)
CA (1) CA1056504A (de)
DE (1) DE2613258C2 (de)
FR (1) FR2306481A1 (de)
GB (1) GB1508741A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10084633B3 (de) * 1999-05-25 2014-08-28 Arbitron Inc. (n.d.Ges.d. Staates Delaware) Dekodieren von Informationen in Audiosignalen

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227176A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
US4771401A (en) * 1983-02-18 1988-09-13 Houghton Mifflin Company Apparatus and method for linguistic expression processing
US4674066A (en) * 1983-02-18 1987-06-16 Houghton Mifflin Company Textual database system using skeletonization and phonetic replacement to retrieve words matching or similar to query words
JPS6057475A (ja) * 1983-09-07 1985-04-03 Toshiba Corp パタ−ン認識方式
JPS60249194A (ja) * 1984-05-25 1985-12-09 株式会社日立製作所 会話型音声入出力方式
US5218668A (en) * 1984-09-28 1993-06-08 Itt Corporation Keyword recognition system and method using template concantenation model
US4783758A (en) * 1985-02-05 1988-11-08 Houghton Mifflin Company Automated word substitution using numerical rankings of structural disparity between misspelled words & candidate substitution words
GB8613327D0 (en) * 1986-06-02 1986-07-09 British Telecomm Speech processor
US5765131A (en) * 1986-10-03 1998-06-09 British Telecommunications Public Limited Company Language translation system and method
US4896358A (en) * 1987-03-17 1990-01-23 Itt Corporation Method and apparatus of rejecting false hypotheses in automatic speech recognizer systems
GB2207783B (en) * 1987-08-07 1991-05-22 Casio Computer Co Ltd Recording/reproducing apparatus with voice recognition function
US4980917A (en) * 1987-11-18 1990-12-25 Emerson & Stern Associates, Inc. Method and apparatus for determining articulatory parameters from speech data
US5231671A (en) * 1991-06-21 1993-07-27 Ivl Technologies, Ltd. Method and apparatus for generating vocal harmonies
US5428708A (en) * 1991-06-21 1995-06-27 Ivl Technologies Ltd. Musical entertainment system
US6046395A (en) * 1995-01-18 2000-04-04 Ivl Technologies Ltd. Method and apparatus for changing the timbre and/or pitch of audio signals
US5567901A (en) * 1995-01-18 1996-10-22 Ivl Technologies Ltd. Method and apparatus for changing the timbre and/or pitch of audio signals
US6094476A (en) * 1997-03-24 2000-07-25 Octel Communications Corporation Speech-responsive voice messaging system and method
US6336092B1 (en) 1997-04-28 2002-01-01 Ivl Technologies Ltd Targeted vocal transformation
US6490561B1 (en) * 1997-06-25 2002-12-03 Dennis L. Wilson Continuous speech voice transcription
FI973093A (fi) * 1997-07-23 1999-01-24 Nokia Mobile Phones Ltd Menetelmä telepalvelun ohjaamiseksi ja päätelaite
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US8095508B2 (en) * 2000-04-07 2012-01-10 Washington University Intelligent data storage and processing using FPGA devices
US7139743B2 (en) * 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
WO2005048134A2 (en) 2002-05-21 2005-05-26 Washington University Intelligent data storage and processing using fpga devices
US6711558B1 (en) 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
US7716330B2 (en) 2001-10-19 2010-05-11 Global Velocity, Inc. System and method for controlling transmission of data packets over an information network
US20090161568A1 (en) * 2007-12-21 2009-06-25 Charles Kastner TCP data reassembly
US20090106251A1 (en) * 2001-10-24 2009-04-23 Harris Scott C Web based communication of information with reconfigurable format
US7711844B2 (en) * 2002-08-15 2010-05-04 Washington University Of St. Louis TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US7602785B2 (en) 2004-02-09 2009-10-13 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters
US8670428B2 (en) * 2004-03-18 2014-03-11 Qualcomm Incorporated Signal acquisition in peer-to-peer communications
US7672845B2 (en) * 2004-06-22 2010-03-02 International Business Machines Corporation Method and system for keyword detection using voice-recognition
WO2006023948A2 (en) * 2004-08-24 2006-03-02 Washington University Methods and systems for content detection in a reconfigurable hardware
JP2008532177A (ja) 2005-03-03 2008-08-14 ワシントン ユニヴァーシティー 生物学的配列類似検索を実行するための方法および装置
US7702629B2 (en) * 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US7954114B2 (en) 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
US7636703B2 (en) * 2006-05-02 2009-12-22 Exegy Incorporated Method and apparatus for approximate pattern matching
US7840482B2 (en) * 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
JP5705395B2 (ja) * 2006-07-21 2015-04-22 テクトロニクス・インターナショナル・セールス・ゲーエムベーハー 信号分析装置
US20080086274A1 (en) * 2006-08-10 2008-04-10 Chamberlain Roger D Method and Apparatus for Protein Sequence Alignment Using FPGA Devices
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
US8036891B2 (en) * 2008-06-26 2011-10-11 California State University, Fresno Methods of identification using voice sound analysis
WO2010077829A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
WO2012079041A1 (en) 2010-12-09 2012-06-14 Exegy Incorporated Method and apparatus for managing orders in financial markets
TWI406266B (zh) 2011-06-03 2013-08-21 Univ Nat Chiao Tung 語音辨識裝置及其辨識方法
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US9336302B1 (en) 2012-07-20 2016-05-10 Zuci Realty Llc Insight and algorithmic clustering for automated synthesis
US9633097B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for record pivoting to accelerate processing of data fields
CA2887022C (en) 2012-10-23 2021-05-04 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
WO2015164639A1 (en) 2014-04-23 2015-10-29 Ip Reservoir, Llc Method and apparatus for accelerated data translation
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
EP3560135A4 (de) 2016-12-22 2020-08-05 IP Reservoir, LLC Rohrleitungen zum hardware-beschleunigten maschinellen lernen
US10311874B2 (en) 2017-09-01 2019-06-04 4Q Catalyst, LLC Methods and systems for voice-based programming of a voice-controlled device
CN109447886B (zh) * 2018-10-08 2023-04-11 陕西师范大学 结合emd-21嵌入的带恢复多载体密图分存方法
US10629226B1 (en) * 2018-10-29 2020-04-21 Bestechnic (Shanghai) Co., Ltd. Acoustic signal processing with voice activity detector having processor in an idle state
CN112735469B (zh) * 2020-10-28 2024-05-17 西安电子科技大学 低内存语音关键词检测方法、系统、介质、设备及终端
CN113269305B (zh) * 2021-05-20 2024-05-03 郑州铁路职业技术学院 一种加强记忆的反馈语音强化方法
CN114817456B (zh) * 2022-03-10 2023-09-05 马上消费金融股份有限公司 关键词检测方法、装置、计算机设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1172244A (en) * 1966-03-16 1969-11-26 Emi Ltd Improvements relating to Voice Operated Apparatus
FR2074813A1 (de) * 1970-01-30 1971-10-08 Lannionnais Electronique
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
JPS5419722B2 (de) * 1971-09-23 1979-07-17
US3770892A (en) * 1972-05-26 1973-11-06 Ibm Connected word recognition system
US3883850A (en) * 1972-06-19 1975-05-13 Threshold Tech Programmable word recognition apparatus
GB1435779A (en) * 1972-09-21 1976-05-12 Threshold Tech Word recognition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10084633B3 (de) * 1999-05-25 2014-08-28 Arbitron Inc. (n.d.Ges.d. Staates Delaware) Dekodieren von Informationen in Audiosignalen

Also Published As

Publication number Publication date
BR7600292A (pt) 1976-10-05
DE2613258A1 (de) 1976-10-21
CA1056504A (en) 1979-06-12
JPS5721720B2 (de) 1982-05-08
US4081607A (en) 1978-03-28
FR2306481B1 (de) 1981-12-18
AU8730675A (en) 1977-06-09
FR2306481A1 (fr) 1976-10-29
GB1508741A (en) 1978-04-26
JPS51117802A (en) 1976-10-16

Similar Documents

Publication Publication Date Title
DE2613258C2 (de) Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache
DE2918533C2 (de)
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE2659096C2 (de)
DE2953262C2 (de)
DE69121312T2 (de) Geräuschsignalvorhersagevorrichtung
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse
DE3242866C2 (de)
DE2825110A1 (de) Verfahren zur erkennung kontinuierlicher sprachsignale
DE2820645A1 (de) Vorrichtung und verfahren zur spracherkennung
DE2825186A1 (de) Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2825082A1 (de) Verfahren zur spracherkennung
DE2753707A1 (de) Einrichtung zur erkennung des auftretens eines kommandowortes aus einer eingangssprache
DE2551632C2 (de) Verfahren zum Zusammensetzen von Sprachnachrichten
DE69427717T2 (de) Sprachdialogsystem
DE2326517A1 (de) Verfahren und schaltungsanordnung zum erkennen von gesprochenen woertern
EP0925461A2 (de) Verfahren zur mehrsprachenverwendung eines hidden markov lautmodelles in einem spracherkennungssystem
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
DE2020753A1 (de) Einrichtung zum Erkennen vorgegebener Sprachlaute
DE4031638C2 (de)
DE69127134T2 (de) Sprachkodierer
DE10022586A1 (de) Verfahren zum Erzeugen einer Sprachdatenbank für einen Zielwortschatz zum Trainieren eines Spracherkennungssystems
DE2720666C2 (de) Verfahren und Anordnung zur Geräuschanalyse
DE4111781A1 (de) Computersystem zur spracherkennung

Legal Events

Date Code Title Description
OI Miscellaneous see part 1
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G10L 1/00

8128 New person/name/address of the agent

Representative=s name: GOERTZ, H., DIPL.-ING. FUCHS, J., DR.-ING. DIPL.-I

8125 Change of the main classification

Ipc: G10L 9/08

D2 Grant after examination
8364 No opposition during term of opposition