-
-
Verfahren und Anordnung zum Erkennen der Wörter in einer
-
zusammenhängenden Wortkette Die Erfindung betrifft ein Verfahren zum
Erkennen der Wörter einer zusammenhängenden Wortkette in einem Sprachsignal, aus
dem in aufeinanderfolgenden Zeitpunkten Testsignale abgeleitet werden, die mit den
einzelnen Wörtern zugeordneten Folgen von Referenzsignalen derart verglichen werden,
daß jeweils der Unterschiedwert zwischen einem folgenden Paar von Testsignalen und
Referenzsignalen gebildet und zu der jeweils kleinsten vorhergehenden Unterschiedsumme
addiert wird, wobei für jedes Testsignal die Testsignaladresse, von der die Folge
der kleinsten Unterschiedsummen unmittelbar vor Beginn jeder Folge von Referenzsignalen
ausgegangen ist, und die Ordnungsnummer der Folge von Referenzsignalen gespeichert
wird, die unmittelbar vorher die kleinste Unterschiedsumme ergeben hat, und ausgehend
von der Folge von Referenzsignalen, bei der die Unterschiedsumme für das letzte
Testsignal am kleinsten ist, durch Zurückverfolgen der Testsignaladressen die den
einzelnen Folgen von Referenzsignalen zugeordneten Wörter ausgegeben werden, sowie
eine Anordnung zur Durchführung des Verfahrens.
-
Ein Verfahren der oben genannten Art ist bekannt aus der Zeitschrift
"IEEE Transactions on Acoustics, Speech, and Signal Processing", Vol. Assp-29, No.
2, April 1981, Seiten 284 bis 297. Dabei werden die aus dem Sprachsignal gewonnenen
Testsignale mit den Folgen der Referenzsignale für alle zu erkennenden Wörter unter
Anwendung von nichtlinearer Zeitanpassung verglichen und der Weg der besten Obereinstimmung
ermittelt. Ein besonderes Problem entsteht dadurch, daß zunächst die Wortgrenzen
in dem Sprachsignal nicht bekannt sind, so daß zunächst nicht ohne weiteres bekannt
ist,
wann in dem Sprachsignal erneut der Vergleich mit dem Anfang
der einzelnen Folgen der Referenzsignale durchgeführt werden muß. Das bekannte Verfahren
ermittelt daher mehrere Wege, die Kandidaten für den insgesamt optimalen Weg sein
könne, indem an mehreren Stellen in der Folge der Testsignale ein erneuter Vergleich
mit dem Beginn der Folgen der Referenzsignale begonnen wird, und am Ende des gesamten
Sprachsignals wird ausgehend von der kleinsten Unterschiedsumme, die sich an diesem
Punkt ergeben hat, der optimale Weg zurückverfolgt. Die zunächst unbekannten Wortgrenzen
ergeben sich dann automatisch durch das Zurückverfolgen.
-
Das bekannte Verfahren ist jedoch sehr kompliziert und aufwendig,
da es mehrere "Ebenen" verwendet, in denen jeweils der Vergleich mit allen Folgen
der Referenzsignale stattfindet, wobei vom zweiten Ebenen an mehrere Wege mit verschiedenen
Anfangspunkten gebildet werden. Dadurch sind eine Anzahl Randbedingungen notwendig,
die möglicherweise verhindern können, daß der optimale Weg wirklich gefunden wird.
Außerdem erfordert das bekannte Verfahren einen großen Speicherplatzbedarf.
-
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren anzugeben,
mit dem auf einfache Weise bei geringem Speicherplatzbedarf mit großer Wahrscheinlichkeit
der optimale Weg, d.h. die optimale Aufeinanderfolge von Folgen von Referenzsignalen
und damit die wahrscheinlichste Folge der Wörter der Wortkette ermittelt werden
kann.
-
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß beim Vergleich
nacheinander jeweils eines der Testsignale mit jedem Referenzsignal jeder Folge
für jeweils das erste Referenzsignal jeder Folge die Unterschiedsumme beim unmittelbar
vorhergehenden Testsignal und diesem ersten Referenzsignal mit der kleinsten der
Unterschiedsummen der jeweils
letzten Referenzsignale aller Folgen
verglichen wird, daß der zu diesem'ersten Referenzsignal und dem momentanen Testsignal
gehörende Unterschiedwert zu der beim Vergleich festgestellten kleinsten Unterschiedsumme
addiert wird und mindestens, falls die Unterschiedsumme bei einem letzten Referenzsignal
einer Folge am kleinsten war, für das momentane erste Referenzsignal die so gebildete
neue Unterschiedsumme und die Testsignaladresse des unmittelbar vorhergehenden Testsignals
und für das momentane Testsignal gesondert ein Hinweis auf die Ordnungsnummer der
Folge mit der kleinsten Unterschiedsumme sowie die dem letzten Referenzsignal dieser
Folge zugeordnete Testsignaladresse gespeichert wird bzw., falls die Unterschiedsumme
beim vorhergehenden Testsignal und diesem Referenzsignal am kleinsten war, für das
momentane erste Referenzsignal die beim unmittelbar vorhergehenden Testsignal gespeicherte
Testsignaladresse übernommen und gespeichert wird, daß für die folgenden Referenzsignale
aller Folgen der zu dem jeweiligen Referenzwert und dem momentanen Testwert gehörende
Unterschiedwert zu der kleinsten der Unterschiedsummen bei dem vorhergehenden Referenzsignal,
bei dem vorhergehenden Referenzsignal und dem vorhergehenden Testsignal und bei
dem gleichen Referenzsignal und dem vorhergehenden Testsignal addiert und die so
gebildete neue Unterschiedsumme und die zu dieser kleinsten Unterschiedsumme gehörende
Testsignaladresse für das jeweilige Referenzsignal gespeichert wird, und daß ausgehend
von demjenigen letzten Referenzwert aller Folgen, bei dem für das letzte Testsignal
die kleinste Unterschiedsumme aufgetreten ist, die Ordnungsnummer der zugehörigen
Folge ausgegeben und die dafür gespeicherte Testsignaladresse angesteuert und die
dafür gespeicherte Ordnungsnummer ausgegeben und die dafür gespeicherte Testsignaladresse
angesteuert wird usw., bis die erste Testsignaladresse erreicht ist, wobei die ausgelesenen
Ordnungsnummern die erkannten Wörter in umgekehrter Reihenfolge wie
im
Sprachsignal angeben.
-
Bei dem erfindungsgemäßen Verfahren werden also keine verschiedenen
Pegel gebildet, sondern jedes Testsignal wird in völlig gleicher Weise behandelt.
Ferner wird eine mögliche Wortgrenze an jeder Stelle angenommen, indem die kleinste
Unterschiedsumme am Ende der einzelnen Folgen von Referenzsignalen beim vorhergehenden
Testsignal gesucht wird, denn der optimale Weg der Zeitanpassung kann nur, muß jedoch
nicht, durch einen solchen Punkt laufen. Ob tatsächlich eine mögliche Wortgrenze
vorliegt, wird durch Vergleich mit den Anfängen jeweils neuer Folgen von Referenzsignalen
bestimmt.
-
Bei einer solchen möglichen Wortgrenze wird der Endpunkt der vorhergehenden
Folge von Referenzsignalen gespeichert, damit später der optimale Weg zurückverfolgt
werden kann, wenn dieser tatsächlich durch die angenommene Wortgrenze verläuft,
und es wird ferner die Ordnungsnummer der vorhergehenden Folge von Referenzsignalen
gespeichert, d.h. die Angabe des Wortes, für das zuletzt eine gute Übereinstimmung
mit dem Testsignal vorlag. Auf diese Weise ergeben sich zwar eine Vielzahl von möglichen
Wortgrenzen, von denen durch Zurückverfolgen nach Verarbeitung des letzten Testsignals
jedoch nur wenige ausgewählt werden, nämlich die auf dem optimalen Wege der Zeitanpassung
liegenden, jedoch ist der Speicherplatz dennoch sehr begrenzt. Es muß lediglich
für jedes Referenzsignal aller Folgen die jeweilige Unterschiedsumme sowie eine
Angabe über den Anfang des Weges der Zeitanpassung in dieser Folge von Referenzsignalen
gespeichert werden, und für jedes Testsignal müssen zwei Speicherplätze vorgesehen
werden, nämlich einer für die Angabe des Wortes, das an dieser Stelle möglicherweise
gerade geendet hat, und die Angabe, wo dieses Wort begonnen hat, damit das jeweils
vorhergehende Wort beim Zurückverfolgen aufgefunden werden kann.
-
Die Ermittlung der kleinsten Unterschiedsumme am Ende jeweils aller
Folgen von Referenzsignalen beim vorhergehenden Testsignal erfordert einen gewissen
Zeitaufwand, so daß die Wiederholung dieses Vorgangs beim Anfang jeder neuen Folge
von Referenzsignalen ungünstig ist. Nach einer Ausgestaltung des erfindungsgemäßen
Verfahrens ist es daher zweckmäßig, daß am Ende der Vergleiche jedes Testsignals
mit allen Referenzsignalen jeweils die Unterschiedsumme bei den letzten Referenzsignalen
aller Folgen miteinander verglichen werden und die kleinste Unterschiedsumme für
dieVerarbeitung des folgenden Testsignals zwischengespeichert und fur dieses Testsignal
die Ordnungsnummer der zugehörigen Folge und die zu dem betreffenden letzten Referenzsignal
gehörende Testsignaladresse gesondert gespeichert wird. Auf diese Weise erfolgt
die Ermittlung der kleinsten Unterschiedsumme für jedes Testsignal nur einmal, und
es ist am Anfang jeder Folge von Referenzsignalen nur ein einfacher Vergleich notwendig,
der schnell durchgeführt werden kann.
-
Um die Erkennungssicherheit zu erhöhen, ist es zweckmäßig, syntaktische
Regeln zu berücksichtigen, da bestimmte Wortfolgen sehr unwahrscheinlich und andere
Wortfolgen dagegen sehr wahrscheinlich sein können. Die Berücksichtigung solcher
syntaktischen Regeln kann nach einer weiteren Ausgestaltung der Erfindung dadurch
erfolgen, daß vor dem Vergleich der Unterschiedsumme beim ersten Referenzsignal
einer Folge mit der kleinsten Unterschiedsumme beim letzten Referenzsignal der Folgen
beim unmittelbar vorhergehenden Testsignal ein Syntaxwert addiert wird, der abhängig
ist von der Kombination der Ordnungsnummer der Folge, bei der die kleinste Unterschiedsumme
aufgetreten ist, und der Ordnungsnummer der Folge, zu der das betreffende erste
Referenzsignal gehört. Durch solche künstliche Erhöhung der Unterschiedsummen an
Wortgrenzen werden also bestimmte Folgen von Wörtern bevorzugt, da sie im normalen
Sprachgebrauch auch mit größerer
Wahrscheinlichkeit vorkommen.
-
In vielen Fällen wird ein Sprachsignal nicht aus einer vollständig
zusammenhängend gesprochenen Kette von Worten bestehen, sondern es können zwischen
einzelnen Wörtern auch Pausen auftreten. Solche Sprachpausen können mit bekannten
Anordnungen erkannt werden, die jedoch zusätzlichen Aufwand erfordern und nicht
immer zuverlässig arbeiten. Eine einfachere Möglichkeit besteht darin, daß eine
der Folgen von Referenzsignalen einer Sprachpause entspricht. Auf diese Weise wird
eine Sprachpause praktisch wie ein bestimmtes Wort behandelt und wird automatisch
miterkannt.
-
Da das Vokabular grundsätzlich nur begrenzt sein kann, ist es möglich,
daß im Sprachsignal ein Wort auftritt, das in diesem Vokabular nicht vorhanden ist.
Um ein solches Wort einschließlich seiner Grenzen dann zumindest als nicht erkennbar
angeben zu 1^tonnen, ohne die Erkennung der erkennbaren Wörter zu beeinflussen,
ist es zweckmäßig, daß beim Vergleich mit den Referenzsignalen der die Sprachpause
darstellenden Folge als Unterschiedwert statt der tatsächlichen Differenz zwischen
dem Testsignal und dem Referenzsignal ein konstanter Wert verwendet wird, der etwas
größer ist als der bei einer gerade noch als für die Erkennung zulässig vorgegebenen
Abweichung des Testsignals vom Referenzsignal auftretende Unterschiedwert. Damit
wird ein Wort, das nicht dem vorgesehenen Vokabulat angehört und einen vorgegebenen
Unterschied zu den Wörtern des Vokabulars überschreitet, automatisch als Sprachpause
erkannt. Statt dessen kann auch zusätzlich zu einer Folge von Referenzsignalen,
die einer Sprachpause entspricht, eine Folge von Referenzsignalen verwendet werden,
die einem nicht erkennbaren Wort entspricht.
-
Eine Anordnung zur Durchführung des erfindungsgemäßen
Verfahrens
geht aus von einer Anordnung mit einem ersten Speicher, der die Referenzsignale
enthält, und einer ersten Adressiervorrichtung, die den ersten Speicher adressiert
und die Referenzsignale nacheinander ausliest, und mit einer Anordnung mit einem
Minimumbestimmer, die aus dem ausgelesenen Referenzsignal und dem gerade verarbeiteten
Testsignal sowie der kleinsten benachbarten Unterschiedsumme eine neue Unterschiedsumme
bildet und in einem ebenfalls von der ersten Adressiervorrichtung adressierten zweiten
Speicher abspeichert, der für jedes Referenzsignal mindestens die zuletzt gebildeten
Unterschiedsummen enthält, wie diese aus der DE-OS 30 35 565 bekannt ist. Eine solche
Anordnung wird nun dadurch ausgestaltet, daß ein ebenfalls von der ersten Adressiervorrichtung
adressierter dritter Speicher sowie ein Selektor vorgesehen ist, der vom Minimumbestimmer
gesteuert den zuletzt im dritten Speicher gespeicherten, den an der momentanen Adresse
gespeicherten oder den davor gespeichert gewesenen Wert dem Dateneingang des dritten
Speichers zuführt, daß ein Minimum-Register vorgesehen ist, dessen Ausgang mit dem
einen Eingang eines Vergleichers und dessen Eingang gemeinsam mit dem anderen Eingang
des Vergleichers mit dem Ausgang des zweiten Speichers verbunden ist, daß der Vergleicher
ein Ausgangssignal erzeugt, wenn das Signal am Ausgang des zweiten Speichers kleiner
ist als das Signal am Ausgang des Minimum-Registers, daß die erste Adressiervorrichtung
bei jeder Adresse des ersten Referenzsignals jeder Folge das Ausgangssignal des
Vergleichers freigibt zum Umschalten des Dateneingangs des zweiten Speichers auf
den Ausgang des Minimum-Registers und des Dateneingangs des dritten Speichers auf
ein die vorhergehende Testsignaladresse lieferndes Adressenpufferregister, daß die
erste Adressiervorrichtung außerdem jeweils nach Adressierung aller Referenzsignale
vor dem Zuführen des nächsten Testsignals nacheinander die Adressen der letzten
Referenzsignale aller Folgen erzeugt und das Ausgangssignal
des
Vergleichers freigibt zum Einschreiben des Minimum-Registers, eines mit dem Ausgang
des dritten Speichers verbundenen ersten Pufferregisters und eines den die Ordnungsnummer
der Folge angebenden Teil der Adresse erhaltenden zweiten Pufferregisters, von denen
die Ausgänge der beiden Pufferregister mit den Dateneingängen eines vierten Speichers
verbunden sind, der während der Verarbeitung der Testsignale von einer zweiten Adressiervorrichtung
adressiert wird, die bei jedem neuen Testsignal um eine Adresse weiterschaltet,
der nach Erzeugung aller Adressen der letzten Referenzsignale aller Folgen ein Schreibsignal
erhält und der nach der Verarbeitung des letzten Testsignals der Wortkette von einem
Adressenregister adressiert wird, das an den Datenausgang des vierten Speichers
angeschlossen ist, der zu dem ersten Pufferregister gehört, und daß der Datenausgang
des vierten Speichers, der zu dem zweiten Pufferregister gehört, mit einer Ausgabeeinrichtung
verbunden ist, die die Reihenfolge der zugeführten Signale umkehrt und nach Auftreten
der Adresse des ersten Testsignals am Ausgang des Adressenregisters die als Ordnungsnummer
kodierte Folge der in der Wortkette enthaltenen Wörter abgibt. Eine solche Anordnung
enthält außer den unbedingt erforderlichen Speichern nur wenige zusätzliche Teile
und ist daher einfach und preiswert aufgebaut.
-
Wenn das zu erkennende Vokabular nicht zu umfangreich ist bzw. sehr
schnelle elektronische Schaltungen verwendet und Verarbeitungsvorgänge möglichst
parallel ausgeführt werden, ist es möglich, die Testsignale in Echtzeit zu verarbeiten.
-
Bei Anwendungsfällen, bei denen eine gewisse Reaktionszeit zulässig
ist und die eher etwas preiswerter aufgebaut sein sollen, kann es dagegen erforderlich
sein, die Testsignale eines Sprachsignals zwischenzuspeichern. Um den dafür erforderlichen
Aufwand gering zu halten, ist es zweckmäßig, -nach einer Weiterbildung der erfindungsgemäßen
Anordnung, bei der
die Testsignale in einem Testsignalspeicher
gespeichert sind, der von der zweiten Adressiervorrichtung adressiert wird, den
Testsignalspeicher als vierten Speicher zu verwenden. Die Speicherung der Angabe
des Wortes, das bei einer möglichen Wortgrenze gerade aufgrund der kleinsten Unterschiedsumme
die beste Übereinstimmung gezeigt hat, sowie die Speicherung des Anfangspunktes
dieses Wortes erfolgt nämlich erst, wenn das zugehörige Testsignal vollständig verarbeitet
ist und somit nicht mehr benötigt wird.
-
Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung
näher erläutert. Es zeigen Fig. 1 ein Beispiel eines optimalen Weges nach Zeitanpassung
für ein Sprachsignal, Fig. 2a die Bildung eines optimalen Weges der Zeitanpassung
innerhalb einer Folge von Referenzsignalen, Fig. 2b die Bildung des Weges der Zeitanpassung
an einer möglichen Wortgrenze, Fig. 3 ein Diagramm zur Erläuterung der Notwendigkeit
der Speicherung jeweils des Anfangspunktes eines Weges der Zeitanpassung innerhalb
einer Folge von Referenzsignalen, Fig. 4a nochmals das Beispiel des optimalen Weges
nach Fig. 1 mit der Erläuterung der dafür notwendigen Speicherplätze, Fig. 4b ein
Diagramm zur Erläuterung, daß für die Speicherung der Unterschiedsummen und der
Anfangspunkte für jedes Referenzsignal aller Folgen nur ein Speicherplatz notwendig
ist, Fig. 5a und b ein Flußdiagramm des erfindungsgemäßen Verfahrens, Fig. 6 ein
Blockschaltbild einer Anordnung zur Durchführung des erfindungsgemäßen Verfahrens.
-
Aus dem Test-Sprachsignal, das untersucht werden soll, werden in allgemein
regelgemäßigen Zeitpunkten, die einen Abstand von 10 ms bis 20 ms haben, Testsignale
gewonnen.
-
Diese können beispielsweise das Kurzzeitspektrum des Sprachsignals,
die Sprachgrundfrequenz, die Lautstärke oder ähnliche Werte sein, die für die Worterkennung
speziell aufbereitet sein können. Die Gewinnung solcher Testsignale ist bekannt
und nicht Gegenstand der Erfindung.
-
Von dem Test-Sprachsignal ist bekannt, daß es aus einzelnen Wörtern
zusammengesetzt ist, die aus einem vorgegebenen Vokabular gewählt sind. Die Wörter
des Vokabulars entsprechen einem Satz von K Folgen von Referenzsignalen, die aus
einzeln gesprochenen Worten gewonnen werden. Die Folgen der Referenzsignale und
damit die Wörter werden mit dem Index k = 1, ... K bezeichnet. Die einzelnen Referenzsignale
innerhalb einer Folge k werden mit j = 1, ... J(k) bezeichnet, wobei (1) die Länge
der Folge k von Referenzsignalen ist.
-
Das endgültige Ziel der Erkennung der Wörter in einer zusammenhängenden
Wortkette ist die Bestimmung der Aufeinanderfolge von Folgen von Referenzsignalen,
die am besten mit der Folge der aus dem Test-Sprachsignal gewonnenen Testsignalen
übereinstimmt, wobei noch näher zu erläutern ist, was mit "Obereinstimmung" gemeint
ist. Diese Aufeinanderfolge der Folgen von Referenzsignalen wird als "Super"-Referenzmuster
bezeichnet. Das Super-Referenzmuster, das am besten mit dem Test-Sprachsignal übereinstimmt,
wird als die gesuchte Wortkette angenommen. Da dieses unbekannte Super-Referenzmuster
wie ein einzelnes Wortmuster behandelt werden kann, ist das Prinzip der Anpassung
des unbekannten Musters an die bekannten Referenzmuster das gleiche wie im Falle
der Erkennung isolierter Wörter.
-
Dieses Prinzip soll anhand der Fig. 1 näher erläutert werden. Die
Testsignale i des Test-Sprachmusters und die Referenzsignale j der einzelnen Folgen
k (es sind hier beispielsweise fünf Folgen für fünf Wörter angenommen, die von 1
bis 5 numeriert sind) bestimmen ein Netz von Rasterpunkten i, j, k. Jedem Rasterpunkt
ist ein lokaler Unterschiedswert d(i, j, k) zugeordnet, der ein Maß für die Abweichung
bzw. den Unterschied zwischen den entsprechenden akustischen Ereignissen angibt.
Das Problem der Erkennung von zusammenhängenden Wortketten kann darauf zurückgeführt
werden, den Weg durch das Netz von Rasterpunkten i, j, k zu finden, der die beste
Übereinstimmung zwischen den Testsignalen und der unbekannten Aufeinanderfolge von
Folgen von Referenzsignalen angibt. Dies kann auch so ausgedrückt werden, daß die
Summe der Unterschiedswerte d(i, j, k) für alle Rasterpunkte auf diesem Wege ein
Minimum ist. Ausgehend von diesem optimalen Weg kann die Aufeinanderfolge der Folgen
von Referenzsignalen eindeutig ermittelt werden, wie aus Fig. 1 hervorgeht.
-
Zusätzlich zu der Forderung, daß die Gesamtsumme der lokalen Unterschiedswerte
ein Minimum bildet, müssen noch einige andere Beschränkungen berücksichtigt werden.
Dazu gehört, daß die Zeit entlang den beiden Achsen nur in einer Richtung läuft,
d.h. der optimale Weg kann nur von links unten nach rechts oben in jeder Folge von
Referenzsignalen verlaufen, und es darf kein Testsignal oder Referenzsignal übersprungen
werden, da die zugrundeliegenden Schallereignisse grundsätzlich kontinuierlich sind.
Die Beschränkungen aufgrund der Kontinuität bestimmen außerdem den möglichen vorausgehenden
Punkt für einen gegebenen Punkt i, j, k auf dem momentan verfolgten Weg und werden
daher auch als Übergangsregeln bezeichnet.
-
Aufgrund der Aneinanderreihung von einzelnen Folgen von
Referenzsignalen
zu einem Super-Referenzmuster ist es zweckmäßig, zwei Arten von Übergangsregeln
festzulegen: Übergangsregeln innerhalb einer Folge von Referenzsignalen und Übergangsregeln
an den Grenzen der einzelnen Folgen. Diese beiden Übergangsregeln sind in Fig. 2a
und Fig. 2b angedeutet. Daraus ist zu erkennen, daß innerhalb einer Folge von Referenzsignalen
der Punkt i, j, k nur von einem der Punkte i-l, j, k; i-1, j-i, k; i, j-1, k erreicht
werden kann, wie aus Fig. 2a hervorgeht. Die Übergangsregel für die Übergänge von
einer Folge von Referenzsignalen auf eine neue Folge bestimmen, daß am Anfang der
neuen Folge der Punkt i, 1, k entweder nur von dem Punkt, der zu dem gleichen Referenzsignal
und dem vorhergehenden Testsignal gehört, oder von irgendeinem Ende einer Folge,
einschließlich derselben Folge, erreicht werden kann. Die Übergangsregeln für den
Obergang vom Ende einer Folge von Referenzsignalen auf den Anfang einer neuen Folge
können auch noch syntaktische Beschränkungen berücksichtigen, die auf der Wahrscheinlichkeit
der Aufeinanderfolge bestimmter Wörter beruhen.
-
Außerdem bestehen natürlich Endpunkt-Beschränkungen in der Form, daß
der optimale Weg beim ersten Testsignal und bei dem ersten Referenzsignal einer
der Folgen beginnen und beim letzten Testsignal und beim letzten Referenzsignal
irgendeiner Folge enden muß.
-
Die Bestimmung des optimalen Weges erfolgt über die nichtlineare Zeitanpassung
der Folge der Testsignale an die einzelnen Folgen der Referenzsignale. Dabei wird
die Tatsache ausgenutzt, daß der optimale Weg durch einen Rasterpunkt i, j, k auch
als Teil den diesem Rasterpunkt vorhergehenden Teilweg umfaßt. Dafür wird die minimale
Unterschiedsumme D(i, j, k) entlang aller Wege zu dem Rasterpuikt i, j und k bestimmt.
Da diese Unterschiedsumme die Summe der lokalen Unterschiedswerte ist, kann sie
ein-
fach schrittweise als die Summe der Unterschiede entlang dem
optimalen Weg zu einem vorhergehenden Punkt und dem lokalen Unterschiedswert des
Rasterpunktes i, j, k bestimmt werden.
-
Für den optimalen Weg muß dann der vorhergehende Punkt mit der minimalen
Unterschiedsumme bestimmt werden. Auf diese Weise ergibt sich als Übergangsregel
für Übergänge innerhalb einer Folge von Referenzsignalen gemäß Fig. 2a D(i,j,k)=
d(i,j,k) + min tD(i-1,j,k),D(í-1,j-1,k),D(i,j-1,k)) An den Grenzen der Folgen von
Referenzsignalen bei jeweils j = 1 ergibt die Übergangsregel für Übergänge zwischen
Folgen gemäß Fig. 2b D(i,1,k)= d( i,1 ,k) + min {D(i-1,1,k),D(i-1,J(k*):k*=1,...K}
Bei Berücksichtigung syntaktischer Regeln kann zu dem Minimum der Unterschiedsummen
der letzten Referenzsignale aller Folgen beim vorhergehenden Testsignal noch ein
Wert S(k, k*) addiert werden, dessen Wert von der Wahrscheinlichkeit der Kombination
des vorhergehenden Wortes k* und des momentanen Wortes k abhängt. Beim ersten Testsignal
müssen im übrigen die Regeln etwas modifiziert werden, da es keine vorhergehenden
Testsignale gibt, so daß ein Rasterpunkt 1, j, k nur von einem Rasterpunkt 1, j-1,
k erreicht werden kann.
-
Die technische Realisierung der vorstehenden Gleichungen kann auf
verschiedene Weise erfolgen, beispielsweise wie in der bereits erwähnten DE-OS 30
35 565 für die Bestimmung der optimalen übereinstimmung zwischen einem Testwort
und einem Referenzwort beschrieben wurde.
-
Um für ein Testsignal die Unterschiedsummen für alle Referenzsignale
zu bestimmen, ist nur ein kleiner Teil der vollständigen Matrix von Unterschiedsummen
der vorhergehenden Punkte notwendig, nämlich die zu dem vorhergehenden Test-
signal
i-1 gehörenden Unterschiedsummen. Die zu diesen Elementen gehörenden Rasterpunkten
bilden e-ine senkrechte Spalte durch die Zeitebene der Fig. 1, wie dies bei der
bereits erwähnten DE-OS 30 35 565 beschrieben wurde, allerdings dort als waagerechte
Zeile.
-
Gegenüber diesem bekannten Verfahren ist jedoch noch zusätzlich eine
Möglichkeit der Zurückverfolgung des optimalen Weges notwendig, und zwar für die
Punkte des Weges an den Übergängen von jeweils einer Folge von Referenzsignalen
auf eine andere, d.h. an den Wortgrenzen. Da es das endgültige Ziel des erfindungsgemäßen
Verfahrens ist, die unbekannte Aufeinanderfolge von Wörtern bzw. Folgen von Referenzsignalen
in dem Test-Sprachsignal zu bestimmen, ist es ausreichend zu ermitteln, bei welchem
Testsignal ein beim Endpunkt einer Folge von Referenzsignalen endender Teilweg des
optimalen Gesamtweges begonnen hat, da beim unmittelbar vorhergehenden Testsignal
die vorhergehende Folge geendet hat.
-
Die Einzelheiten des Teilweges innerhalb der Folge von Referenzsignalen
ist dagegen für die Worterkennung in einer Wortkette nicht von Bedeutung. Der Endpunkt
des Teilweges des optimalen Weges am Ende jeweils einer Folge von Referenzsignalen
ist zunächst jedoch noch nicht bekannt, daher muß die Information zur Zurückverfol-
gung während des ganzen Zeitanpassungsvorgangs aufgezeichnet werden. Für jeden Rasterpunkt
i, j, k gibt es einen eindeutigen Startpunkt beim ersten Referenzsignal j = 1 innerhalb
dieser Folge k. Daher kann für jeden Rasterpunkt ein Rückwärtszeiger B(i, j, k)
bestimmt werden als die Adresse des Testsignals, von dem der beste Weg zu diesem
Rasterpunkt i, j, k begonnen hat. In Fig. 3 ist ein Beispiel für die Rückwärtszeiger
von drei Rasterpunkten gezeigt, die mögliche Vorgänger für einen vierten, ausgefüllten
Rasterpunkt darstellen. Wenn die beiden zu dem vorhergehenden Testsignal gehörenden
Rasterpunkte sich nicht in einem Rasterpunkt des
momentanen Testsignals
i fortsetzen, kann der optimale Weg auch nicht durch einen solchen Punkt gehen,
und dessen Rückwärtszeiger braucht dann nicht mehr länger gespeichert zu werden.
Auf diese Weise ist wie bei den Unterschiedsummen anstelle der ganzen Matrix von
Rückwärtszeigern nur jeweils die Speicherung einer Spalte von Rückwärtszeigern notwendig,
d.h. für jedes Referenzsignal j aller Folgen k ist nur ein Speicherplatz für die
Unterschiedsumme und ein Speicherplatz für den Rückwärtszeiger erforderlich. Dies
ist in Fig. 4a links dargestellt, wobei Fig. 4b den Übergang der Werte für das vorhergehende
Testsignal i-l auf das Test- signal i mit fortschreitender Verarbeitung andeutet.
Bei der Verarbeitung des Referenzsignals j wird der zu diesem Referenzsignal und
dem vorhergehenden Testsignal i-1 gehörende Unterschiedsummenwert bzw. Rückwärtszeiger
z ausgelesen, der zum vorhergehenden Referenzsignal j-1 gehörende Unterschiedsummenwert
bzw. Rückwärtszeiger y liegt zwischengespeichert vor, und ebenso kann der Einfachheit
Verarbeitung halber der unmittelbar vorhergehend ermittelte Unterschiedsummenwert
bzw.
-
Rückwärtszeiger x zwischengespeichert sein. Dann können für den Rasterpunkt
i und j die neuen Werte berechnet und anstelle des Wertes z in den jeweiligen Speicher
eingeschrieben werden, während z zwischengespeichert und y gelöscht wird. Es ist
daraus zu erkennen, daß auf diese Weise wirklich nur die Werte einer Spalte gespeichert
sein müssen.
-
Für die Zurückverfolgung muß jedoch nicht der Anfang des Teilweges
in der jeweiligen Folge, sondern das Ende des vorhergehenden Teilweges ermittelt
werden, das jedoch, wie bereits erwähnt, unmittelbar vor dem Anfang des letzten
Teilweges liegt. Das Verfahren kann daher vereinfacht werden, wenn im Rückwärtszeiger
B(i, j, k) nicht die Testsignaladresse des Anfangs, sondern gleich direkt die Testsignaladresse
des vorhergehenden Endpunktes gespeichert wird.
-
Wie vorher bereits erwähnt, sind nur die Rückwärtszeiger an den Endpunkten,
d.h. den letzten Referenzsignalen J(k) der einzelnen Folgen k von Interesse, damit
die Folge der Wörter entlang des optimalen Weges zurückverfolgt werden kann, denn
die Rückwärtszeiger an den Endpunkten geben wiederum den Endpunkt der jeweils vorhergehenden
Folge an. Die Rückwärtszeiger an diesen Endpunkten werden jedoch bei der Verarbeitung
des nächsten Testsignals wieder überschrieben, so daß ein gesonderter Speicher notwendig
ist, der die Rückwärtszeiger an den Endpunkten der einzelnen Folgen von Referenzsignalen
speichert. Da solche Endpunkte bei jedem Testmuster auftreten, muß dieser gesonderte
Speicher für jedes Testsignal Speicherplätze für die Rückwärtszeiger haben.
-
Eine Einsparung von Speicherplatz ergibt sich aus der Tatsache, daß
nicht die Rückwärtszeiger der Endpunkte aller Folgen k gespeichert werden müssen,
sondern nur der Rückwärtszeiger des Endpunktes derjenigen Folge, durch den auch
der optimale Weg verläuft, und dies kann nur der Endpunkt sein, bei dem auch die
Unterschiedsumme gegenüber allen anderen Endpunkten beim gleichen Testsignal ein
Minimum ist.
-
Noch genauer ausgedrückt, braucht auch nur der Rückwärtszeiger des
Endpunktes einer Folge gespeichert zu werden, der als Ausgangspunkt für eine neue
Folge verwendet wird. Diese letztere Einschränkung ergibt jedoch-keine Einsparung
an Speicherplatz, da wie bereits erwähnt für jedes Testsignal ein Speicherplatz
vorgesehen sein muß, so daß diese Einschränkung unberücksichtigt bleiben kann, wodurch
auch eine Vereinfachung des Ablaufs des Verfahrens möglich ist. Es wird daher immer
der Rückwärtszeiger B(J(k)) als Testsignaladresse F(i) des vorhergehenden Endpunktes
gespeichert, bei dem die Unterschiedsumme D(j, k) am kleinsten ist.
-
Da aber nicht die Endpunkte selbst der einzelnen Teilwege des optimalen
Weges innerhalb jeweils einer Folge von Referenzsignalen von Interesse sind, sondern
die der jeweiligen
Folgen zugeordneten Wörtern, müssen die diese
Wörter angebenden Ordnungsnummern der Folgen der Referenzsignale ebenfalls gespeichert
werden, und zwar zusammen mit den jeweiligen Anfangsadressen F(i). Die so gespeicherten
Ordnungsnummern der Folgen werden mit T(i) bezeichnet und sind die Ordnungsnummern
derjenigen Folgen k, an deren Endpunkten J(k) die gegenüber allen anderen Folgen
beim gleichen Testsignal die kleinste Unterschiedsumme D(J(k), k) auftritt.
-
Aus Fig. 4a ist dann zu erkennen, daß sich aus den beim letzten Testsignal
N gespeicherten Werten die Testsignaladresse i(l-1) des Endpunkts der vorhergehenden
Folge und die Ordnungsnummer k(l) der letzten Folge ergibt. In gleicher Weise ergeben
die anderen gespeicherten Testsignaladressen F(i) unmittelbar die Adressen, an denen
die Ordnungsnummer k(l-1), k(l-2)... der jeweils vorhergehenden Folge sowie die
Testsignaladresse i(l-2), i(l-3)... des Endes der davor endenden Folge enthalten
sind, wie durch die Pfeile angedeutet ist, die die Speicherplätze i(l-1), i(l-2),
i(l-3) usw. des Speichers F(i) verbinden.
-
Der vollständige Ablauf der bisher beschriebenen Verfahrensschritte
ist als Flußdiagramm in den Fig. 5a und 5b dargestellt. Mit der Auslösung des Starts
im Block 101, der beispielsweise durch die Detektion des Beginns eines Sprachsignals
oder durch eine Tastenbetätigung des Sprechers verursacht wird, wird im Block 102
die Testsignaladresse i auf 1 gesetzt und das erste Testsignal empfangen. Dieses
erste Testsignal wird gemäß dem Block 103 anders verarbeitet als die folgenden Testsignale,
nämlich es werden die Unterschiede zu den einzelnen Referenzsignalen jeder Folge
aufsummiert und die aufsummierten Unterschiede als Unterschiedsummen D(j, k) abgespeichert.
Als Rückwärtszeiger B(j, k) wird für alle Referenzsignale j, k der Wert 1tabgespeichert.
-
Im Block 104 wird geprüft, ob alle Folgen k verarbeitet sind, d.h.
ob die letzte Folge K von Referenzsignalen mit dem ersten Testsignal verarbeitet
worden ist. Solange dies nicht der Fall ist, wird der Block 103 wiederholt.
-
Nach Verarbeitung aller Folgen von Referenzsignalen wird der Block
105 dlarchlaufen. Darin wird die minimale Unterschiedsumme der letzten Referenzsignale
aller Folgen bestimmt und als Unterschiedsminimum D0 abgespeichert. Dieser Schritt
hat für das erste Testsignal ebenso wie die folgenden Schritte im Block 105 zwar
noch keinen Sinn, sondern diese Schritte sind erst für die späteren Testsignale
von Bedeutung, da die Schritte sich auf die Wortgrenzen beziehen, jedoch werden
sie aus Gründen der Systematik und der Einfachheit auch beim ersten Testsignal bereits
durchlaufen.
-
Der zweite Schritt im Block 105 speichert für die spätere Zurückverfolgung
des optimalen Weges die Testsignaladresse F(i) ab, wobei der Ausdruck cormin bedeuten
soll, daß als Testsignaladresse F(i) derjenige Rückwärtzeiger B(j(k), k) verwendet
wird, der zu der minimalen Unterschiedsumme D(J(k), k) gehört. Ferner wird die Ordnungsnummer
T(i) derjenigen Folge abgespeichert, bei der dieses Minimum der Unterschiedsumme
aufgetreten ist, was durch den Ausdruck argmin angedeutet wird.
-
Damit ist die Verarbeitung des ersten bzw. jeweils eines Testsignals
abgeschlossen, und im Block 106 wird die nächste Testsignaladresse i eingestellt.
Im Block 107 wird geprüft, ob die damit erreichte Testsignaladresse nicht über dem
letzten vorgesehenen Testsignal N liegt. Wenn dies nicht der Fall ist, d.h. die
damit erreichte Testsignaladresse liegt über der höchsten Adresse N, so daß alle
vorgesehenen Testsignale verarbeitet sind, wird auf den Block 120 des den Abschluß
bildenden Flußdiagrammteils übergegangen, der später
erläutert
wird.
-
Solange noch ein Testsignal verarbeitet wird, wird auf dem Block 108
übergegangen, bei dem die erste Folge k = 1 eingestellt wird. Danach folgt der Block
109, mit dem das erste Referenzsignal j = 1 dieser Folge adressiert und mit dem
momentanen Testsignal verarbeitet wird.
-
Diese Verarbeitung erfolgt im Block 110, wo zunächst die für dieses
Referenzsignal ermittelte und gespeicherte Unterschiedsumme D(1, k) als Zwischenwert
D1 und der dazugehörige Rückwärtszeiger B(i, k) als Zwischenwert B1 gespeichert
wird. Nun wird die neue Unterschiedsumme D(1, k) aus der Summe des lokalen Unterschiedswertes
D(i, 1, k) des Unterschiedswertes an dieser Stelle und dem Minimum aus der im Block
105 gespeicherten minimalen Unterschiedsumme D0 und der Unterschiedsumme D1 im vorhergehenden
Punkt gebildet und abgespeichert, wie rechts oben im Block 110 angedeutet ist, und
ferner wird als Rückwärtszeiger B(1, k) im ersteren Fall die vorhergehende Testsignaladresse
i-1 und im zweiten Falle der zum vorhergehenden Punkt gehörende Rückwärtszeiger
B1 abgespeichert. Damit ist für den ersteren Fall, der eine mögliche Wortgrenze
angibt, der Endpunkt der vorhergehenden Folge bzw. des vorhergehenden Wortes festgehalten
und wird bis zum Endpunkt des momentan begonnenden Teilweges weitergegeben.
-
Dies folgt über den Weg 3 im Block 112, nachdem im Block 111 die Adresse
des nächsten Referenzsignals eingestellt wurde.
-
Im Block 112 werden wieder zunächst die für dieses Referenzsignal
ermittelten Werte der Unterschiedsumme D(j, k) und des Rückwärtszeigers B(j, k)
für das vorhergehende Testsignal als weitere Zwischenwerte D2 bzw. B2 zwischengespeichert.
Danach wird die neue Unterschiedsumme D(j, k) aus der Summe des lokalen Abstandswertes
d(i, j, k) und dem
Minimum des ersten Zwischenwertes D1, des zweiten
Zwischenwertes D2 und der beim unmittelbar vorhergehenden Referenzsignal j-1 ermittelten
Unterschiedsumme D(j-1, k), wie auch hier rechts oben im Block 112 angegeben ist,
bestimmt und abgespeichert, und ebenso der dazugehörige neue Rückwärtszeiger B(j,
k). Der Block 110 entspricht somit der Fig. 2b bzw. der zugehörigen Gleichung, während
der Block 112 der Fig. 2a bzw. der zugehörigen Gleichung entspricht. Schließlich
werden die weiteren Zwischenwerte D2 bzw. B2 als erste Zwischenwerte D1 bzw. B1
umgespeichert, damit anschließend neue weitere Zwischenwerte gespeichert werden
können, da der Block 112 nun wiederholt in einer Schleife aus den Blöcken 113, 111
und 112 wiederholt durchlaufen wird.
-
Dabei prüft der Block 113, ob das letzte Referenzsignal J(k) der Folge
k verarbeitet worden ist. Solange dies nicht der Fall ist, wird die Schleife erneut
durchlaufen. Wenn jedoch das letzte Referenzsignal J(k) verarbeitet wurde, wird
der Block 114 durchlaufen, bei dem die Adresse der nächsten Folge k eingestellt
wird. Danach wird im letzten Block 115 geprüft, ob damit eine Adresse über der letzten
Folge K erreicht ist und damit alle Folgen von Referenzsignalen verarbeitet wurden.
Wenn dies nicht der Fall ist, wird über den Weg 2 auf den Block 109 zurückgegangen,
bei dem wieder das erste Referenzsignal der nächsten Folge verarbeitet wird, usw.
Wenn jedoch die letzte Folge verarbeitet wurde, wird über den Weg 1 auf den Block
105 zurückgegangen, der bereits beschrieben wurde.
-
Nachdem das letzte Testsignal verarbeitet worden ist, wird ausgehend
von dem Abfrageblock 107 über den Weg 4 der Block 120 durchlaufen, bei dem eine
Adresse n, die die Aufeinanderfolge der erkannten Wörter angibt, auf Null gesetzt
wird.
-
Anschließend wird im Block 121 diese Adresse um 1 erhöht.
-
Danach wird im Block 122 die im Block 105 zuletzt erreichte
Ordnungsnummer
T(i) als das letzte erkannte Wort Q(n) in einem Schieberegister abgespeichert und
anschließend die an dieser Adresse enthaltene Testsignaladresse F(i) als neue Adresse
i ausgelesen und zwischengespeichert. Im Block 123 wird geprüft, ob dabei die Adresse
1, die im Block 103 für den Rückwärtszeiger B(j, k) gespeichert wurde, erreicht
ist und somit das erste erkannte Wort im Schieberegister abgespeichert wurde. Wenn
dies nicht der Fall ist, werden die Blöcke 121, 122 und 123 erneut durchlaufen.
Wenn schließlich die Adresse i = 1 erreicht ist, ist das erste erkannte Wort im
Schieberegister abgespeichert, und es wird der Block 124 durchlaufen, bei dem die
erkannten Wörter Q(n) in der richtigen Reihenfolge ausgegeben werden. Nach Ausgabe
des letzten Wortes wird der Block 125 errreicht, womit die Erkennung der Wortkette
im zugeführten Sprachsignal abgeschlossen ist und ein neues Sprachsignal zugeführt
werden kann.
-
In Fig. 6 ist ein Blockschaltbild einer möglichen Anordnung zur Durchführung
des erfindungsgemäßen Verfahrens dargestellt. Darin enthält der Referenzspeicher
2 alle Folgen der Referenzsignale, die nacheinander durch die Adressiervorrichtung
aus den beiden Zählern 4 und 6 adressiert werden.
-
Dabei adressiert der Zähler 4 die Referenzsignale j innerhalb der
Folge, und der Zähler 6 adressiert die einzelnen Folgen k. In der dargestellten
Stellung der Schalter 4a und 4b erhält der Zähler 4 das Taktsignal Cl und durchläuft
nacheinander alle Zählerstellungen, die auf der Ausgangsleitung 5 abgegeben werden,
und nach der letzten Zähler stellung wird ein Übertragsimpuls erzeugt, der über
den Schalter 4b den Zähler 6 um eine Stellung weiterschaltet, wobei dessen Zählerstellungen
auf der Ausgangsleitung 7 abgegeben werden. Dabei ist der Einfachheit halber angenommen,
daß alle Folgen k gleich viele Referenzsignale j enthalten. Anderenfalls kann der
Zähler 6 über die Ausgangs-
leitung 7 einen nicht dargestellten
Festwertspeicher ansteuern, der an den einzelnen Speicherplätzen die Anzahl der
Referenzsignale J(k) der einzelnen Folgen k enthält und dessen Ausgang mit einem
ebenfalls nicht dargestellten Vergleicher verbunden ist, dessen anderer Eingang
mit der Ausgangsleitung 5 verbunden ist und dessen Ausgang das Fortschaltsignal
für den Zähler 6 liefert.
-
Der Ausgang des Speichers 2 ist mit dem einen Eingang eines Subtrahierers
14 verbunden, dessen anderer Eingang über die Leitung 9 jeweils ein Testsignal erhält.
Dieses Testsignal kann von einem Speicher 8 geliefert werden, der von einem Zähler
10 adressiert wird, dessen über die Ausgangsleitung 11 abgegebenen Zählerstellungen
die Adresse i des jeweiligen Testsignals angeben. Falls die dargestellte Anordnung
jedoch so schnell arbeitet, daß ein zugeführtes Sprachsignal in Echtzeit verarbeitet
werden kann, ist die Leitung 9 mit dem Ausgang einer Anordnung zum Extrahieren der
Testsignale aus dem Sprachsignal verbunden, die an sich bekannt ist und da-4 rum
hier nicht weiter dargestellt ist. Es ist klar, daß sowohl die vom Speicher 2 gelieferten
Referenzsignale wie auch die über die Leitung 9 zugeführten Testsignale aus Datenwörtern
bestehen, die eine Anzahl binärer Bits enthalten, so daß die entsprechenden Leitungen
wie die Leitung 9 tatsächlich aus einer Anzahl entsprechend der Anzahl Bits paralleler
einzelner Verbindungen bestehen, die hier nur der Einfachheit halber als einz Leitung
dargestellt sind. Dies gilt auch für die übrigen Leitungen mit Ausnahme einiger
Steuerleitungen wie die Leitung 13, 41, 43 und 53, die tatsächlich nur aus einer
einzelnen Verbindung bestehen.
-
Dem Subtrahierer 14 werden für jedes über die Leitung 9 zugeführte
Testsignal nacheinander aus dem Speicher 2 alle Referenzsignale zugeführt und deren
Differenzen einem Addierer 16 zugeleitet, dessen anderer Eingang mit einem Umschalter
28
verbunden ist. Die vom Addierer 16 gebildeten Summen stellen die Unterschiedsummen
D(j, k) dar und werden in einem Zwischenregister 20 aufgenommen und anschließend
in einen Speicher 22 abgespeichert, der ebenfalls von den Zählern 4 und 6 über die
Vielfachleitungen 5 und 7 adressiert wird.
-
Der Ausgang des Zwischenregisters 20, das also die zuletzt ermittelte
Unterschiedsumme D(j-1, k) entsprechend dem Punkt x in Fig. 4b enthält, ist mit
einem Eingang eines Minimumbestimmers 26 verbunden. Der Ausgang 23 des Speichers
22, der also die für das vorhergehende Testsignal i-1 und das momentane Referenzsignal
j ermittelte Unterschiedsumme entsprechend dem Punkt z in Fig. 4b bzw. entsprechend
dem Wert D1 im Block 110 in Fig. 5a enthält, ist direkt mit einem weiteren Eingang
des Minimumbestimmers 26 verbunden, da dieser Wert wegen der Verwendung des Zwischenregisters
20 nicht unbedingt zwi-schengespeichert werden muß. Ein dritter Eingang des Minimumbestimmers
26 ist mit dem Ausgang eines Registers 24 verbunden ist, das die beim vorherigen
Referenzsignal am Ausgang 23 abgegebene Unterschiedsumme entsprechend dem Punkt
y in Fig. 4b bzw. entsprechend dem Wert D2 im Block 112 in Fig. 5b enthält. Der
Ausgang 27 gibt den kleinsten der an den drei Eingängen zugeführten Werte ab und
führt diesen über den Schalter 28 dem anderen Eingang des Addierers 16 zu. Auf diese
Weise werden die Unterschiedsummen innerhalb der einzelnen Folgen von Referenzsignalen
gebildet. Gleichzeitig werden in einem Speicher 32, der ebenfalls von den Zählern
4 und 6 über die Leitungen 5 und 7 adressiert wird, der zu dem minimalen der drei
vom Minimumbestimmter 26 ausgewählten Unterschiedsummen gehörende Rückwärtszeiger
gespeichert, indem der Minimumbestimmter über die Leitung 27a einen Selektor 36
steuert, der entweder den am Ausgang des Speichers 32 vorhandenen Rückwärtszeiger,
den im Register 34 vorhandenen, vorher vom Speicher 32 geliefer-
ten
Rückwärtszeiger oder den im Zwischenregister 30 vorhandenen, zuletzt eingespeicherten
Rückwärtszeiger über den Umschalter 38 einspeichert. Der Selektor 36 wird dabei
vom Minimumbestimmter 26 so gesteuert, daß jeweils die gleichen Eingänge auf den
Ausgang durchgeschaltet werden.
-
Bevor die Bildung der Unterschiedsummen und der Rückwärtszeiger am
Übergang von jeweils einer Folge Referenzsignalen auf eine neue Folge beschrieben
werden, wird zunächst angenommen, daß alle Folgen von Referenzsignalen im Speicher
2 adressiert worden sind und der Folgenzähler 6 ein Übertragsignal abgibt, das eine
bistabile Kippstufe 12 umschaltet, so daß die Steuerleitung 13 ein Signal führt.
Gleichzeitig werden die Schalter 4a und 4b umgeschaltet, so daß der Folgenzähler
6 nun direkt mit dem Taktsignal Cl weiterschaltet, während der Zähler 4 auf seinem
maximalen Wert entsprechend dem letzten Referenzsignale in jeder Folge festgehalten
wird. Bei verschiedenen Anzahlen je Folge von Referenzsignalen kann die Leitung
5 von dem Ausgang des Zählers 4 auf den bereits erwähnten, nicht dargestellten,
über die Leitung 7 adressierten Festwertspeicher umgeschaltet werden, der die maximale
Anzahl von Referenzsignalen jeder Folge enthält. Damit werden aus dem Speicher 22
die Unterschiedsummen für das letzte Referenzsignal aller Folgen nacheinander ausgelesen
und über die Ausgangsleitung 23 dem einen Eingang eines Vergleichers 40 zugeführt,
dessen anderer Eingang mit dejn Ausgang 45 eines Minimum-Registers 44 verbunden
ist, das zunächst einen Wert entsprechend der maximal möglichen Unterschiedsumme
enthält. Jedes Mal wenn die Unterschiedsumme am Ausgang 23 kleiner ist als der Inhalt
des Minimum-Registers 44, gibt der Vergleicher 40 auf der Ausgangsleitung 41 ein
Signal ab, und da gleichzeitig die Leitung 13 ein Signal führt, erzeugt dann das
UND-Glied 42 auf der Ausgangsleitung 43 ein Signal, das die auf der Ausgangsleitung
23 vorhandene kleinere Unterschiedsumme in
das Minimum-Register
44 einschreibt und gleichzeitig den zugehörigen, aus dem Speicher 32 ausgelesenen
Rückwärtszeiger in ein erstes Pufferregister 46 sowie die zugehörige Ordnungsnummer
bzw. Adresse der Folge k, die über die Leitung 7 einem zweiten Pufferregister 48
zugeführt wird, in dieses einschreibt. Wenn danach auf der Ausgangsleitung 23 eine
noch kleinere Unterschiedsumme erscheint, wird diese wiederum in das Minimum-Register
44 und der zugehörige Rückwärtszeiger in das erste Pufferregister 46 und die zugehörige
Ordnungsnummer der Folge in das zweite Pufferregister 48 eingeschrieben, wobei jeweils
der vorhergehende Inhalt gelöscht wird. Wenn auf diese Weise die Adressen aller
Folgen k erzeugt worden sind, enthält das Minimum-Register 44 die kleinste Unterschiedsumme
D0 und die beiden Pufferregister 46 und 48 die zugeordneten Werte, nämlich die Testsignal-Adresse
F(i) des Endes der vorhergehenden Folge und die Ordnungsnummer T(i) der Folge mit
der kleinsten Unterschiedsumme, und der Zähler 6 erzeugt wieder ein Übertragsignal,
das die bistabile Kippstufe 12 wieder zurückschaltet. Mit dem Verschwinden des Signals
auf der Leitung 13 wird einem Speicher 50 ein Schreibsignal zugeführt, so daß die
Inhalte der beiden Pufferregister 46 und 48 an einer Adresse eingeschrieben werden,
die vom Zähler 10 über die Leitung 11 und dem Umschalter 56 dem Speicher 50 zugeführt
wird. Anschließend wird der Zähler 10 von der bistabilen Kippstufe 12 um eine Stellung
weitergeschaltet, so daß nun das nächste Testsignal verarbeitet wird. Ferner werden
wieder die Schalter 4a und 4b in die gezeichnete Stellung zurückgeschaltet.
-
Nun werden wieder die Referenzsignale der Folgen nacheinander aus
dem Speicher 2 ausgelesen und mit den zugehörigen Unterschiedsummen aus dem Speicher
22 verarbeitet.
-
Bei jedem ersten Referenzsignal j = 1 wird auf einer von dem Zähler
4 abgeleiteten Leitung 5a ein Signal erzeugt, das den
Minimumbestimmer
26 so schaltet, daß der Ausgang 23 des Speichers 22 auf den Ausgang 27 des Minimumbestimmers
26 durchgeschaltet wird, unabhängig von den Werten an den anderen beiden Eingängen.
Ferner vergleicht der Vergleicher 40 die Unterschiedsumme auf der Leitung 23 mit
der im Minimum-Register 44 gespeicherten minimalen Unterschiedsumme D0 der Enden
aller Folgen beim vorhergehenden Testsignal, und wenn nun der Inhalt des Minimum-Registers
44 kleiner ist als die gleichzeitig auf der Ausgangsleitung 23 anstehende Unterschiedsumme,
erzeugt der Vergleicher 40 auf der Ausgangsleitung 41 kein Signal, so daß durch
die Invertierung an diesem entsprechenden Eingang eines UND-Gliedes 52 dieses auf
der Ausgangsleitung 53 ein Steuersignal erzeugt, das die Umschalter 28 und 38 in
die entsprechende andere Stellung umschaltet. Damit wird nun das Ausgangssignal
des Minimum-Registers 44 dem anderen Eingang des Addierers 16 zugeführt, was dem
Übergang von einer Folge von Referenzsignalen auf eine andere Folge entspricht,
und in den Speicher 32 wird über das Zwischenregister 30 das Ausgangssignal eines
Adressenpufferregisters 18 eingeschrieben, das mit der Adressleitung 11 für die
Testsignaladressen i verbunden ist und somit die vorhergehende Testsignaladresse
i-1 enthält. Auf diese Weise wird in den Speicher 32 also die Testsignaladresse
des Endpunktes der vorhergehenden Folge eingeschrieben, und an dieser Adresse war
vorher in den Speicher 50 die Ordnungsnummer T(i) der zugehörigen Folge k und die
Adresse F(i) des Endpunktes der davor endenden Folge eingeschrieben worden.
-
Wenn das zweite oder die folgenden Referenzsignale jeder Folge verarbeitet
werden, ist das Signal auf der Leitung 5a verschwunden, und die Schalter 28 und
38 stehen in der gezeichneten Stellung und der Minimumbestimmer 26 arbeitet in der
vorher beschriebenen Weise, indem er die kleinste an den drei Eingängen anstehende
Unterschiedsumme an den Ausgang 27 abgibt.
-
Wenn sytaktische Regeln an den Wortübergängen berücksichtigt werden
sollen, kann in die Leitung 45 vor dem Umschalter 28 ein Addierer eingefügt werden,
dessen anderer Eingang mit dem Ausgang eines weiteren, ebenfalls nicht dargestellten
Festwertspeichers verbunden ist, der von der momentanen, auf der Leitung 7 vorhandenen
Adresse der Folge k und der Adresse der am Ausgang des zweiten Pufferregisters 48
vorhandenen, vorher gespeicherten Folgeadresse adressiert wird.
-
Nachdem das letzte Testsignal N einer vorgegebenen Anzahl von Testsignalen
verarbeitet und im Speicher 50 die Ordnungsnummer T(i) der Folge k von Referenzsignalen,
deren Endpunkt die kleinste Unterschiedsumme geliefert hat, und die Testsignaladresse
F(i) des Endpunktes der vorhergehenden Summe gespeichert worden ist, wird der Schalter
56 umgeschaltet, so daß der Speicher 50 nunmehr von einem Adressregister 54, das
zunächst die letzte Adresse i enthält, adressiert wird. Damit wird aus dem Speicher
50 über den Ausgang 51 die zuletzt eingeschriebene Ordnungsnummer T(i) ausgelesen,
die das letzte Wort der Wortkette angibt, und mit dem nächsten Taktsignal Cl in
ein Schieberegister 58 eingeschrieben. Gleichzeitig wird die an dieser'Adresse gespeicherte
Adresse F(i) des Endpunktes der vorhergehenden Folge in das Adressregister 54 eingeschrieben,
so daß diese Endpunktadresse im Speicher nun adressiert wird. An dieser Endpunktadresse
ist die Ordnungs- nummer der vorhergehenden Folge sowie die Endpunktadresse der
davor endenden Folge gespeichert, usw., so daß in das Schieberegister 58 nacheinander
die erkannten Worte in der umgekehrten Reihenfolge wie im Sprachsignal eingeschrieben
werden. Dieser Vorgang endet, wenn der Dekoder 60 erkennt, daß das Adressregister
54 den Wert 1 enthält, d.h. wenn der Anfang der Wortfolge erreicht ist. Damit wird
die Schieberichtung des Schieberegisters 58 umgekehrt, und am Ausgang erscheint
die erkannte Wortkette in der richtigen Reihenfolge. Nach Ausgabe aller Worte, was
durch
einen parallel laufenden Zähler oder durch Prüfung der am Ausgang 59 auftretenden
Signale erfolgen kann, ist die Ausgabe der erkannten Wortkette abgeschlossen.
-
Vorstehend sind stets Worte als kleinste Erkennungseinheiten betrachtet
worden. Statt dessen ist es jedoch auch möglich, statt ganzer Worte auch kleinere
Erkennungseinheiten wie Silben, Halbsilben oder gar Phoneme zu betrachten, deren
Aufeinanderfolge in einem Sprachsignal erkannt werden soll.
-
Dabei sind jedoch die den syntaktischen Regeln bei der Worterkennung
entsprechenden Übergangsregeln für die einzelnen Erkennungseinheiten von größerer
Bedeutung, wobei diese Übergangsregeln dann den gewählten Erkennungseinheiten möglichst
gut angepaßt sein müssen.