-
-
Beschreibung
-
Die Erfindung betrifft ein System zum Erkennen von Sprache, wie beispielsweise
von gesprochenem Wort, und betrifft insbesondere ein Spracherkennungssystem mit
einem Vektor-Quantisierungsverfahren für eine Sprachkodierung.
-
in einem bekannten Spracherkennungssystem werden eine Anzahl gesprochener
Worte oder Sätze als Norm- oder Bezugssprachmuster im voraus gespeichert, und wenn
ein unbekanntes Sprachmuster in das System eingegeben wird, vergleicht das System
das eingegebene unbekannte Sprachmuster Wort für Wort mit den gespeicherten Bezugssprachmustern.
Bei der Durchführung einer solchen Musteranpassung ist die sogenannte dynamische
Programmier-Anpassungsmethode gegenwärtig weit verbreitet. Entsprechend dieser Methode
wird die Zeitachse des Bezugsmusters nichtlinear gedehnt oder kontrahiert, um sie
dadurch mit der Zeitachse des zu erkennenden Eingabemusters vergleichbar zu machen,
bevor ein Vergleich zwischen den beiden Mustern durchgeführt wird; dies wird durchgeführt,
da die Zeitspanne bei einer Sprache nicht immer dieselbe ist. Folglich wird bei
der dynamischen Programmiermethode vor einer Verwirklichung einer Musteranpassung
das Bezugssprachmuster, das mit dem eingegebenen, zu erkennenden Sprachmuster zu
vergleichen ist, so konditioniert, daß der Abstand zwischen den beiden Mustern der
kleinste ist. Bei der dynamischen Programmiermethode beträgt jedoch die erforderliche
Anzahl von Berechnungen zur Durchführung eines Musteranpassungsprozesses zumindest
I X J X N, (wobei I die Anzahl von Bandsprossen (Rahmen-frames ) eines eingegebenen
unbekannten Sprachmusters, J die Anzahl von Bandsprossen eines Bezugssprachmusters
und N die Anzahl an gespeicherten Sprachmustern ist). Folglich muß bei dem dynamischen
Programmierverfahren
eine ausgesprochen große Anzahl von Berechnungen
durchgeführt werden.
-
Durch die Erfindung sollen die Nachteile der herkömmlichen, vorstehend
beschriebenen Verfahren beseitigt werden und es soll ein verbessertes Spracherkennungssystem
geschaffen werden, bei welchem die Menge an Berechnungen verringert ist1 und welches
folglich schnell arbeitet. Darüber hinaus soll ein verbessertes Spracherkennungssystem
geschaffen werden, das im Betrieb zuverlässig und wirksam ist. Darüber hinaus sollen
noch ein verbessertes Spracherkennungssystem geschaffen werden, mit welchem eine
grö-Bere Anzahl von Sprachen, wie beispielsweise gesprochene Worte und Sätze1 erkannt
werden.
-
Gemäß der Erfindung ist ein Spracherkennungssystem geschaffen, bei
welchem ein Vektorquantisierungsverfahren zur Sprachkodierung verwendet ist. Das
Vektorquantisierungsverfahren als Datenverdichtungsverfahren ist allgemein bekannt
und ist beispielsweise von Yoseph Linde et al. in "An Algorithm for Vector Quantizer
Design" in IEEE TRANS-ACTIONS ON CQMMUNICATIONS, Vol. Com-28, Nr. 1, January 1980
beschrieben. Die Anwendung eines solchen Vektorquantisierungsverfahrens zur Sprachanlyse
und -synthese ist von Allen Gersho et al. in "Vector Quantization :A Pattern-Patching
Technique for Speech Coding" in IEEE COMMUNICATIONS MAGAZINE, vom Dezember 1983
auf den Seiten 15 bis 21 besprochen.
-
Durch die Erfindung ist ein Spracherkennungssystem geschaffen, bei
welchem das Vektor-Quantisierungsverfahren zum Kodieren von Sprachdaten verwendet
ist. Gemäß einer bevorzugten Ausführungsform der Erfindung wird eine eingegebene
Sprache, wie beispielsweise ein gesprochenes Wort oder ein Satz, zuerst einer Frequenzanaly
unterzogen, um eine zeitfrequente Sprachverteilung zu erzeugen, welche dann in digitale
Daten umgesetzt wird. Folglich
ergibt sich für jedes Zeitintervall,
in welchem die Sprachdaten abgefragt werden, eine Ansammlung von digitalen Daten,
was als ein Rahmen (frame) definiert bzw. festgelegt ist. Jeder Rahmen legt folglich
einen Vektor fest. Das vektorquantisierte Sprachmuster wird dann mit einem Kodebuch
verglichen, in welchem ein satzBezugsmuster gespeichert ist, um ein Verteilungsmuster
für dasHäufigkeitsauftreten von Binärzahlen zu erzeugen, welche verschiedene Kodevektoren
identifizieren. Dieses Verteilungsmuster wird dann mittels eines Musteranpassungsverfahrens
zum Erkennen der eingegebenen Sprache mit einer Sammlung von vorher gespeicherten
Verteilungsmustern verglichen.
-
Gemäß einer weiteren Ausführungsform der Erfindung wird dann eine
Ahnlichkeitstabelle benutzt, um das Verteilungsmuster vor dem SchrittMusteranpassung
weiter zu verarbeiten. Die Verwendung einer solchen Ahnlichkeitstabelle ermöglicht
es, ein gewichtetes Verteilungsmuster zu schaffen, wodurch Unterschiede zwischen
den Verteilungsmustern gesteigert werden, wodurch dann ein Vergleich leichter durchgeführt
werden kann.
-
Gemäß einer weiteren Ausführungsform der Erfindung wird eine ganz
bestimmte Abstandstabelle bei dem Musteranpassungsschritt verwendet, um dadurch
die Menge an Berechnungen zu verringern und um eine höhere Prozeßgeschwindigkeit
zu schaffen.
-
Nachfolgend wird die Erfindung anhand von bevorzugten Ausführungsformen
unter Bezugnahme auf die anliegenden Zeichnungen im einzelnen erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm, in welchem der Grundgedanke eines Spracherkennungssystems
gemäß einer Ausführungsform der Erfindung dargestellt ist;
Fig.
2 ein Blockdiagramm einer weiteren Ausführungsform der Erfindung, welche gegenüber
dem in Fig. 1 dargestellten Aufbau modifiziert ist; Fig. 3 und 4 Blockdiagramme,
die1 wenn sie miteinander verknüpft sind, im einzelnen den Aufbau einer Ausführungsform
des erfindungsgemäßen Spracherkennungssystems wiedergeben, und Fig. 5 eine Darstellung
eines Beispiels einer zeitfrequenten Verteilung, welche erhalten wird, indem eine
Sprache durch eine Reihe von Filtern mit fünfzehn Kanälen verarbeitet wird.
-
In Fig. 1 ist in einem Blockdiagramm ein Spracherkennungssystem gemäß
einer Ausführungsform der Erfindung dargestellt. Das System weist einnSpracheingabeabschnitt
1 auf, welcher eine Sprache, wie ein gesprochenes Wort oder einen Satzlaufnimmt.
Die.auf diese Weise erhaltene Sprache wird dann einem Frequenzsprektrum-Analyseabschnitt
2 zugeführt, in welchem die Sprache einer Frequenzanalyse unterzogen wird, um eine
zeitfrequente Verteilung der Sprache zu erhalten. Wie später noch im einzelnen beschrieben
wird, weist der Analyseabschnitt 2 eine Filterbank aus einer Anzahl Bandpaßfilter
auf, und die eingegebene Sprache wird über die Filterbank verarbeitet und in vorbestimmten
Zeitintervallen einer D/A-Umsetzung unterzogen. Auf diese Weise wird in jedem Zeitintervall
eine Ansammlung von digitalen Daten erzeugt, welche einen Vektor festlegt, der als
Rahmen bezeichnet wird. Dieser Rahmen wird dann einer Vektorquantisierung in einem
Vektorquantisierungsabschnitt 4 durch Verweisen auf ein Kodebuch 3 unterzogen, welches
einen Stz von Bezugsmustern speichert, welche für Phoneme einer ganz bestimmten
Sprache oder eines Dialekts charakteristisch sind.
-
Ein ein Verteilungsmuster erzeugender Abschnitt 5 ist vorgesehen,
um die vektorquantisierten Daten aufzunehmen, um ein Verteilungsmuster T der Häufigkeit
des Auftretens von Kodevektoren Ck zu erzeugen. Das auf diese Weise erhaltene Verteilungsmuster
wird dann mit einem Satz von in einem Speicher 6 gespeicherten Norm- oder Bezugsverteilungsmustern
in einem Musteranpassungsabschnitt 7 einzeln verglichen.
-
Ublicherweise wird nach einer Beendigung eines Vergleichs der Musterverteilung
T der eingegebenen Sprache mit jedem der gespeicherten Bezugsverteilungsmuster f
die eine, welche am besten zu der eingegebenen Sprache paßt, ausgewählt, und folglich
wird die eingegebene Sprache mit einem Wort Identifizierungsabschnitt 8 identifiziert,
welcher dann an eine Ausgabeeinrichtung, wie beispielsweise einen Display, abgegeben
wird, um der Bedienungsperson anzuzeigen, welches die identifizierte Sprache ist.
-
Wie beim Stand der Techni bekannt ist, wird das Kodebuch 3 für eine
ganz bestimmte Sprache vorbereitet, und es enthält eine Vielzahl von Kodevektoren
oder Mustern, welche durch Kodes oder Kodezahlen identifiziert worden sind, wobei
jeder Kodevektor ein ganz bestimmtes Phonem dieser Sprache hat. Folglich wird das
Kodebuch 3 vorzugsweise in Form eines Festwertspeichers (ROM) vorher hergestellt.
-
Das in Fig. 1 dargestellte System hat in der Tat zwei Betriebsmoden,
nämlich einen Registrierungsmode und einen Erkennungsmode. Zuerst wird dan in Fig.
1 dargestellte System auf den Registrierungsmode eingestellt, und die Sprachen,
welche registriert werden sollen, werden einzeln eingegeben, und sie werden durch
das System verarbeitet, indem sie in dem Speicher 6 in Form von Verteilungsmustern
der Häufigkeit des Auftretens von Kodevektoren gespeichert werden. Danach wird das
System auf den Erkennungsmode umgeschaltet, und wenn eine eingegebene Sprache eingegeben
ist, wird sie während der Schritte 2 bis 5 verarbeitet und mit den vorher in dem
Speicher 6 gespeicherten Bezugssprachen verglichen, um die eingegebene Sprache zu
identi-
fizieren.
-
Dies wird nunmehr im einzelnen im Hinblick auf den Registrierungsbetriebsmode
beschrieben; wenn ein n-tes ausgewähltes Wort oder eine Sprache in den Speicher
6 gespeichert werden soll, wird es beziehungsweise sie zuerst gesprochen und dann
in den Eingabeabschnitt 1 eingegeben. Nach der Verarbeitung über den Schrittfrequenzspektrumsanalyse
wird ein zeitfrequentes Verteilungsmuster Rn erzeugt, welches folgendermaßen ausgedrückt
ist: Rn=b1nb2n b. n.. b n 3 Hierbei kennzeichnet bjn einen charakteristischen Vektor
des j-ten Rahmen des n-ten Worts und Jn bezeichnet eine kontinuierliche Rahmenlänge.
-
Durch Verweisen auf das Kodebuch 10 wird das Verteilungsmuster Rn
mit Hilfe von Kodevektoren oder von phonemischen Musternvektoren Ck wieder festgesetzt,
wobei k = und K die Anzahl der Quantisierungspegel anzeigt. Somit wird jeder Vektor
bjn, wobei j = 1,2....,Jn ist, durch den dichtesten bzw. knappsten und den Kodevektoren
Ck ersetzt. Wenn eine Abstandsskala durch d(bjn, Ck) festgelegt wird, wird bjn,
welches durch Ck ersetzt worden ist, um der Bedingung d(bjn, Ck) = min. min. d(bjn,
Ci) zu genügen, mit bjn bezeichnet, und folglich ergibt sich, wenn das Verteilungsmuster
Rn durch Rn bezeichnet ist, wenn es durch bjn wieder festgelegt worden ist, wobei
j = 1,2...., Jn ist, Rn = b1nb2n bj n n Nunmehr kann, wenn die Häufigkeit des Auftretens
eines Kodevektors Ck in dem vorstehend wieder festgelegten Verteilungsmuster Rn
durch Ykn gekennzeichnet ist, das Verteilungsmuster Rn mit Hilfe von Ykn ausgedrückt
werden, und folglich wird eine solche Häufigkeit des Auftretens des Ver-
teilungsmusters
mit n bezeichnet, und wird ausgedrückt als: Rn = Y1nY2n.....Ykn.....YKn.
-
Das auf diese Weise erhaltene Verteilungsmuster Rn wird nunmehr in
dem n-ten Bereich des Speichers 6 gespeichert.
-
Auf diese Weise ist die Häufigkeit des Auftretens des Verteilungsmusters
R vorher für jede n gewünschte Anzahl von Sprachen festgelegt, wobei n = 1,2 N ist
und in dem entsprechenden Bereich des Speichers 6 gespeichert ist.
-
Als Beispiel speichert somit jeder Bereich des Speichers 6 eine Häufigkeit
des Auftretens des Verteilungsmusters, die einer gewünschten Sprache beispielsweise
einem gesprochenem Wort oder einer Nachricht entspricht. Wenn die gewünschte Anzahl
Sprachen in den Speicher in Form des vorstehend beschriebenen Verteilungsmusters
gespeichert ist, ist der Registrierungsmode beendet.
-
Das System wird dann auf den Erkennungsmode geschaltet, in welchem
es bereit ist, eine unbekannte Sprache, welche in den Spracheingang 1 eingegeben
worden ist, zu erkennen.
-
Dieser Erkennungsmode wird nunmehr im einzelnen nachstehend beschrieben.
Eine unbekannte Sprache, welche in dem Spracheingang 1 eingegeben worden ist, wird
zuerst einer Frequenzspektrumsanalyse im Abschnitt 2 unterzogen, um eine zeitfrequente
Verteilung zu erzeugen, aus welcher ein Muster T der unbekannten eingegebenen Sprache
auf folgende Weise erzeugt wird: T = a1a2a3 .....ai ......aI.
-
Hierbei ist mit a. ein charakteristischer Vektor des i-ten Rahmens
der zeitfrequenten Verteilung bezeichnet, während I eine kontinuierliche Rahmenlänge
anzeigt.
-
Das vorstehend identifizierte Muster T der unbekannten ein-
gegebenen
Sprache wird dann einer Vektorquantisierung im Abschnitt 4 durch Verweisen auf das
Kodebuch 3 unterzogen, so daß das Muster T in ein Muster Tumgesetzt wird, indem
jeder Rahmen il des Musters T durch den dichtesten bzw.
-
knappsten Kodevektor Ck in dem Kodebuch 3 ersetzt wird.
-
Das sich ergebende umgesetzte Muster Tläßt sich folgendermaßen ausdrücken:
T= a1a2 .....ai .....aI .
-
Dann wird das umgesetzte unbekannte Eingabemuster T dem Abschnitt
5 zugeführt, wo ein Verteilungsmuster für die Häufigkeit des Kodevektors Ck in dem
umgesetzten Muster Terzeugt wird, und eine derartige Häufigkeit der Musterverteilung
folgendermaßen ausgedrückt werden kann: T= X1X2 .....Xk .....XK.
-
Da die Häufigkeit des Verteilungsmusters T für die unbekannte eingegebene
Sprache erhalten worden ist, kann dies nunmehr mit der jeweiligen Bezugshäufigkeit
von Verteilungsmustern Rn, welche in dem Speicher 6 gespeichert worden sind, verglichen
werden. Ein derartiger Vergleich wird in dem Musteranpassungsabschnitt 7 durchgeführt,
wobei zu diesem Zweck irgendeine Musteranpassungsmethode angewendet werden kann.
Gemäß der bevorzugten Ausführungsform der Erfindung wird die Musteranpassung dieser
Muster auf folgende Weise durchgeführt.
-
Wenn ein Zwischenwortabstand zwischen dem Bezugsmuster Rn un dem unbekannten
eingegebenen Muster T mit D(Rn,T) und eine Abstandsskala zwischen der Häufigkeit
Ynk der Bezugshäufigkeit des Verteilungsmusters Rn und der Häufigkeit Xk der unbekannt
gegebenen Frequenz eines Häufigkeitsverteilungsmusters T mit df bezeichnet wird,
kann der vorerwähnte Zwischenwortabstand D(Rn,T) ausgedrückt werden, wie nachstehend
angegeben ist, wobei es durch eine Summe
aus der eingegebenen Rahmenlänge
I und der Rahmenlänge jfl eines Wortes N normiert-worden ist.
-
Für die Abstands skala df wird überlicherweise ein Absolutwert des
Abstandes verwendet, so daß gilt: df(Y ktXk) = lkw'nu = Xkl Wenn hinsichtlich der
Abstandsskala df in der vorstehenden Gleichung (1) der Unterschied zwischen der
Häufigkeit Ynk der Bezugshäufigkeit eines Verteilungsmusters Rn und der Häufigkeit
Yk der unbekannten Eingangshäufigkeit der Verteilung T in einem Bereich von beispielsweise
einem Mehrfachen von 1/2 bis 2 liegt, dann kann die folgende Abstandsskala angewendet
werden, welche die Abstandsskala df null macht.
-
Bei der vorstehenden Gl. (2) ist jedoch zu beachten, daß P1, P2 und
P3 Parameter sind, wobei P1 beispielsweise als P1 = 1 gesetzt ist, um so den Nenner
der Gl. (2) nicht null zu machen. P2 ist ein Einstellparameter für die Abstandsskala
und er wird normalerweise gleich null gesetzt.
-
Dagegen wird der Parameter P3 normalerweise P = 1 gesetzt.
-
Wenn die vorstehend beschriebene Abstands skala angewendet wird, kann
eine Musteranpassungsverarbeitung, die in einer zeitlichen nicht-linearen Dehnung/Verdichtung
ausgezeichnet ist, zwischen den Bezugs- und unbekannten Eingabemustern durchgeführt
werden. Der Wert von df (Ynk, Xk) in der vorstehenden Gl. (2) kann im voraus erhalten
und in einem
Speicher in Form einer Tabelle gespeichert werden.
Wenn dem so ist kann der Abstand df(Ykn, k für irgendeine beliebige Kombination
aus Y k und Xk unmittelbar durch Bezugnahme auf eine derartige Tabelle erhalten
werden.
-
In der vorstehend beschriebenen Weise wird der Zwischenwortabstand
D(Rn, T) für jede der Bezugssprachen n berechnet, wobei n = 1,2, ,N ist, was in
dem Speicher 6 als (Programm-)Bibliothek gespeichert worden ist. Nach der Beendigung
solcher Berechnungen wird zu dem Wortidentifizierungsabschnitt 8 übergegangen, wo
eine Sprache h mit einem minimalen Zwischenwortabstand D(Rn, T) als die Sprache
ausgewählt wird, welche der unbekannten eingegebenen Sprache entspricht. Folglich
kann n folgendermaßen ausgedrückt werden: n= arg min D(Rn ,T) n Eine weitere Ausführungsform
der Erfindung wird anhand von Fig. 2 erläutert. Hierbei ist zu beachten, daß diese
Ausführungsform eine Modifikation des in Fig. 1 dargestellten Aufbaus ist, und die
in Fig. 1 dargestellten Abschnitte 1 bis 5 enthält, welche jedoch im Hinblick auf
eine Vereinfachung der Zeichnung nicht dargestellt sind. Folglich läuft in diesem
modifizierten System das Verfahren bis zu dem Abschnitt 5 des in Fig. 1 dargestellten
Systems genau auf die gleiche Weise ab. Wie später noch klar wird, ist das modifizierte
System der Fig. 1 gekennzeichnet durch das Verwenden einer Ähnlichkeitstabelle 1Oa,
um einen Gewichtungsfaktor für die Häufigkeit des Verteilungsmusters anzuwenden,
das im Abschnitt 5 erhalten worden ist, um so die Kenndaten der Verteilung zu erhöhen,
damit dadurch ein Muster gemacht werden kann, das sich von anderen unterscheidet.
Eine derartige Ahnlichkeitstabelle 1Oa kann in beliebiger Weise ausgeführt werden,
solange sie dem vorstehend beschriebenen Ziel dient. In dem dargestellten Beispiel
enthält
die Anlichkeitstabelle 10a eine Vielzahl Gewichtungsfaktoren S(i,j), deren Wert
so festgelegt worden ist, daß er größer ist, wenn ein Abstand d(Ci, Cj) zwischen
zwei 3 Kodevektoren Ci und Cj in dem Kodebuch 3 kleiner ist. Bei-1 3 spielsweise
wird S(I,j)= 10 gesetzt, wenn d(Ci, Cj), wobei J = 1,2 K ist ein Minimum wird. z.B.
wird d (Ci, 0.) 3 = O für i gleich j, und für ein zweites Minimum wird S(i,j) =
5 gesetzt.
-
Folglich wird bei diesem modifizierten System beispielsweise die Häufigkeit
des Verteilungsmusters Rn = yn1yn2...
-
Yni.....Ynk mit Hilfe der Ähnlichkeitstabelle 10a auf folgende Weise
in ein gewichtetes Verteilungsmuster umgesetzt:
Das sich ergebene gewichtete Verteilungsmuster kann folgendermaßen ausgedrückt werden:
Rn = yn1xyn2 .....yni .....ynk.
-
Das gewichtete Verteilungsmuster kann dann in einem Speicher 6' gespeichert
werden.
-
Selbstverständlich kann der Wichtungsschritt auch angewendet werden,
wenn das modifizierte System der Fig. 2 in dem Erkennungsmode betrieben wird. In
diesem Fall wird das Häufigkeits-Verteilungsmuster T = X1 X2 Xk XK, das in dem Abschnitt
5 erhalten worden ist, mit Hilfe der Ahnlichkeitstabelle 10a auf folgende Weise
in ein gewichtetes Verteilungsmuster umgesetzt.
-
T = X1X2 .....Xi .....Xk hierbei ist
Entsprechend diesem modifizierten System der Fig. 2 wird die Musteranpassung
zwischen dem Bezugsmuster und dem unbekannten eingegebenen Muster während des Erkennungsmode
zwischen gewichteten Verteilungsmustern Rn.und T durchgeführt.
-
In diesem Fall ist es auch vorteilhaft, eine Abstandstabelle 7a für
eine Musteranpassung zu verwenden, welche derjenigen ähnlich ist, welche bezüglich
des Systems der Fig. 1 beschrieben worden ist. Da jedoch in dem System der Fig.
2 die Musteranpassung zwischen den gewichteten Verteiev lungen R und T auszuführen
ist, sollte Ynk und Xk in Gl. (1) durch e k und Xk ersetzt werden, und die Abstandsskala
df sollte festgelegt werden als
ähnlich wie bei dem System der Fig. 1 sollte vorzugsweise die Abstandstabelle 7a
vorgesehen sein, statt jedesmal die vorstehend beschriebenen Berechnungen auszuführen,
In einem solchen Fall kann der Abstand df (YnktXk) für irgendeine beliebige Kombination
zwischen t k und Xk unmittelbar durch Bezugnahme auf die Abstandstabelle 7a erhalten
werden.
-
Anhand von Fig. 3 bis 5 wird die Erfindung nunmehr im einzelnen anhand
einer speziellen Ausführungsform beschrieben.
-
Hierbei sollten die Fig. 3 und 4 an den anschließenden 15 miteinander
verknüpft werden, um den Gesamtaufbau der speziellen Ausführungsform zu erhalten.
Wie dargestellt, weist dieses System ein Mikrophon 11 auf, um Sprache, wie gesprochenes
Wort oder eine Nachricht aufzunehmen, die in dem System zu registrieren ist, wenn
es in dem Registrierungsmode arbeitet, oder welche bei dem Erkennungsmode mit in
dem System gespeicherten Bezugssprachen zu vergleichen ist. Das Mikrophon 11 setzt
die Sprachdruckwellen in ein elektrisches Signal um, welches einem Vorverstärker
12 zugeführt wird, wo es verstärkt wird. Das verstärkte Signal wird dann über einen
Vorverzerrer 13 einem Frequenz-
analysator 14 zugeführt.
-
Der Frequenzanalysator 14 weist eine Anzahl (15 in der dargestellten
Ausführungsform) Bandpaßfilter 14a auf, die jeweils ein unterschiedliches Frequenzband
haben.Der Frequenzanalysator 14 weist auch einen Vollweggleichrichter 14b, eine
Glättungsschaltung aus einem Tiefpaßfilter und eine Abtast- und Halteschaltung 14d
auf. Die Abtast- und Halteschaltung 14d ist mit einem Multiplexer 14e mit 15 Eingangskanälen
verbunden. Mit dem Multiplexer 14e ist auch ein Zähler 14g verbunden, welcher seinerseits
mit einem monostabilen Multivibrator 14h verbunden ist, welcher den Zählvorgang
des Zählers 14g entsprechend einem Signal steuert, das von der Abfrage- und Halteschaltung
14d und einem A/D-Umsetzer 14f geliefert wird, welcher Daten von dem Multiplexer
14e erhält. Der A/D-Umsetzer 14f liefert ein digitales Ausgangssignal an Ein-/Ausgabeschnittstelle
14'1 welche einen Abfrageimpuls an die Abfrage- und Halteschaltung 14d und ihr Ausgangssignal
an einen Anschluß 15labgibt, welcher Teil eines Modeschalters SW ist.
-
Wie in Fig. 4 dargestellt, weist der Modeschalter 15 ein Paar Kontakte
15a und 15b zum Auswählen der Arbeitsweise des Systems auf. Das heißt, wie vorstehend
beschrieben, hat das erfindungsgemäße System zwei Betriebsweisen, nämlich einen
Registrierungs- und einen Erkennungsmode.
-
Der Modeschalter 15 ist gesetzt, um eine Verbindung mit dem Kontakt
15a herzustellen, wenn das System in dem Registrierungsmode zu betrieben ist, während
er mit dem Kontakt 15b verbunden ist, wenn das System in dem Erkennungsmode zu betreiben
ist. Somit ist die in Fig. 5 dargestellte Ausführung in ihrem Aufbau symmetrisch
und kann in zwei Teile aufgeteilt werden, nämlich einen Registrierungs-und einen
Erkennungsteil.
-
Zuerst wird der Registrierungsteil des Systems beschrieben, welcher
etwa die obere Hälfte der in Fig. 4 darge-
stellten Ausführung
belegt. Das heißt, der Kontakt 15a des Modeschalters 15 ist mit einem Standard-Musterpuffer
16a verbunden, der üblicherweiseæein Schieberegister aufweist. Der Standard-Musterpuffer
16a ist mit einer Steuereinheit 20, welche üblicherweise aus einem Zentralprozessor
gebildet ist, und auch mit einem Zwischenvektor-Abstands-Kalkulator 17a verbunden,
welcher als Teil der Steuereinheit 20 ausgeführt sein kann. Der Kalkulator 17a ist
auch mit einem Kodebuch 21 verbunden, in welchem ein Satz Kodevektoren C1 bis CK
gespeichert ist. Wie oben beschrieben, speichert das Kodebuch 21 Kodevektoren, welche
Phonemem der gewünschten Sprache, z.B. englisch oder japanisch entsprechen, und
ist üblicherweise ein Randomspeicher (ROM).
-
An dem Zwischenvektor-Abstandskalkulator 17a werden die Daten in dem
Puffer 16a wirksam vektor-quantisiert, und die sich ergebenden vektor-quantisierten
Daten oder der entsprechende Kode wird dann einem vektor-quantisierten Koderegister
18a zugeführt. Das Register 18a ist mit einem Frequenz- bzw. Häufigkeitsverteilungsmuster-Generator
22a verbunden, in welchem ein Frequenz- oder Häufigkeits-Verteilungsmuster auf der
Basis der Daten im Register 13a erzeugt wird. Der Verteilungsmustergenerator 22
ist vorgesehen, damit er ein Verteilungsmuster liefert, das in einem Ahnlichkeits-Umsetzer
23 ausgebildet worden ist, welcher auch mit einer Ähnlichkeitstabelle 24 verbunden
ist, um einen aus der Tabelle 24 ausgewählten Wichtungsfaktor bei dem Verteilungsmuster
anzuwenden, um dadurch ein gewichtetes Verteilungsmuster zu schaffen. Wie vorher
bereits beschrieben, ist die Xhnlichkeitstabelle 24 vorzugsweise als ein Randomspeicher
(ROM) ausgebildet. Der Ahnlichkeits-Umsetzer 23a ist auch vorgesehen, um ein gewichtetes
Verteilungsmuster an einen Zwischenwortabstands-Kalkulator 25 zu liefern, welcher
auch mit einer Abstandstabelle 25 und einer Minimum-Astandsausgabeeinheit 27 verbunden
ist, welche ihrerseits mit einem Display,
beispielsweise einer
Kathodenstrahlröhre (CRT) verbunden ist.
-
Mit dem Erkennungsteil des Systems ist im allgemeinen der untere Teil
der in Fig. 4 dargestellten Ausführung belegt.
-
Das heißt, er weist einen Eingangsmuster-Puffer 16b, welcher mit dem
Kontakt 15b und der Steuereinheit 20 verbunden ist, einen Zwischenvektor-Abstandskalkulator
17b, welcher mit dem Kodebuch 21 verbunden ist, ein vektor-quantisiertes Koderegister
19a, einen Häufigkeits-Verteilungsmuster-Generator 22b, und einen Xhnlichkeits-Umsetzer
23b auf, welcher mit der Ahnlichkeitstabelle 24 verbunden ist.
-
Hierbei können diese Elemente einschließlich der Kalkulatoren 17 und
25, der Generatoren 22 und der khnlichkeits-Umsetzer 23 als ein Teil der Steuereinheit
20 ausgebildet sein, obwohl sie, um das Verständnis zu erleichtern, als gesonderte
Blöcke dargestellt sind. Hierbei entspricht der in Fig. 3 und 4 dargestellte Aufbau
effektiv dem in Fig. 2 dargestellten System, da er die Ahnlichkeitstabelle 24 zum
Gewichten eines Häufigkeits-Verteilungsmusters und die Abstandstabelle 26 für eine
Berechnung eines Zwischenwortabstands aufweist. Die in Fig. 3 und 4 dargestellte
Ausführung kann auch so modifiziert werden, daß die Verteilungsmuster in den Blöcken
22a und 22b gewünschtenfalls mittels einer Musteranpassungsmethode unmittelbar verglichen
werden.
-
Während des Betriebs wird das in Fig. 3 und 4 dargestellte System
zuerst in den Registrierungsmode gesetzt. Hierzu wird der Schalter 15 so betätigt,
daß eine Verbindung mit dem Kontakt 15a hergestellt ist. Dann wird eine gewünschte
Sprache, die als Bezugssprache zu speichern ist, in das Mikrophon 11 eingegeben
und wird nach einer Verarbeitung durch das System, wie es vorstehend beschrieben
ist, in dem Block 23a, welcher den in Fig. 2 dargestellten Speicher 6' aufweist,
in Form eines gewichteten Häufigkeitsverteilungsmusters gespeichert. Dies Verfahren
wird n-mal wiederholt, um eine Anzahl n gewünschter Sprachen in den Speicher 6'
zu
speichern. Somit ist dann das System bereit, um in dem Erkennungsmode betrieben
zu werden. Folglich wird der Schalter 15 betätigt, damit eine Verbindung mit dem
Kontakt 15b hergestellt wird. Wenn unter dieser Voraussetzung eine.
-
unbekannte eingegebene Sprache dem Mikrophon 11 zugeführt wird, wird
sie dem Frequenzanalysator 14 zugeführt, welcher eine Zeit-Frequenz-Verteilung ausbilden
wird, wie in Fig. 5 veranschaulicht ist. Das heißt, wenn die eingegebene Sprache
in dem Freguenzanalysator 14 verarbeitet wird, da es 15 Bandpaßfilter 14a gibt,
und das Abfragen von Daten in einem vorbestimmten Zeitintervall durchgeführt wird,
werden für jedes Zeitintervall 15 Daten erhalten. Die Daten für jedes Zeitintervall
legen einen Vektor fest und werden als Rahmen bezeichnet. In dem in Fig. 5 dargestellten
Beispiel gibt es insgesamt 52 Rahmen, welche ein Zeit-Frequenz-Verteilungsmuster
für eine ganz bestimmte Sprache festlegen. In dem dargestellten Beispiel ist der
erste Rahmen durch a1 = (26,17,....,8, ...,22), der zweite Rahmen durch a2 = (27,18,....,9,
....,23), der dritte Rahmen durch a3 = (31r16r....r10,...r25)r und der letzte Rahmen
durch aI = (52,26,....,9,....,20) festgelegt. Diese Daten werden vorübergehend in
dem Puffer 16b gespeichert. Wenn diese Vektoren a1 bis aI durch ein Vektor-Quantisierungsverfahren
mit den Quantisierungspegel K = 16 durch Bezugnahme auf das Kodebuch 21 gespeichert
werden, werden vektorquantisierte Daten, wie a1 = 3,a2 = 2, a3 = 8,.. ,a1= 5 erhalten,
in welchen jeder Dezimalwert den Kode oder die Kodezahl des entprechenden Kodevektors
in dem Kodebuch 21 anzeigt, aus welchem ein Häufigkeits-Verteilungsmuster T=X1 X2.
X3... Xk....X16 = 002 ...5...1 erzeugt werden kann. Folglich zeigt jede Zahl in
T die Häufigkeit eines ganz bestimmten Kodes in dem Kodebuch 21 an.
-
Selbstverständlich geht Ähnlich wie bei dem vorstehend beschriebenen
Verfahren, das Verfahren weiter, wenn das System der Fig. 4 in dem Registrierungsmode
betrieben wird.
-
In diesem Fall sollte jedoch das Verfahren eine Anzahl Mal
wiederholt
werden, was einer gewünschten Anzahl n Sprachen entspricht, die in dem System zu
speichern sind.
-
Ende der Beschreibung