DE10305821A1 - Verfahren und Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, Computerprogramm-Element und Computerlesbares Speichermedium - Google Patents

Verfahren und Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, Computerprogramm-Element und Computerlesbares Speichermedium Download PDF

Info

Publication number
DE10305821A1
DE10305821A1 DE10305821A DE10305821A DE10305821A1 DE 10305821 A1 DE10305821 A1 DE 10305821A1 DE 10305821 A DE10305821 A DE 10305821A DE 10305821 A DE10305821 A DE 10305821A DE 10305821 A1 DE10305821 A1 DE 10305821A1
Authority
DE
Germany
Prior art keywords
group
vectors
memory
codebook
vector
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.)
Ceased
Application number
DE10305821A
Other languages
English (en)
Inventor
Harald Janacz
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10305821A priority Critical patent/DE10305821A1/de
Publication of DE10305821A1 publication Critical patent/DE10305821A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Analysis (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Optimization (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Es werden sukzessive Vergleichswerte zu Referenz-Vektorgruppen mit Eingangsvektoren in Analogie eines Ringspeichers gespeichert.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, ein Computerprogramm-Element und ein Computerlesbares Speichermedium.
  • In einer Vielzahl unterschiedlicher Bereiche, insbesondere der Mustererkennung, ist es erforderlich, den Abstand, d.h. die Distanz, eines ersten Vektors mit einer Vielzahl von Referenzvektoren zu berechnen. Im Bereich der Spracherkennung ist es beispielsweise erforderlich, eine Distanz zwischen einem aus einer Merkmalsextraktion sich ergebenden Eingangsvektor mit Referenzvektoren eines jeweils verwendeten Codebuchs, in welchem Repräsentanten von Hidden Markov-Modellen (HMM) gespeichert sind, zu berechnen.
  • Auf Grund der üblicherweise großen Anzahl von Hidden Markov Modellen und insbesondere der entsprechend großen Anzahl von Repräsentanten eines Zustands eines jeweiligen Hidden Markov-Modells ist der Speicherbedarf für die Distanzberechnung sehr groß.
  • Insbesondere bei der Echtzeitberechnung von Distanzen in dem jeweiligen Vergleichsraum ist der Bedarf des Speicherplatzes sogar verdoppelt. So ist es beispielsweise bekannt, einen Doppelpuffer zur Speicherung von Zwischenergebnissen im Rahmen der Distanzberechnung zu verwenden.
  • Alternativ ist es bekannt, das gesamte Codebuch, das heißt alle Repräsentanten aller berücksichtigten Hidden Markov Modelle in einem Pufferspeicher zu speichern, womit eine Speicherung von Zwischenergebnissen nicht mehr nötig ist.
  • Jedoch ist der Speicherbedarf auch bei diesem Ansatz sehr hoch.
  • Der Erfindung liegt das Problem zugrunde, eine Vielzahl von Eingangsvektoren mit Referenzvektoren unter Einsparung von Speicherplatzbedarf zu vergleichen.
  • Das Problem wird durch das Verfahren und die Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, durch das Computerprogramm-Element und das Computerlesbare Speichermedium mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.
  • Bei einem Verfahren zum rechnergestützten Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, welche von n Referenzvektor-Gruppen erzeugt werden, wobei n kleiner als m ist und wobei m größer als drei ist, unter Verwendung von n Abstandswert-Speicherbereichen, wird eine erste Gruppe der n Referenzvektor-Gruppen geladen, vorzugsweise in einen Pufferspeicher. Zu mindestens einem ersten Eingangsvektor werden unter Verwendung der ersten Gruppe erste Abstandswerte der ersten Gruppe erzeugt. Die ersten Abstandswerte der ersten Gruppe werden in einem ersten Abstandswert-Speicherbereich gespeichert. Mindestens ein erster Eingangsvektor wird mit jedem der Referenzvektoren der ersten Referenzvektor-Gruppe verglichen. Auf diese Weise wird für jeden ersten Eingangsvektor ein jeweiliger erster Abstandswert der ersten Referenzvektor-Gruppe gebildet. Anschließend wird eine zweite Gruppe der n Referenzvektor-Gruppen geladen und zu mindestens dem ersten Eingangsvektor werden unter Verwendung der zweiten Gruppe erste Abstandswerte der zweiten Gruppe erzeugt, wobei ferner zu mindestens einem zweiten Eingangsvektor unter Verwendung der zweiten Gruppe zweite Abstandswerte der zweiten Gruppe erzeugt werden. Die ersten Abstandswerte der zweiten Gruppe und die zweiten Abstandswerte der zweiten Gruppe werden in einem zweiten Abstandswert-Speicherbereich gespeichert. Die obigen Schritte des Ladens der zusätzlichen Referenzvektor-Gruppen, das Erzeugen der jeweiligen Abstandswerte und deren Speicherung in einem jeweiligen Abstandswert-Speicherbereich werden für n der Eingangsvektoren durchgeführt, wobei jeweils eine i-te Gruppe der n Referenzvektor-Gruppen geladen wird, mit i = 3 bis n, und wobei zu den Eingangsvektoren unter Verwendung der i-ten Gruppe Abstandswerte der i-ten Gruppe erzeugt werden, wobei die erzeugten Abstandswerte der i-ten Gruppe in dem i-ten Speicherbereich gespeichert werden. Anschließend werden die ersten Abstandswerte aus den n Speicherbereichen ausgelesen und die erste Gruppe der n Referenzvektor-Gruppen wird erneut geladen. Zu mindestens einem (n+1)-ten Eingangsvektor werden unter Verwendung der ersten Gruppe (n+1)-te Abstandswerte der ersten Gruppe erzeugt, welche in dem ersten Speicherbereich gespeichert werden.
  • In diesem Zusammenhang ist anzumerken, dass jeweils aktuell nur eine Referenzvektor-Gruppe, vorzugsweise in dem Pufferspeicher, geladen und gespeichert ist.
  • Anschaulich kann die erfindungsgemäße Vorgehensweise darin gesehen werden, dass ein Eingangsvektor x mit m Referenzvektoren eines Codebuchs C verglichen wird. Für alle m Referenzvektoren werden die euklidischen Abstände d(i) mit 1 ≤ i ≤ m, ermittelt. Die euklidischen Abstände werden in dem jeweiligen Abstandsvektor e zusammengefasst.
  • Im Rahmen einer Echtzeitberechnung der Abstandswerte werden laufend Eingangsvektoren x(j) ermittelt, beispielsweise im Rahmen der Spracherkennung oder der Sprechererkennung alle 15 msec, für welche die Abstandsvektoren e(j) zu berechnen sind. Üblicherweise ist das Codebuch C bzw. die Anzahl der in dem Codebuch C enthaltenen m-Referenzvektoren sehr groß, so dass ein großer Speicher für die Speicherung des Codebuchs C erforderlich ist.
  • Wird das Codebuch C in n Teile auf eteilt, von denen jeder Teil ungefähr
    Figure 00040001
    Referenzvektoren enthalt wobei gemäß einer Ausgestaltung der Erfindung der Wert
    Figure 00040002
    ganzzahlig ist, so wird der Speicherbedarf erheblich reduziert. Um für alle Referenzvektoren die euklidischen Abstände zu berechnen, werden die n Teile des Codebuchs C nacheinander in den Speicher geladen. Um die Anzahl der Ladevorgänge gering zu halten, werden n Vektoren x(j) gespeichert. Dann wird für diese n Eingangsvektoren der gleiche Teil des Codebuchs C verwendet, um die Teile der entsprechenden Abstandsvektoren e(j) zu ermitteln. Diese Teile der Abstandsvektoren werden in einem jeweiligen Abstandswert-Speicherbereich gespeichert.
  • Nachdem alle Teile des Codebuchs C geladen bzw. verwendet worden sind, werden die Teile eines Abstandsvektors e(j) aus den jeweiligen Speicherbereichen ausgelesen und zu dem Gesamt-Abstandsvektor e(j) zusammengesetzt.
  • Ist gleichzeitig mit dem ersten Eingangsvektor x(0) der erste Teil C(0) des Codebuchs C verfügbar, so kann E(0 – 0), das heißt der erste Teil des ersten Abstandsvektors e(0) für den ersten Eingangsvektor x(0) (erster Index) unter Verwendung des ersten Teils des Codebuchs C(0) (zweiter Index) berechnet werden. Da noch (n – 1) Eingangsvektoren unbekannt sind und somit diese (n – 1) Abstandswerte zu den Referenzvektoren des ersten Teils des Codebuchs C(0) nicht berechnet werden können und damit noch unbekannt sind, werden unter Verwendung des ersten Teils des Codebuchs C(0) Dummywerte für diese Abstandswerte bestimmt.
  • Für die Berechnung dieser Dummywerte wurden die für die noch unbekannten (n – 1) Eingangsvektoren vorgesehenen Speicherbereiche vorher vorzugsweise mit dem Wert 0 initialisiert.
  • Ist gleichzeitig mit dem zweiten Eingangsvektor x(1) der zweite Teil C(1) des Codebuchs C verfügbar, so werden E(0 – 1) und E(1 – 1) sowie Dummywerte für (n – 2) fehlende Eingangsvektoren bestimmt. Diese Vorgehensweise wird sukzessive für n Eingangsvektoren durchgeführt. Nachdem unter Verwendung von C(n – 1) alle E(k –(n – 1)) bestimmt worden sind; werden alle E(0 – 1), E(0 – 2),..., E(0-(n – 1)) zu dem Abstandsvektor e(0) zusammengesetzt. Hierzu wird ein Speicherarray der Dimension m verwendet. Die einzelnen Teile von dem Abstandswertvektor e(0) werden zeitlich nacheinander, das heißt zueinander versetzt, berechnet. Sobald der Abstandsvektor e(0) in das Speicherarray der Dimension m kopiert worden ist, wird der gespeicherte Eingangsvektor x(0) nicht mehr benötigt und wird somit mit dem (n+1)-ten Eingangsvektor x(n) überschrieben. Auch die Speicherbereiche für die jeweiligen Teile E(0 – 1), E(0 – 2),..., E(0-(n – 1)) des Abstandsvektors e(0) werden überschrieben. Gleichzeitig mit der Verfügbarkeit des (n+1)-ten Eingangsvektors ist wiederum der erste Teil des Codebuchs C(0) in den Speicher geladen und somit zum Bilden der Abstandswerte verfügbar. Zu diesem Zeitpunkt beginnt der oben beschriebene Zyklus erneut, diesmal jedoch ohne Berechnung von Dummywerten. Nach dem Ende der Berechnungen für den (n+1)-ten Eingangsvektor und den ersten Teil des Codebuchs C(0) können alle zu dem zweiten Eingangsvektor x(1) gehörigen Teil-Abstandsvektoren E(1 – 1), E(1 – 2),..., E(1 – (n – 1)) zu dem Abstandsvektor e(1) des zweiten Eingangsvektors x(1) zusammengesetzt werden. Danach können die Speicherbereiche für die Teil-Abstandsvektoren E(1 – 1), E(1 – 2),..., E(1 – (n – 1)) des zweiten Eingangsvektors x(1) in den jeweiligen Speicherbereichen überschrieben werden.
  • Dieses Verfahren wird iterativ für alle Eingangsvektoren, für die die jeweiligen Abstände zu den Referenzvektoren des Codebuchs C berechnet werden soll, durchgeführt.
  • Die erfindungsgemäße Vorgehensweise weist insbesondere den Vorteil auf, dass der Rechenaufwand für die Bestimmung des jeweiligen Abstandsvektors e unverändert bleibt.
  • m Abstandsberechnungen werden bei Verwendung des gesamten Codebuchs C aufgeteilt auf n·
    Figure 00060001
    = m Abstandsberechnungen bei Verwendung von n Teilen des Codebuchs C.
  • Im Echtzeitbetrieb müssen nur n Eingangsvektoren x(k) gespeichert werden, statt gemäß dem Stand der Technik 2n. Ferner reicht im Echtzeitbetrieb ein Speicherarray der Größe m · n aus, um die ganzen Abstandsvektoren zu speichern. Gemäß dem Stand der Technik war ein Speicherarray der Größe 2mn erforderlich. Zusammen mit dem Speicherarray für die vollständigen Abstandsvektoren e(k) wird somit ein Speicher der Größe m(n+1) benötigt.
  • Das oben beschriebene Verfahren ist nicht auf ein konstantes Verhältnis von
    Figure 00060002
    beschränkt. Ist
    Figure 00060003
    nicht konstant, wird gemäß einer weiteren Ausgestaltung der Erfindung in einem zusätzlichen Speicherarray der Größe n der Beginn der Speicherbereiche für die einzelnen Teil-Abstandsvektoren E(k – 1). 0 ≤ 1 ≤ n – 1 gespeichert, wodurch der Gesamtspeicherbedarf nur unwesentlich ansteigt.
  • Ferner ist der Aufwand für das Lokalisieren der Eingangsvektoren und der Abstandsvektoren sehr gering.
  • Die Erfindung kann in Hardware, das heißt mittels einer speziellen elektrischen Schaltung, mittels Software, das heißt mittels eines Computerprogramms, oder in beliebig hybrider Form das heißt, in beliebigen Teilen in Hardware oder Software realisiert sein.
  • Ferner wird erfindungsgemäß eine Vorrichtung zum Durchführen des oben beschriebenen Verfahrens geschaffen, welche eine Prozessoreinheit aufweist, die derart eingerichtet ist, dass die oben beschriebenen Verfahrensschritte durchgeführt werden.
  • Die Vorrichtung ist vorzugsweise eingerichtet als ein Embedded System, das heißt, als ein üblicherweise in einem technischen Gerät enthaltener Mikroprozessor mit einer relativ geringen Rechenleistung und einem zugehörigen Speicher mit beschränktem Speicherplatz.
  • Ferner wird ein Computerprogramm-Element angegeben, das, wenn es in einen Speicher eines Mikroprozessors geladen wird und von diesem ausgeführt wird, die oben beschriebenen Verfahrensschritte aufweist.
  • Auf einem computerlesbaren Speichermedium ist ein Computerprogramm gespeichert, das, wenn es von einem Prozessor ausgeführt wird, die oben beschriebenen Verfahrensschritte aufweist.
  • Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
  • Gemäß einer Ausgestaltung der Erfindung ist es vorgesehen, dass zumindest ein Teil der n Speicherbereiche
    Figure 00070001
    Speicherplätze aufweist, wobei in jeweils einemr
    Figure 00070002
    Speicherplätze genau ein Abstandswert gespeichert wird.
  • Die Erfindung wird bevorzugt im Rahmen der Signalverarbeitung, allgemein im Rahmen der Mustererkennung eingesetzt. Insbesondere eignet sich die Erfindung zum Einsatz im Rahmen der Sprachverarbeitung, insbesondere der sprecherunabhängigen Spracherkennung oder der Sprechererkennung und dabei insbesondere in der Echtzeitverarbeitung im Rahmen der Spracherkennung oder Sprechererkennung. Weitere Einsatzgebiete der Erfindung sind die Bildverarbeitung, die Schriftzeichenerkennung sowie die Prognose des Verhaltens eines technischen Systems, welches mittels eines Referenzvektor-Erzeugungs-Modells, beispielsweise eines Hidden Markov Modells, beschrieben wird oder die Beschreibung eines ökologischen oder ökonomischen Prozesses. Ferner kann die Erfindung im Rahmen einer Umgebungssteuerung, beispielsweise im Rahmen von Home-Automation, eingesetzt werden sowie in einer Gerätesteuerung, insbesondere zur Steuerung eines Telekommunikationsgerätes.
  • Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.
  • Auch wenn das folgende Ausführungsbeispiel auf den Bereich der Spracherkennung gerichtet ist, so kann insbesondere die im Folgenden beschriebene Abstandsberechnung in jedem Bereich eingesetzt werden, in dem es gilt, die Abstände zweier Vektoren miteinander zu vergleichen, insbesondere in einem Bereich, in dem Hidden Markov-Modelle eingesetzt werden, welche Referenzvektoren erzeugen, zu denen die Distanz von Eingangsvektoren zu ermitteln ist.
  • Es zeigen
  • 1 ein Blockdiagramm einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ein Diagramm eines Hidden Markov Modells gemäß einem Ausführungsbeispiel der Erfindung;
  • 3 ein Blockdiagramm, in dem die Grundstruktur eines Ausführungsbeispiels der Erfindung dargestellt ist;
  • 4 ein Zeitdiagramm, in dem das Bilden von Sprachsignal-Eingangsvektoren gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;
  • 5 ein Diagramm, in dem die Speicherbelegung der Sprachsignal-Eingangsvektoren und der Teil-Codebücher (Referenzvektor-Gruppen) zu unterschiedlichen Zeitpunkten gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;
  • 6A bis 6F Diagramme, in denen die Speicherbelegung der einzelnen Speicherbereiche zur Speicherung der Teil-Emissionen gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
  • 7A und 7B Diagramme, in denen die Speicherbelegung der einzelnen Speicherbereiche zur Speicherung der Teil-Emissionen gemäß einem anderen Ausführungsbeispiel der Erfindung dargestellt sind;
  • 8 ein Telekommunikationsgerät mit einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung;
  • 9 ein Autoradio mit einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung.
  • 1 zeigt eine Spracherkennungseinrichtung 100 gemäß einem Ausführungsbeispiel der Erfindung.
  • Die Spracherkennungseinrichtung 100 arbeitet je nach Betriebsmodus in einem ersten Betriebsmodus als Spracherkennungseinrichtung, wobei in diesem Spracherkennungsmodus die Spracherkennungseinrichtung eine eingesprochene Äußerung 101, eingesprochen von einem Benutzer (nicht dargestellt) der Spracherkennungseinrichtung 100, unter Verwendung eines Verfahrens zur sprecherunabhängigen Spracherkennung erkennt. In einem zweiten Betriebsmodus, im Weiteren auch bezeichnet als Trainingsmodus, werden die im Folgenden beschriebenen Hidden Markov Modelle, welche im Rahmen der Spracherkennung verwendet werden, trainiert.
  • In beiden Betriebsmodi wird das von dem Benutzer eingesprochene Sprachsignal 101 einem Mikrofon 102 zugeführt, und als aufgenommenes elektrisches Analogsignal 103 einer Vorverarbeitung, insbesondere einer Vorverstärkung mittels einer Vorverarbeitungseinheit 104, insbesondere mittels eines Vorverstärkers unterzogen und als vorverarbeitetes und verstärktes Analogsignal 105 einem Analog-/Digitalwandler 106 zugeführt, dort in ein digitales Signal 107 umgewandelt und als digitales Signal 107 einem Rechner 108 zugeführt.
  • Es ist in diesem Zusammenhang anzumerken, dass das Mikrofon 102, die Vorverarbeitungseinheit 104, insbesondere die Verstärkungseinheit, und der Analog-/Digitalwandler 106 als separate Einheiten oder auch als in dem Rechner 108 integrierte Einheiten realisiert sein können.
  • Gemäß diesem Ausführungsbeispiel ist es vorgesehen, dass das digitalisierte Signal 107 dem Rechner 108 über dessen Eingangsschnittstelle 109 zugeführt wird.
  • Der Rechner 108 weist ferner einen Mikroprozessor 110, einen Speicher 111 sowie eine Ausgangsschnittstelle 112 auf, welche alle miteinander mittels eines Computerbus 113 gekoppelt sind.
  • Mittels des Mikroprozessors 110 werden die im Weiteren beschriebenen Verfahrensschritte, insbesondere die Verfahren zum Trainieren der Hidden Markov Modelle sowie zur Spracherkennung unter Verwendung der trainierten Hidden Markov Modelle durchgeführt. Ein elektronisches Wörterbuch 114, welches die Einträge enthält, die im Rahmen der Spracherkennung als Referenzworte verwendet werden, ist in dem Speicher 111 gespeichert.
  • Ferner ist ein ebenfalls mit dem Computerbus 113 gekoppelter digitaler Signalprozessor (DSP) 115 vorgesehen, der einen speziell auf die verwendeten sprecherunabhängigen Spracherkennungsalgorithmen hin spezialisierten Mikrocontroller aufweist.
  • In dem digitalen Signalprozessor 115 ist ferner ein Computerprogramm gespeichert, welches eingerichtet ist zur sprecherunabhängigen Spracherkennung. Alternativ können die verwendeten Algorithmen in hartverdrahteter Logik, das heißt unmittelbar selbst in Hardware, realisiert sein.
  • Ferner ist der Rechner 108 mittels der Eingangsschnittstelle 109 mit einer Tastatur 116 sowie einer Computermaus 117 über elektrische Leitungen 118, 119 oder eine Funkverbindung, beispielsweise eine Infrarot-Verbindung oder eine Bluetooth-Verbindung gekoppelt.
  • Über zusätzliche Kabel oder Funkverbindungen, beispielsweise eine Infrarot-Verbindung oder eine Bluetooth-Verbindung 120, 121 ist der Rechner 108 mittels der Ausgangsschnittstelle 114 mit einem Lautsprecher 122 sowie einem Aktor 123 gekoppelt.
  • Der Aktor 123 repräsentiert in 1 allgemein jeden möglichen Aktor im Rahmen der Steuerung eines technischen Systems, beispielsweise realisiert in Form eines Hardwareschalters oder in Form eines Computerprogramms für den Fall, dass beispielsweise ein Telekommunikationsgerät oder ein anderes technisches System, beispielsweise ein Autoradio, eine Stereoanlage, ein Videorecorder, ein Fernseher, der Computer selbst oder irgendeine andere technische Anlage gesteuert werden soll.
  • Gemäß dem Ausführungsbeispiel der Erfindung weist die Vorverarbeitungseinheit 104 eine Filterbank mit einer Mehrzahl von Bandpässen auf, welche die Energie des eingegebenen Sprachsignals 103 in einzelnen Frequenzbändern messen. Mittels der Filterbank werden so genannte Kurzzeitspektren gebildet, indem die Ausgangssignale der Bandpässe gleichgerichtet, geglättet und in kurzen Abständen abgetastet werden, gemäß dem Ausführungsbeispiel alle 15 msec. Die so genannten Cepstrum-Koeffizienten von zwei aufeinander folgenden Zeitfenstern sowie deren zeitliche erste Ableitung sowie deren zeitliche zweite Ableitung werden ermittelt und zu jeweils einem Super-Merkmalsvektor zusammengefasst und dem Rechner 108 zugeführt.
  • In dem DSP 115 ist, wie oben beschrieben, in Form eines Computerprogramms eine Spracherkennungseinheit, wobei die Spracherkennung auf dem Prinzip der Hidden Markov Modelle basiert, zur sprecherunabhängigen Spracherkennung realisiert.
  • In einem Basis-Wortschatz, der zu Beginn des Verfahrens in einem elektronischen Wörterbuch 114 gespeichert ist, ist zu jeweils einem Basis-Eintrag ein Hidden Markov Modell gespeichert, das jeweils auf folgende Weise unter Verwendung eines Trainings-Datensatzes, das heißt einer Menge von Trainings-Sprachsignalen, eingesprochen von einem oder mehreren Trainings-Nutzern, ermittelt wird.
  • Das Training der Hidden Markov Modelle erfolgt gemäß diesem Ausführungsbeispiel in drei Phasen:
    • – einer erste Phase, in der die in der Trainings-Datenbank enthaltenen Sprachsignale segmentiert werden, einer zweiten Phase, in der die LDA-Matrix (lineare Diskriminanzanalyse-Matrix) berechnet wird sowie
    • – einer dritten Phase, in der das Codebuch, das heißt die HMM-Prototypen-Merkmalsvektoren für jeweils eine in einem Auswahlschritt ausgewählte Anzahl von Merkmalsvektor-Komponenten berechnet werden.
  • Die Gesamtheit dieser drei Phasen wird im Weiteren als das Training der Hidden Markov Modelle bezeichnet (HMM-Training).
  • Das HMM-Training wird unter Verwendung des DSPs 123 sowie unter Verwendung von vorgegebenen Trainingskripts, anschaulich von geeignet eingerichteten Computerprogrammen, durchgeführt.
  • Gemäß diesem Ausführungsbeispiel wird jede gebildete lautsprachliche Einheit, das heißt jedes Phonem, in drei aufeinander folgende Phonemsegmente aufgeteilt, entsprechend einer Initial-Phase (erstes Phonemsegment), einer zentralen Phase (zweites Phonemsegment) und einer Endphase (drittes Phonemsegment) eines Lauts, das heißt eines Phonems.
  • Anders ausgedrückt wird jeder Laut in einem Lautmodell mit drei Zuständen, das heißt mit einem Drei-Zustands-HMM modelliert.
  • 2 zeigt ein Beispiel eines Hidden Markov Modells 200 gemäß dem Ausführungsbeispiel der Erfindung.
  • Das Hidden Markov Modell 200 weist eine Vielzahl von Zuständen 1, 2, 3, 4, 5 auf. Ferner ist das Hidden Markov Modell 200 charakterisiert durch
    • – eine Emissionswahrscheinlichkeits-Verteilung bj(o), mit der die Wahrscheinlichkeit angegeben wird, dass der Beobachtungsvektor o in dem Zustand j emittiert wird,
    • – Zustandsübergangs-Wahrscheinlichkeiten αij für den Zustandsübergang von dem Zustand i in den Zustand j,
    • – Eine Initialwahrscheinlichkeit πi, mit der die Wahrscheinlichkeit angegeben wird, mit welcher ein Pfad durch das Hidden Markov Modell 200 in dem Zustand i beginnt.
  • Im Folgenden werden ohne Einschränkung der Allgemeingültigkeit die folgenden Randbedingungen angenommen.
  • In einem Links-Rechts-Modell, beschrieben durch das Hidden Markov Modell 200, bei dem nur die Zustandsübergänge einer Selbstschleife, eines Ein-Schritt-Zustandsübergangs und eines Zwei-Schritt-Zustandsübergangs berücksichtigt werden, können die Zustandsübergangs-Wahrscheinlichkeiten αij, die ungleich dem Wert „Null" sind, als Konstanten angesetzt werden.
  • Anders ausgedrückt bedeutet dies, dass in diesem Fall für das beispielhafte Hidden Markov Modell 200 aus 2 gilt: α12 = α23 = α34 = α45 = C0 (1)(für einen Ein-Schritt-Zustandsübergang) bzw. α22 = α33 = α44 = α24 = C1 (2)(für eine Selbstschleife und einen Zwei-Schritt-Zustandsübergang).
  • Alle anderen (in 2 nicht dargestellten) Zustandsübergangs-Wahrscheinlichkeiten αij werden auf den Wert „Null" gesetzt.
  • Es ist in diesem Zusammenhang anzumerken, dass es nicht erforderlich ist, den Zustandsübergangs-Wahrscheinlichkeiten αij einen konstanten Wert zuzuordnen. Es ist in einer alternativen Ausgestaltung der Erfindung beispielsweise vorgesehen, in den Zustandsübergangs-Wahrscheinlichkeiten αij die Phonemlänge zu codieren.
  • Ferner wird gemäß diesem Ausführungsbeispiel definiert: π1 = 1 (3)und πi ≠ 1 = 0, (4)d.h. ein Pfad durch das Hidden Markov Modell 200 kann immer nur in dem ersten Zustand 1 beginnen. Diese Annahme kann immer getroffen werden, wenn in dem mittels des Hidden Markov Modells 200 beschriebenen System eine Anfangsbedingung existiert.
  • Die Emissionswahrscheinlichkeits-Verteilung bj(o) wird gemäß diesem Ausführungsbeispiel mittels kontinuierlicher, mehrdimensionaler Wahrscheinlichkeits-Verteilung, so genannter continuous density mixtures modelliert gemäß folgender Vorschrift:
    Figure 00150001
    wobei mit
    • – cjk ein Wahrscheinlichkeits-Verteilungskoeffizient der k-ten Wahrscheinlichkeits-Verteilung in dem Zustand j,
    • – Mj die Anzahl von in dem Zustand j vorhandener Wahrscheinlichkeits-Verteilungen,
    bezeichnet wird
    und wobei
    Figure 00150002
    wobei mit
    • – μjk ein Mittelwertvektor der k-ten Wahrscheinlichkeits-Verteilung in dem Zustand j,
    • – Σjk eine Kovarianzmatrix der k-ten Wahrscheinlichkeits-Verteilung in dem Zustand j,
    • – n die Dimension des Beobachtungsvektors o,
    bezeichnet wird.
  • Jede Wahrscheinlichkeits-Verteilung entspricht einer mehrdimensionalen Gaußverteilung. Mit einem solchen continuous density mixture model kann jede kontinuierliche Wahrscheinlichkeitsdichtefunktion beliebig genau angenähert werden. Setzt man die Varianzen der Gaußverteilungen auf einen konstanten Wert und sind gleichzeitig die Kovarianzen gleich Null – was der Fall ist, wenn der Beobachtungsvektor o mittels einer im Folgenden noch näher erläuterten Linearen Diskriminanzanalyse (LDA) ermittelt wurde – so sind zur Bestimmung der Emissionswahrscheinlichkeits-Verteilung bj(o) nur noch die Mittelwertvektoren μjk erforderlich.
  • Während der Spracherkennung werden die drei Phonemsegmente in einer Bakis-Topologie oder allgemein einer Links-Rechts-Topologie aneinander gereiht und auf die Konkatenation dieser drei aneinander gereihten Segmente wird die Berechnung im Rahmen der sprecherunabhängigen Spracherkennung durchgeführt.
  • Wie im Weiteren noch näher erläutert wird, wird in dem Spracherkennungsmodus ein Viterbi-Algorithmus zum Dekodieren der Merkmalsvektoren, welche aus dem eingegebenen Sprachsignal 101 gebildet werden, durchgeführt.
  • Nach erfolgter Segmentierung wird die LDA-Matrix A mittels einer LDA-Matrix-Berechnungseinheit ermittelt.
  • Die LDA-Matrix A dient zur Transformation eines jeweiligen Super-Merkmalsvektors y auf einen Merkmalsvektor x gemäß folgender Vorschrift: x = A T · (yȳ), (7)wobei mit
    • x ein Merkmalsvektor,
    • A eine LDA-Matrix,
    • y ein Super-Merkmalsvektor,
    • y ein globaler Verschiebungsvektor
    bezeichnet wird.
  • Die LDA-Matrix A wird derart bestimmt, dass
    • – die Komponenten des Merkmalsvektors x im statistischen Durchschnitt voneinander im Wesentlichen unkorreliert sind,
    • – die statistischen Varianzen innerhalb einer Segmentklasse im statistischen Durchschnitt normalisiert sind,
    • – die Zentren der Segmentklassen im statistischen Durchschnitt einen maximalen Abstand voneinander aufweisen und
    • – die Dimension der Merkmalsvektoren x möglichst, vorzugsweise Spracherkennungsanwendungs-abhängig, reduziert wird.
  • Im Folgenden wird das Verfahren zum Bestimmen der LDA-Matrix A gemäß diesen Ausführungsbeispielen erläutert.
  • Es ist jedoch anzumerken, dass alternativ alle bekannten Verfahren zum Bestimmen einer LDA-Matrix A ohne Einschränkung eingesetzt werden kann.
  • Es wird angenommen, dass J Segmentklassen existieren, wobei jede Segmentklasse j einen Satz Dy-dimensionaler Super-Merkmalsvektoren y enthält, das heißt, dass gilt:
    Figure 00170001
    wobei mit Nj die Anzahl der in der Klasse j sich befindenden Super-Merkmalsvektoren y j bezeichnet wird.
  • Mit
    Figure 00180001
    wird die Gesamtzahl der Super-Merkmalsvektoren y bezeichnet.
  • Es ist anzumerken, dass die Super-Merkmalsvektoren
    Figure 00180002
    unter Verwendung der oben beschriebenen Segmentierung der Sprachsignal-Datenbank ermittelt worden sind.
  • Gemäß diesem Ausführungsbeispiel weist jeder Super-Merkmalsvektor
    Figure 00180003
    eine Dimension Dy von Dy = 78 (= 2 · 3 · 13)auf, wobei 13 MFCC-Koeffizienten (Cepstrums-Koeffizienten) in dem Super-Merkmalsvektor
    Figure 00180004
    enthalten sind, sowie deren jeweilige zeitliche erste Ableitung und deren jeweilige zeitliche zweite Ableitung (dies begründet obigen Faktor 3).
  • Ferner sind in jedem Super-Merkmalsvektor
    Figure 00180005
    jeweils die Komponenten zweier zeitlich unmittelbar aufeinanderfolgender Zeitfenster im Rahmen der Kurzzeitanalyse enthalten (dies begründet obigen Faktor 2).
  • Es ist in diesem Zusammenhang anzumerken, dass grundsätzlich eine beliebige an die jeweilige Anwendung angepasste Zahl von Vektorkomponenten in dem Super-Merkmalsvektor
    Figure 00180006
    enthalten sein kann, beispielsweise bis zu 20 Cepstrums-Koeffizienten und deren zugehörigen zeitlichen erste Ableitungen und zweite Ableitungen.
  • Der statistische Mittelwert oder anders ausgedrückt das Zentrum der Klasse j ergibt sich gemäß folgender Vorschrift:
    Figure 00190001
  • Die Kovarianzmatrix Σ j der Klasse j ergibt sich gemäß folgender Vorschrift:
    Figure 00190002
  • Die Durchschnitts-Intra-Streumatrix Sw ist definiert als:
    Figure 00190003
    wobei p(j) als Gewichtungsfaktor der Klasse j bezeichnet wird.
  • In analoger Weise ist die Durchschnitts-Inter-Streumatrix Sb definiert als:
    Figure 00190004
    als dem Durchschnitts-Super-Merkmalsvektor über alle Klassen.
  • Die LDA-Matrix A wird zerlegt gemäß folgender Vorschrift: A = U · W · V, (16)wobei mit
    • – U eine erste Transformationsmatrix,
    • – W eine zweite Transformationsmatrix und
    • – V eine dritte Transformationsmatrix
    bezeichnet wird.
  • Die erste Transformationsmatrix U wird verwendet, um die Durchschnitts-Intra-Streumatrix S w zu diagonalisieren und wird ermittelt, indem die positiv definite und symmetrische Durchschnitts-Intra-Streumatrix S w in ihren Eigenvektorraum transformiert wird. In ihrem Eigenvektorraum ist die Durchschnitts-Intra-Streumatrix S w eine Diagonal-Matrix, deren Komponenten positiv und größer oder gleich null sind. Die Komponenten, deren Werte größer null sind, entsprechen der Durchschnitts-Varianz in der jeweiligen durch die entsprechende Vektorkomponente definierten Dimension.
  • Die zweite Transformationsmatrix W wird zum Normalisieren der Durchschnitts-Varianzen verwendet und wird ermittelt gemäß folgender Vorschrift:
    Figure 00200001
  • Die Transformation U · W wird auch als Weißung bezeichnet.
  • Mit B = U · W (18) ergibt sich für die Matrix B T · S w · B die Einheitsmatrix, welche bei jeder beliebigen orthonormalen Lineartransformation unverändert bleibt.
  • Um die Durchschnitts-Inter-Streumatrix S b zu diagonalisieren wird die dritte Transformationsmatrix V, die gebildet wird gemäß folgender Vorschrift: v = B T · S b · B, (19)wobei B T · S b · B ebenfalls eine positiv definite und symmetrische Matrix darstellt, in ihren Eigenvektorraum transformiert wird.
  • In dem Transformationsraum x = A T · (yȳ (20)ergeben sich somit folgende Matrizen:
  • Eine diagonalisierte Durchschnitts-Intra-Streumatrix S w:
    Figure 00210001
    und eine diagonalisierte Durchschnitts-Inter-Streumatrix S b:
    Figure 00210002
    wobei mit diag
    Figure 00210003
    eine Dy × Dy Diagonalmatrix mit den Komponenten cd in der Zeile/Spalte d und sonst mit Komponenten mit dem Wert Null, bezeichnet wird.
  • Die Werte σ 2 / d sind die Eigenwerte der Durchschnitts-Inter-Streumatrix S b und stellen ein Maß für die so genannte Pseudoentropie der Merkmalsvektor-Komponenten dar, welche im Folgenden auch als Informationsgehalt der Merkmalsvektor-Komponenten bezeichnet wird. Es ist anzumerken, dass die Spur jeder Matrix invariant ist bezüglich irgendeiner Orthogonaltransformation, womit sich ergibt, dass die Summe
    Figure 00220001
    die Gesamt-Durchschnitts-Varianz des Durchschnitts-Vektors x j der J Klassen darstellt.
  • Es ergibt sich somit eine ermittelte Anhängigkeit der Pseudoentropie der Merkmalsvektoren von den jeweils in dem Merkmalsvektor enthaltenen bzw. berücksichtigten Merkmalsvektor-Komponenten.
  • Gemäß diesem Ausführungsbeispiel wird anschließend eine Dimensionsreduktion vorgenommen, indem die σ 2 / d-Werte in in ihrer Größe abfallender Reihenfolge sortiert werden und die σ 2 / d-Werte weggelassen werden, das heißt unberücksichtigt bleiben, die kleiner sind als ein vorgegebener Schwellwert. Der vorgegebene Schwellwert kann ferner kumulativ definiert sein.
  • Dann kann die LDA-Matrix A angepasst werden, indem die Zeilen entsprechend den Eigenwerten σ 2 / d sortiert werden und die Zeilen weggelassen werden, die zu den ausreichend „kleinen" Varianzen gehören und damit nur einen geringen Informationsgehalt (geringe Pseudoentropie) aufweisen.
  • Gemäß diesem Ausführungsbeispiel werden die Komponenten mit den 24 größten Eigenwerten σ 2 / d verwendet, anders ausgedrückt Dx = 24.
  • Die vier oben beschriebenen Teilschritte zum Ermitteln der LDA-Matrix A sind in folgender Tabelle zusammengefasst:
    Figure 00230001
  • Das letzte Verfahren zum Teil-Verfahren im Rahmen des Trainings der Hidden Markov Modelle ist das Clustern der Merkmalsvektoren, welches mittels einer Clustereinheit durchgeführt wird und welches als Ergebnis ein jeweiliges Codebuch hat, jeweils spezifisch für einen Trainingsdatensatz mit einer vorgegebenen Anzahl von Merkmalsvektor-Komponenten.
  • Die Gesamtheit der Repräsentanten der Segmentklassen wird als Codebuch bezeichnet und die Repräsentanten selbst werden auch als Prototypen der Phonemsegmentklasse bezeichnet.
  • Die Prototypen, im Weiteren auch als Prototyp-Merkmalsvektoren bezeichnet, werden gemäß dem so genannten Baum-Welch-Verfahren ermittelt.
  • Auf die oben beschriebene Weise wurden die Basiseinträge des elektronischen Wörterbuches, das heißt die Basiseinträge zur sprecherunabhängigen Spracherkennung erstellt und gespeichert und die entsprechenden Hidden Markov Modelle trainiert.
  • Somit existiert für jeden Basiseintrag jeweils ein Hidden Markov Modell.
  • Unter Verwendung der Hidden Markov Modelle wird die Spracherkennung durchgeführt, wobei im Rahmen der Spracherkennung Distanzen, d.h. Abstandswerte zwischen den von den Hidden Markov Modellen erzeugten Referenzvektoren und den neu eingegebenen Sprachsignalvektoren, den Merkmalsvektoren, welche aus einem Sprachsignal extrahiert worden sind, auf folgende Weise berechnet werden.
  • 3 zeigt in einem Übersichtsdiagramm 300 die grundlegende Vorgehensweise im Rahmen der Spracherkennung zur Distanzberechnung von Merkmalsvektoren zu Referenzvektoren eines Codebuchs.
  • Gemäß dem ersten Ausführungsbeispiel der Erfindung wird angenommen, dass das Codebuch in n Teil-Codebücher aufgeteilt ist, wobei jedes Teil-Codebuch
    Figure 00240001
    Segmente gleicher Größe aufweist, das heißt, anders ausgedrückt, die gleiche Anzahl von Prototypen. Ein Codebuch mit m Segmenten, anders ausgedrückt mit m Referenzmodellen (m trainierten Hidden Markov Modellen), ist in n Codebuchblöcke aufgeteilt. Auf diese Weise ist der benötigte Speicherplatzbedarf zum Speichern des Codebuchs im Rahmen der Emissionsberechnungen auf
    Figure 00250001
    Segmente reduziert, wobei angenommen wird, dass
    Figure 00250002
    eine Integer-Zahl ist. Es ist jedoch anzumerken, dass
    Figure 00250003
    nicht konstant sein braucht, wie im Folgenden noch näher erläutert wird.
  • Wie oben beschrieben worden ist, wird das Sprachsignal abgetastet und es werden Merkmalsvektoren 301 aus dem Sprachsignal extrahiert.
  • Für jeden Merkmalsvektor 301, der im Folgenden auch als Eingangsvektor bezeichnet wird, wobei angenommen wird, dass n Eingangsvektoren gebildet werden, werden unter Verwendung des Codebuchs m Emissionen der jeweiligen Hidden Markov-Modelle berechnet. Da das Codebuch in n Codebuchblöcke 302 aufgeteilt ist, wobei jeder Codebuchblock 302
    Figure 00250004
    Segmente, das heißt
    Figure 00250005
    Hidden Markov Modelle aufweist, müsen alle n Codebuchblöcke 302 sukzessive geladen werden, damit der Abstand der jeweiligen Eingangsvektoren zu allen von den Hidden Markov Modellen in dem Codebuch erzeugten Referenzvektoren berechnet werden kann. Um die Anzahl der erforderlichen Ladeoperationen zum Laden der Codebuchblöcke bzw. zum erneuten Laden der Codebuchblöcke 302 zu reduzieren, werden n Merkmalsvektoren 301 berechnet und in einem Speicherarray gespeichert. Anschließend wird der jeweilige geladene Codebuchblock 302 verwendet für alle n ermittelten und in dem Speicherarray gespeicherten Merkmalsvektoren 301.
  • Nach erfolgter Berechnung von n·
    Figure 00250006
    = m "Teil"-Emissionen der HMMs des Codebuchblocks 302, wird der nächste Codebuchblock (nicht dargestellt) geladen und die "Teil"-Emissionen des nächsten Codebuchblocks werden berechnet.
  • Um alle Emissionen für alle n Merkmalsvektoren ermitteln zu können, ist es erforderlich, dass alle n Codebuchblöcke 302 nacheinander geladen werden, um somit die Abstände zu allen Referenzvektoren aus allen Codebuchblöcken 302 ermitteln zu können. Das Speicherarray 303 zum Speichern aller Emissionen weist die Dimension m · n auf.
  • 4 zeigt anhand eines Beispiels, bei dem angenommen wird, dass das Codebuch aus fünf Codebuchblöcken (n = 5) mit insgesamt m = 20 Referenzvektoren besteht, ein Zeitdiagramm 400, in dem das Erzeugen der Eingangsvektoren dargestellt ist.
  • Das Verfahren wird zu einem Startzeitpunkt t = 0 401 gestartet. Das zu verarbeitende Sprachsignal wird in Zeitfenster (Frames) mit einer Dauer von beispielsweise 15 msec unterteilt. Nach einer Einschwingphase (Einschwingzeit) 402, deren Dauer der Dauer einiger, Frames entsprechen kann, wird das erste Zeitfenster 403 dem Vorverarbeitungsmodul des Spracherkenners zugeführt.
  • Eine kurze Zeit nach dem Ende des ersten Frames ist die Berechnung des entsprechenden ersten Merkmalsvektors beendet. Der erste Merkmalsvektor F0 des ersten Zeitfensters 403 ist zu einer Zeit T0 verfügbar, ein zweiter Merkmalsvektor F1 eines zweiten Zeitfensters 404 ist zu einer Zeit T1 verfügbar, ein dritter Merkmalsvektor F2 eines dritten Zeitfensters 405 ist zu einem dritten Zeitpunkt T2 verfügbar und ein vierter Merkmalsvektor F3, der einem vierten Zeitfenster 406 zugeordnet ist, ist zu einem vierten Zeitpunkt T3 verfügbar, usw. Der Zeitraum, welcher nach Ablauf des jeweiligen Zeitfensters 403, 404, 405, 406 bis zur Verfügbarkeit des jeweiligen Merkmalsvektors F0, F1, F2, F3 erforderlich ist, wird mit Δt bezeichnet.
  • Während der Einschwingphase 402 wird das gesamte Speicherarray, welches im Rahmen der im Folgenden beschriebenen Emissionsberechnung verwendet wird, mit dem Wert "0" initialisiert.
  • Es ist in diesem Zusammenhang festzuhalten, dass dieser Schritt optional ist, jedoch den Vorteil aufweist, dass bei Initialisierung des Speicherarrays mit dem Wert "0" sichergestellt wird, dass bei den nachfolgenden Multiplikationen kein Überlauf auftritt, der unter Umständen zu einer zeitaufwändigen Fehlerbehandlung führt. Ferner wird in der Einschwingphase 402 der erste Codebuchblock C0 in den Pufferspeicher 501 geladen, wie dies in dem Blockdiagramm 500 in 5 dargestellt ist.
  • Wenn der erste Merkmalsvektor F0 zu dem Zeitpunkt T0 verfügbar ist, wird der erste Merkmalsvektor F0 am Anfang des Merkmalsvektor-Speicherarrays 502 gespeichert. Anschließend wird eine erste Teil-Emission E0 – 0 unter Verwendung der geladenen Hidden Markov Modelle, das heißt der geladenen Repräsentanten des ersten Codebuchblocks C0 berechnet.
  • Zu dem zweiten Zeitpunkt T1, zu dem der zweite Merkmalsvektor F1 verfügbar ist, ist der zweite Codebuchblock C1 des Codebuchs C in dem Codebuchblock-Pufferspeicher 501 geladen, wobei der erste Codebuchblock C0 von dem zweiten Codebuchblock C1 in dem Codebuchblock-Pufferspeicher 501 überschrieben worden ist. Der zweite Merkmalsvektor F1 wird in dem Merkmalsvektor-Speicherarray 502 an dem dem ersten Merkmalsvektor F0 unmittelbar benachbarten Speicherplatz gespeichert.
  • Nunmehr werden von dem Prozessor 110 die Teilemissionen E0 – 1 und E1 – 1 unter Verwendung der Referenzvektoren des zweiten Codebuchblocks C1 und der Merkmalsvektoren F0 und F1 berechnet.
  • In diesem Zusammenhang ist anzumerken, dass für einen gegebenen Merkmalsvektor Fx m Emissionen unter Verwendung aller Codebuchblöcke mit insgesamt m Referenzvektoren gebildet werden. Die Anzahl der gebildeten Emissionen ist gleich der Anzahl von Repräsentanten in dem Codebuch. Eine Teil-Emission, beispielsweise die Emission E2 – 1, berechnet unter Verwendung eines Codebuchblocks, weist
    Figure 00280001
    Werte auf, da der jeweilige Codebuchblock, der zum Berechnen dieser Teil-Emissionen verwendet wird,
    Figure 00280002
    Repräsentanten aufweist. Es werden zur eindeutigen Bezeichnung der Teil-Emissionen zwei Indizes verwendet: Ein erster Index bezeichnet den jeweiligen Merkmalsvektor und der zweite Index bezeichnet jeweils den Codebuchblock mit den jeweiligen Referenzvektoren.
  • 5 zeigt in dem Blockdiagramm 500 den Verlauf der Belegung des Merkmalsvektor-Speicherarrays 502 und des Codebuchblock-Pufferspeichers 501 über die Zeit.
  • Mit dem Wert „0" ist jeweils ein Speicherplatz des Merkmalsvektor-Speicherarrays 502 bezeichnet, der mit dem Wert "0" initialisiert ist.
  • Wie dem Blockdiagramm 500 zu entnehmen ist, ist zu dem fünften Zeitpunkt T4 das Merkmalsvektor-Speicherarray 502 erstmals vollständig mit Merkmalsvektoren, nämlich dem ersten Merkmalsvektor F0, dem zweiten Merkmalsvektor F1, dem dritten Merkmalsvektor F2, dem vierten Merkmalsvektor F3 und dem fünften Merkmalsvektor F4 belegt. Zu dem fünften Zeitpunkt T4 ist der fünfte Codebuchblock C4 in den Codebuchblock-Pufferspeicher 501 geladen.
  • Zu dem sechsten Zeitpunkt T5 ist ein sechster Merkmalsvektor F5 gebildet worden und mittels des sechsten Merkmalsvektors F5 wird der erste Merkmalsvektor F0 in dem Merkmalsvektor-Speicherarray 502 überschrieben. Wie im Folgenden näher erläutert wird, ist zu dem sechsten Zeitpunkt T5 der erste Merkmalsvektor F0 nicht mehr zur Berechnung der Emissionen erforderlich und kann somit ohne weiteres aus dem Merkmalsvektor-Speicherarray 502 entfernt werden.
  • Wie oben beschrieben wurde, zeigt die rechte Spalte des Blockdiagramms 500 symbolisch den Inhalt des Codebuchblock-Pufferspeichers 501 zu den unterschiedlichen Zeitpunkten und damit, welcher Codebuchblock zu einem jeweiligen Zeitpunkt in den Codebuchblock-Pufferspeicher 501 geladen ist und zum Berechnen der Teil-Emissionen eines jeweiligen Hidden Markov-Modells verwendet wird.
  • 5 ist zu entnehmen, dass zu Beginn der Einschwingphase 402 das Merkmalsvektor-Speicherarray 502 vollständig mit den Werten "0" initialisiert ist und der Codebuchblock-Pufferspeicher 501 noch keinen Codebuchblock gespeichert hat und erst am Ende der Einschwingphase 402 den ersten Codebuchblock C0 gespeichert hat.
  • Alle zu einem jeweiligen Zeitpunkt in dem Merkmalsvektor-Speicherarray 502 gespeicherten Merkmalsvektoren werden zum Berechnen der jeweiligen Teil-Emissionen unter Verwendung eines jeweiligen geladenen Codebuchblocks verwendet. Selbst wenn weniger als n (d.h. gemäß diesem Ausführungsbeispiel weniger als fünf) Merkmalsvektoren nach dem Einschwingvorgang 402 verfügbar sind, so werden alle noch mit dem Wert "0" belegten Plätze in dem Merkmalsvektor-Speicherarray 502 verwendet und unter Verwendung dieser "0"-Werte werden Dummy-Werte in einem Emissions-Pufferspeicher 600, wie er in den 6A bis 6F dargestellt ist, gespeichert.
  • Der Puffer 600 ist ein Speicherarray der Dimension m · n. Eine kurze Zeit nach dem ersten Zeitpunkt T0 (T0 + tε) sind alle Teil-Emissionen bzw. die jeweiligen Dummywerte, unter Verwendung des ersten Codebuchblocks C0 berechnet worden und werden in einem ersten Speicherbereich 601 gespeichert (vgl. 6A).
  • Alle Teil-Emissionen, die kurz nach dem zweiten Zeitpunkt T1 (T1 + tε) unter Verwendung des zweiten Codebuchblocks C1 berechnet worden sind, werden in einem zweiten Speicherbereich 602 sukzessive gespeichert, wobei der zweite Speicherbereich sich dem ersten Speicherbereich 601 in dem Emissions-Pufferspeicher 600 anschließt (vgl. 6B).
  • 6C zeigt die kurz nach dem fünften Zeitpunkt T4 (T4 + tε) unter Verwendung des fünften Codebuchblocks C4 ermittelten Teil-Emissionen.
  • Wie oben beschrieben worden ist, sind zu dem fünften Zeitpunkt T4 fünf Merkmalsvektoren verfügbar. Somit ist der fünfte Speicherbereich 605, der n·
    Figure 00300001
    = m Speicherplätze aufweist, ebenso wie alle anderen Speicherbereiche 601, 602, 603, 604, voll belegt.
  • Ferner ist 6C zu entnehmen, dass für den ersten Merkmalsvektor F0 nunmehr alle Teil-Emissionen
    • – E0 – 0 (gespeichert in dem ersten Speicherbereich 601),
    • – E0 – 1 (gespeichert in dem zweiten Speicherbereich 602),
    • – E0 – 2 (gespeichert in dem dritten Speicherbereich 603),
    • – E0 – 3 (gespeichert in dem vierten Speicherbereich 604), und
    • – E0 – 4 (gespeichert in dem fünften Speicherbereich 605) aller Hidden Markov Modelle des gesamten Codebuchs C für den ersten Merkmalsvektor F0 verfügbar sind.
  • Die Teil-Emissionen E0 – 0, E0 – 1, E0 – 2, E0 – 3, E0 – 4 werden anschließend aus dem Emissions-Pufferspeicher 600 ausgelesen und einer Viterbi-Sucheinheit im Rahmen der Spracherkennung zugeführt, in der die Abstandsberechnung gemäß dem an sich bekannten Viterbi-Algorithmus oder einer Variante desselben, durchgeführt wird.
  • Sind alle Teil-Emissionen, welche dem ersten Merkmalsvektor F0 zugeordnet sind, ausgelesen, so können diese in dem Emissions-Pufferspeicher 600 gelöscht werden.
  • Zu dem sechsten Zeitpunkt T5 ist der sechste Merkmalsvektor F5 verfügbar. Zu diesem Zeitpunkt ist, wie oben dargelegt, der erste Codebuchblock C0 erneut in den Codebuchblock-Pufferspeicher 501 geladen und gespeichert. Es werden nun unter Verwendung des ersten Codebuchblocks C0 die Teil-Emissionen E5 – 0 berechnet und in dem ersten Speicherplatz 606 des ersten Speicherbereichs 601 gespeichert, womit die Teil-Emissionen E0 – 0 des ersten Merkmalsvektors F0 überschrieben werden (vgl. 6D). Ferner werden die Teil-Emissionen unter Verwendung des ersten Codebuchblocks C0 zu den zu dem sechsten Zeitpunkt T5 ebenfalls verfügbaren Merkmalsvektoren, nämlich zu dem zweiten Merkmalsvektor F1, dem dritten Merkmalsvektor F2, dem vierten Merkmalsvektor F3 sowie dem fünften Merkmalsvektor F4 berechnet und in den weiteren Speicherplätzen 607, 608, 609, 610 des ersten Speicherbereichs 601 gespeichert.
  • Kurz nach dem siebten Zeitpunkt T6 (T6 + tε), zu dem ein siebter Merkmalsvektor F6 verfügbar ist, ist der zweite Codebuchblock C1 in den Codebuchblock-Pufferspeicher 501 geladen und die Teil-Emissionen, die unter Verwendung des zweiten Codebuchblocks C1 zu den verfügbaren Merkmalsvektoren, nämlich zu dem dritten Merkmalsvektor F2, dem vierten Merkmalsvektor F3, dem fünften Merkmalsvektor F4, dem sechsten Merkmalsvektor F5 und dem siebten Merkmalsvektor F6 berechnet worden sind, werden in die jeweiligen Speicherplätze 611, 612, 613, 614, 615, des zweiten Speicherbereichs 602 gespeichert, wobei die Teil-Emission E6 – 1 des siebten Merkmalsvektors F6 an den Speicherplatz 612 des zweiten Speicherbereichs 602 gespeichert wird und damit die ursprünglich an diesem Speicherplatz 612 gespeicherte Teil-Emission E1 – 1 des zweiten Merkmalsvektor F1, überschrieben wird (vgl. 6E).
  • 6F zeigt die Speicherbelegung des Emissions-Pufferspeichers 600 kurz nach dem zehnten Zeitpunkt T9 (T9 + tε).
  • Dieses Verfahren, welches sich in Zusammenschau der 6A bis 6F und der entsprechenden 5 ergibt, wird für alle Codebuchblöcke und für alle gebildeten Merkmalsvektoren sukzessive durchgeführt.
  • Kurz nach dem zehnten Zeitpunkt T9 sind alle Teil-Emissionen des sechsten Merkmalsvektors F5 verfügbar und die jeweils gebildeten Teil-Emissionen E5 – 0, E5 – 1, E5 – 2, E5 – 3, E5 – 4 können aus dem Emissions-Pufferspeicher 600 ausgelesen und zur Abstandsberechnung im Rahmen der Viterbi-Suche eingesetzt werden.
  • Ab dem elften Zeitpunkt T10 ist die Situation wieder gleich der Situation zu dem sechsten Zeitpunkt T5. Die obige Vorgehensweise ab dem sechsten Zeitpunkt T5 wird wiederholt ausgeführt, lediglich die Indizes werden selbstverständlich angepasst.
  • Unter Verwendung der oben beschriebenen Emissions-Pufferverwaltung ist es nicht mehr erforderlich, einen Doppelpuffer der Größe 2 · m · n zum Speichern aller Teil-Emissionen zu verwenden, damit eine Echtzeitbearbeitung der Eingangsdaten ermöglicht wird. Die Gesamtgröße des benötigten Speichers ist nur m(n+1). Die Größe des Emissions-Pufferspeichers 600, in dem die Teil-Emissionen gespeichert werden, beträgt m · n und die Größe des Speichers, in dem die jeweils aus den Teil-Emissionen zusammengesetzten Gesamt-Emissionen gespeichert werden, beträgt m.
  • Im allgemeinen ist der Quotient
    Figure 00330001
    (d.h. die durchschnittliche Anzahl von Segmenten pro Codebuchblock) keine ganze Zahl.
  • Aus diesem Grund werden gemäß einem alternativen Ausführungsbeispiel der Erfindung die zu verwendenden Codebücher mittels einer zusätzlichen Einheit vorverarbeitet, welche die folgenden Eigenschaften aufweist:
    • – die Anzahl n der Codebuchblöcke, welche verwendet werden, beliebig vorgegeben werden;
    • – zusätzlich kann die maximale Blockgröße (beliebig vorgebbar) angegeben werden; wenn die Blockgröße zu einer Anzahl von Codebuchblöcken führt, die verglichen mit der oben angegebenen Anzahl von Codebuchblöcken, unterschiedlich ist, so wird die Vorverarbeitung mit einer Fehlermeldung beendet;
    • – jeder Codebuchblock enthält eine natürliche Zahl an Segmenten; im Allgemeinen unterscheidet sich die Anzahl von Segmenten pro Codebuchblock zwischen den jeweiligen Codebuchblöcken;
    • – die Anzahl von Prototypen sollte in jedem der Codebuchblöcke ungefähr gleich sein, die Anzahl der Prototypen pro Segment eines gegebenen Codebuchs kann jedoch variieren; und
    • – die Folge der Codebuch-Daten bleibt unverändert.
  • Wie in den 7A und 7B dargestellt ist, werden die mittels des ersten Codebuchblocks CO berechneten Teil-Emissionen immer in dem gleichen Speicherbereich des Emissions-Pufferspeichers 700 gespeichert. Das gleiche gilt entsprechend für die mittels des zweiten Codebuchblocks C1 ermittelten Teil-Emissionen, die mittels des dritten Codebuchblocks C2 ermittelten Teil-Emissionen, usw.
  • Gemäß diesem Ausführungsbeispiel ist es unerheblich, ob der Quotient
    Figure 00330002
    konstant ist oder nicht. In beiden Fällen ist die Gesamtanzahl von Komponenten des Emissions-Pufferspeichers 700 gleich m · n. In dem Fall, in dem der Qukonstant
    Figure 00340001
    nicht konstant ist, sind die tatsächlichen Werte
    Figure 00340002
    für alle Codebuchblöcke in einem eigenen Array gespeichert. Ein weiteres Array speichert die Adressen, an denen die jeweiligen Teil-Emissionen für einen jeweiligen Codebuchblock C0, C1,... beginnen. Unter Verwendung dieser beiden Arrays können die Teil-Emissionen im Emissions-Pufferspeicher 700 sehr einfach lokalisiert werden.
  • Die entsprechenden Werte werden in die Elemente des jeweiligen Arrays beispielsweise bei der ersten Verwendung eines neuen jeweiligen Codebuchblockes geschrieben.
  • 8 zeigt ein Mobilfunk-Telefongerät 800, in dem die in
  • 1 dargestellte Spracherkennungseinrichtung 100 integriert ist. Ferner kann in das Mobilfunk-Telefongerät 800 ein PDA (Personal Digital Assistant) integriert sein sowie weitere Telekommunikations-Funktionen, wie beispielsweise das Senden und/oder Empfangen von Faxmitteilungen oder von SMS-Mitteilungen (Short Message Service-Mitteilungen) oder von MMS-Mitteilungen (Multimedia Message Service-Mitteilungen).
  • Ferner kann das Mobilfunk-Telefongerät 800 um zusätzliche Multimediafunktionalitäten erweitert sein, beispielsweise kann eine Kamera in das Mobilfunk-Telefongerät 800 integriert sein.
  • 9 zeigt ein Autoradio 900, in dem (symbolisch in 9 dargestellt) eine Vielzahl unterschiedlicher Komponenten integriert sind, so beispielsweise ein Navigationssystem 901, ein CD-Spieler 902, ein Kassettenrekorder 903, ein Radio 904, ein Telefongerät mit Freisprechanlage 905 sowie die Spracherkennungseinrichtung 100, wie sie in 1 dargestellt ist. Die Information kann sowohl mittels der Spracherkennungseinrichtung 100 als auch über einen Bildschirm 906 zwischen dem Benutzer und dem Autoradio 900 ausgetauscht werden.
  • Gerade zur Steuerung eines eine Vielzahl von unterschiedlichen Funktionalitäten bereitstellenden Systems, wie eines mit einer Vielzahl unterschiedlicher Funktionen versehenen Autoradios 900 eignet sich die Erfindung sehr gut, da sehr flexibel und sprecherunabhängig eine beliebig komplizierte Sprachdialog-Struktur aufgebaut und realisiert werden kann.
  • 100
    Spracherkennungseinrichtung
    101
    Sprachsignal
    102
    Mikrofon
    103
    Aufgenommenes analoges Sprachsignal
    104
    Vorverarbeitung
    105
    Vorverarbeitetes Sprachsignal
    106
    Analog-/Digital-Wandler
    107
    Digitales Sprachsignal
    108
    Rechner
    109
    Eingangsschnittstelle
    110
    Mikroprozessor
    111
    Speicher
    112
    Ausgangsschnittstelle
    113
    Computerbus
    114
    Elektronisches Wörterbuch
    115
    Digitaler Signalprozessor
    116
    Tastatur
    117
    Computermaus
    118
    Kabel
    119
    Kabel
    120
    Funkverbindung
    121
    Funkverbindung
    122
    Lautsprecher
    123
    Aktor
    300
    Übersichtsdiagramm
    301
    Merkmalsvektor
    302
    Codebuchblock
    303
    Speicherarray
    400
    Zeitdiagramm 1
    401
    Startzeitpunkt
    402
    Einschwingphase
    403
    Erstes Zeitfenster
    404
    Zweites Zeitfenster
    405
    Drittes Zeitfenster
    406
    Viertes Zeitfenster
    F0
    Erster Merkmalsvektor
    F1
    Zweiter Merkmalsvektor
    F2
    Dritter Merkmalsvektor
    F3
    Vierter Merkmalsvektor
    F4
    Fünfter Merkmalsvektor
    Δt
    Zeitraum nach Ablauf eines Zeitfensters bis zur
    Verfügbarkeit eines jeweiligen Merkmalsvektors
    500
    Zeitdiagramm 2
    501
    Codebuchblock-Pufferspeicher
    502
    Merkmalsvektor-Speicherarray
    600
    Emissions-Pufferspeicher
    601
    Erster Speicherbereich
    602
    Zweiter Speicherbereich
    603
    Dritter Speicherbereich
    604
    Vierter Speicherbereich
    605
    Fünfter Speicherbereich
    606
    Erster Speicherplatz erster Speicherbereich
    607
    Zweiter Speicherplatz erster Speicherbereich
    608
    Dritter Speicherplatz erster Speicherbereich
    609
    Vierter Speicherplatz erster Speicherbereich
    610
    Fünfter Speicherplatz erster Speicherbereich
    611
    Erster Speicherplatz zweiter Speicherbereich
    612
    Zweiter Speicherplatz zweiter Speicherbereich
    613
    Dritter Speicherplatz zweiter Speicherbereich
    614
    Vierter Speicherplatz zweiter Speicherbereich
    615
    Fünfter Speicherplatz zweiter Speicherbereich
    700
    Emissions-Pufferspeicher
    800
    Mobilfunktelefon
    900
    Autoradio
    901
    Navigationssystem
    902
    CD-Spieler
    903
    Radio
    904
    Kassettenrekorder
    905
    Telefon
    906
    Bildschirm

Claims (9)

  1. Verfahren zum rechnergestützten Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, welche von n Referenzvektor-Erzeugungs-Gruppen erzeugt werden, wobei n kleiner als m ist und wobei m größer als 3 ist, unter Verwendung von n Abstandswert-Speicherbereichen, a) bei dem eine erste Gruppe der n Referenzvektor-Gruppen geladen wird, b) bei dem zu mindestens einem ersten Eingangsvektor unter Verwendung der ersten Gruppe erste Abstandswerte der ersten Gruppe erzeugt werden, c) bei dem die ersten Abstandswerte der ersten Gruppe in einem ersten Abstandswert-Speicherbereich gespeichert werden, d) bei dem eine zweite Gruppe der n Referenzvektor-Erzeugungs-Gruppen geladen wird, e) bei dem zu mindestens dem ersten Eingangsvektor unter Verwendung der zweiten Gruppe erste Abstandswerte der zweiten Gruppe erzeugt werden, bei dem zu mindestens einem zweiten Eingangsvektor unter Verwendung der zweiten Gruppe zweite Abstandswerte der zweiten Gruppe erzeugt werden, f) bei dem die ersten Abstandswerte der zweiten Gruppe und die zweiten Abstandswerte der zweiten Gruppe in einem zweiten Abstandswert-Speicherbereich gespeichert werden, g) bei dem die Schritte d), e) und f) für n der Eingangsvektoren durchgeführt werden, wobei jeweils eine i-te Gruppe der n Referenzvektor-Gruppen geladen wird, mit i = 3 bis n, und wobei zu den Eingangsvektoren unter Verwendung der i-ten Gruppe Abstandswerte der i-ten Gruppe erzeugt werden, wobei die erzeugten Abstandswerte der i-ten Gruppe in dem i-ten Speicherbereich gespeichert werden, h) bei dem anschließend die ersten Abstandswerte aus den n Speicherbereichen ausgelesen werden, i) bei dem die erste Gruppe der n Referenzvektor-Gruppen erneut geladen wird, j) bei dem zu mindestens einem (n+1)-ten Eingangsvektor unter Verwendung der ersten Gruppe (n+1)-te Abstandswerte der ersten Gruppe erzeugt werden, welche in dem ersten Speicherbereich gespeichert werden.
  2. Verfahren gemäß Anspruch 1, bei dem zumindest ein Teil der n Speicherbereiche
    Figure 00400001
    Speicherplätze aufweist, wobei in jeweils einem Speicherplatz genau ein Abstandswert gespeichert wird.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem die Referenzvektoren von einem oder mehreren Hidden Markov Modellen erzeugt werden.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem ein Eingangsvektor aus einem Sprachsignal gebildet wird.
  5. Verfahren gemäß Anspruch 1 oder 2, eingesetzt in einem der folgenden Bereiche: – Signalverarbeitung, – Mustererkennung, – Sprachverarbeitung, insbesondere der sprecherunabhängigen Spracherkennung oder der Sprechererkennung, – Bildverarbeitung, – Schriftzeichenerkennung, – Prognose des Verhaltens eines technischen Systems, welches mittels des Hidden Markov Modells beschrieben wird, – Beschreibung eines ökologischen Prozesses, – Beschreibung eines ökonomischen Prozesses, – in einer Umgebungssteuerung, beispielsweise im Rahmen von Home Automation, – in einer Gerätesteuerung, insbesondere zur Steuerung eines Telekommunikationsgeräts.
  6. Vorrichtung zum Durchführen des Verfahrens gemäß Anspruch 1.
  7. Vorrichtung gemäß Anspruch 6, eingerichtet als Embedded System.
  8. Computerprogramm-Element, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, die Verfahrensschritte gemäß Anspruch 1 durchzuführen.
  9. Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, die Verfahrensschritte gemäß Anspruch 1 durchzuführen.
DE10305821A 2003-02-12 2003-02-12 Verfahren und Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, Computerprogramm-Element und Computerlesbares Speichermedium Ceased DE10305821A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10305821A DE10305821A1 (de) 2003-02-12 2003-02-12 Verfahren und Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, Computerprogramm-Element und Computerlesbares Speichermedium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10305821A DE10305821A1 (de) 2003-02-12 2003-02-12 Verfahren und Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, Computerprogramm-Element und Computerlesbares Speichermedium

Publications (1)

Publication Number Publication Date
DE10305821A1 true DE10305821A1 (de) 2004-09-02

Family

ID=32797360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10305821A Ceased DE10305821A1 (de) 2003-02-12 2003-02-12 Verfahren und Vorrichtung zum Vergleichen einer Vielzahl von Eingangsvektoren mit m Referenzvektoren, Computerprogramm-Element und Computerlesbares Speichermedium

Country Status (1)

Country Link
DE (1) DE10305821A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812739A (en) * 1994-09-20 1998-09-22 Nec Corporation Speech recognition system and speech recognition method with reduced response time for recognition
DE19738846C1 (de) * 1997-09-05 1998-10-22 Philips Patentverwaltung Verfahren und Anordnung zur Berechnung von Abständen in hochdimensionalen Vektorräumen
DE19939101A1 (de) * 1999-08-18 2001-03-01 Siemens Ag Verfahren, Anordnung und Computerprogrammerzeugnis zur Berechnung von Abständen zwischen einem Merkmalsvektor und mehreren Vergleichsvektoren
DE69620304T2 (de) * 1995-06-22 2002-11-07 Sharp K.K., Osaka Vorrichtung und Verfahren zur Spracherkennung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812739A (en) * 1994-09-20 1998-09-22 Nec Corporation Speech recognition system and speech recognition method with reduced response time for recognition
DE69620304T2 (de) * 1995-06-22 2002-11-07 Sharp K.K., Osaka Vorrichtung und Verfahren zur Spracherkennung
DE19738846C1 (de) * 1997-09-05 1998-10-22 Philips Patentverwaltung Verfahren und Anordnung zur Berechnung von Abständen in hochdimensionalen Vektorräumen
DE19939101A1 (de) * 1999-08-18 2001-03-01 Siemens Ag Verfahren, Anordnung und Computerprogrammerzeugnis zur Berechnung von Abständen zwischen einem Merkmalsvektor und mehreren Vergleichsvektoren

Similar Documents

Publication Publication Date Title
DE2953262C2 (de)
DE69524994T2 (de) Verfahren und Vorrichtung zur Signalerkennung unter Kompensation von Fehlzusammensetzungen
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE69726526T2 (de) Schema und Modelladaption bei Mustererkennung welche auf Taylorausdehnung basiert
DE69226594T2 (de) Spracherkennungseinrichtung mit Sprachkodierer, der Rangstufen von akustischen Prototypen ausgibt.
DE69127961T2 (de) Verfahren zur Spracherkennung
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
EP1649450A1 (de) Verfahren zur spracherkennung und kommunikationsger t
DE20004416U1 (de) Spracherkennungsvorrichtung unter Verwendung mehrerer Merkmalsströme
DE69224253T2 (de) Sprachkodiergerät
DE10054583C2 (de) Verfahren und Vorrichtung zum Aufzeichnen, Suchen und Wiedergeben von Notizen
EP0797185A2 (de) Verfahren und Vorrichtung zur Spracherkennung
EP1193688A2 (de) Verfahren zur Ermittlung eines Eigenraums zur Darstellung einer Mehrzahl von Trainingssprechern
DE60133537T2 (de) Automatisches umtrainieren eines spracherkennungssystems
DE69517571T2 (de) Verfahren zur Erkennung von Mustern
DE69613293T2 (de) Vorrichtung zur Musteranpassung für Sprach- oder Mustererkennung
DE112010005425T5 (de) Spracherkennungsvorrichtung
EP0987682B1 (de) Verfahren zur Adaption von linguistischen Sprachmodellen
EP0285222B1 (de) Verfahren zum Erkennen zusammenhängend gesprochener Wörter
EP1193689A2 (de) Verfahren zur Ermittlung eines Eigenraums zur Darstellung einer Mehrzahl von Trainingssprechern
EP1282897A1 (de) Verfahren zum erzeugen einer sprachdatenbank für einen zielwortschatz zum trainieren eines spracherkennungssystems
EP1435087B1 (de) Verfahren zur erzeugung von sprachbausteine beschreibenden referenzsegmenten und verfahren zur modellierung von spracheinheiten eines gesprochenen testmusters
EP0813734B1 (de) Verfahren zur erkennung mindestens eines definierten, durch hidden-markov-modelle modellierten musters in einem zeitvarianten messignal, welches von mindestens einem störsignal überlagert wird
DE102004017486A1 (de) Verfahren zur Geräuschreduktion bei einem Sprach-Eingangssignal

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection