[go: up one dir, main page]

DE10329618B4 - Vorrichtung und Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal - Google Patents

Vorrichtung und Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal Download PDF

Info

Publication number
DE10329618B4
DE10329618B4 DE10329618A DE10329618A DE10329618B4 DE 10329618 B4 DE10329618 B4 DE 10329618B4 DE 10329618 A DE10329618 A DE 10329618A DE 10329618 A DE10329618 A DE 10329618A DE 10329618 B4 DE10329618 B4 DE 10329618B4
Authority
DE
Germany
Prior art keywords
value
operation unit
output signal
speech signal
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10329618A
Other languages
English (en)
Other versions
DE10329618A1 (de
Inventor
Byung-ho Suwon Min
Tae-su Suwon Kim
Hyun-Woo Suwon Park
Ho-rang Bucheon Jang
Keun-cheol Suwon Hong
Sung-jae Suwon Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR10-2002-0037052A external-priority patent/KR100464420B1/ko
Priority claimed from KR10-2003-0012810A external-priority patent/KR100486307B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10329618A1 publication Critical patent/DE10329618A1/de
Application granted granted Critical
Publication of DE10329618B4 publication Critical patent/DE10329618B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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]
    • G10L15/144Training of HMMs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Machine Translation (AREA)

Abstract

Vorrichtung zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal,
gekennzeichnet durch
– eine erste Operationseinheit (1210) zum Subtrahieren eines Mittelwerts von aus repräsentativen Phonemen extrahierten Parametern von einem aus dem Eingabesprachsignal extrahierten Parameter und zum Multiplizieren des Subtraktionsresultates mit einem Verteilungsgrad (Dispersion) des Mittelwertes, um ein erstes Ausgangssignal zu erhalten, wobei der Verteilungsgrad Präzision genannt wird,
– eine zweite Operationseinheit (1220) zum Quadrieren des ersten Ausgangssignals der ersten Operationseinheit und zum Akkumulieren einer vorgebbaren Anzahl N von solchermaßen erhaltenen Quadraturresultaten, um ein zweites Ausgangssignal zu erhalten,
– eine dritte Operationseinheit (1230) zum Subtrahieren eines vorgegebenen Gewichtswertes vom zweiten Ausgangssignal der zweiten Operationseinheit, um ein drittes Ausgangssignal zu erhalten, und
– einen Komparator (1240) zum Speichern des dritten Ausgangssignals der dritten Operationseinheit, zum Extrahieren einer vorgebbaren Anzahl L von Ausgangssignalen der dritten Operationseinheit und zum Speichern der extrahierten L Ausgangssignale der Größe nach, wobei ein Maximalwert hiervon einen Eingabesprachsignalparameter-Beobachtungswahrscheinlichkeitswert...

Description

  • Die Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal und auf ein zugehöriges Sprachsignalerkennungsverfahren und eine zugehörige Spracherkennungsvorrichtung.
  • Das Gebiet von Spracherkennungsanwendungen erstreckt sich auf die meisten elektronischen Produkte, die heutzutage im täglichen Leben benutzt werden. Als eine effiziente Technik der Nutzung von Spracherkennung hat sich ein verdecktes Markow-Modell erwiesen, bei dem ein verdeckter Markow-Modellalgorithmus zur Spracherkennung angewandt wird, wie in der Patentschrift US 5.636.291 beschrieben. Speziell wird dort ein Zeichenerkennungssystem unter Anwenden eines verdeckten Markow-Modellalgorithmus offenbart, wobei der verdeckte Markow-Modellalgorithmus in ein Programm organisiert wird, das durch einen Prozessor für allgemeine Zwecke implementiert wird.
  • Das in dieser Patentschrift offenbarte Spracherkennungssystem beinhaltet im Wesentlichen drei Teile, nämlich einen Vorprozessor, einen Frontendteil und einen Modellierungsteil. Im Vorprozessor werden die Lexeme aller interessierenden Zeichen identifiziert. Im Frontendteil werden aus den erkannten Lexemen vergleichende Merkmalswerte oder Parameter extrahiert. Im Modellierungsteil wird eine Trainingsphase ausgeführt, um ein Modell zu generieren. Das Modell wird als Standard zur genauen Ermittlung des erkannten Zeichens basierend auf den extrahierten Merkmalswerten oder Parametern benutzt. Außerdem stellt der Modellierungsteil basierend auf den erkannten Lexemen fest, welches unter vorab zugewiesenen Zeichen als ein erkanntes Zeichen ausgewählt werden soll.
  • In der Patentschrift US 5.799.278 sind ein weiteres System und ein Verfahren zur Spracherkennung unter Verwendung eines häufig genutzten, verdeckten Markow-Modellalgorithmus offenbart. Bei diesem System und Verfahren zur Spracherkennung werden isolierte gesprochene Worte unter Verwendung eines verdeckten Markow-Modellalgorithmus erkannt. Dieses System und dieses Verfahren werden dafür trainiert, phonetisch unähnliche Worte zu erkennen, und sind zur Erkennung einer beträchtlichen Anzahl von Worten geeignet.
  • Die oben erläuterten, herkömmlichen Spracherkennungssysteme benötigen eine beträchtliche Verarbeitungszeit, um die zur Spracherkennung nötigen Berechnungen auszuführen. Eine in diesen Systemen benutzte Beobachtungswahrscheinlichkeitsberechnung nimmt etwa 62% aller Berechnungen ein, die von einer Spracherkennungsvorrichtung unter Verwendung eines verdeckten Markow-Modellalgorithmus benötigt werden.
  • Der Erfindung liegt als technisches Problem die Bereitstellung einer Vorrichtung und eines Verfahrens zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal sowie eines zugehörigen Sprachsignalerkennungsverfahrens und einer zugehörigen Spracherkennungsvorrichtung zugrunde, mit denen sich eine Beobachtungswahrscheinlichkeit zur Spracherkennung vergleichsweise effektiv bestimmen lässt und die eine effektive Spracherkennung ermöglichen.
  • Die Erfindung löst dieses Problem durch die Bereitstellung einer Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung mit den Merkmalen des Anspruchs 1, eines Beobachtungswahrscheinlichkeitsbestimmungsverfahrens mit den Merkmalen des Anspruchs 11, eines Sprachsignalerkennungsverfahrens mit den Merkmalen des Anspruchs 14 und einer Spracherkennungsvorrichtung mit den Merkmalen des Anspruchs 15.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
  • 1 ein Blockdiagramm eines allgemeinen Aufbaus eines Spracherkennungssystems,
  • 2 ein Diagramm zur Veranschaulichung eines Verfahrens zur Gewinnung von Zustandssequenzen für ein Phonem,
  • 3 eine Darstellung zur Veranschaulichung eines Worterkennungsprozesses,
  • 4 eine tabellarische Darstellung der Anzahl von Bestimmungsschritten, die erfindungsgemäß zur Durchführung einer Spracherkennung benötigt werden,
  • 5 ein Blockdiagramm einer Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung,
  • 6 eine Darstellung zur Veranschaulichung der Auswahl einer Bitauflösung,
  • 7 ein Blockdiagramm einer Spracherkennungsvorrichtung,
  • 8 ein Blockdiagramm zur Veranschaulichung eines Prozesses zum Empfangen eines Steuerbefehls und von Daten in der Spracherkennungsvorrichtung von 7,
  • 9 ein Zeitablaufdiagramm zur Veranschaulichung eines Prozesses zum Empfangen eines Steuerbefehls und von Daten in der Spracherkennungsvorrichtung von 7,
  • 10 eine Tabelle der Anzahl von Bestimmungsschritten für jede der bei einem verdeckten Markow-Modellalgorithmus notwendigen Funktionen,
  • 11 eine Darstellung eines Algorithmus eines Ausdrucks in einer Beziehungsgleichung zur Beobachtungswahrscheinlichkeitsbestimmung und
  • 12 ein Blockdiagramm einer Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung.
  • Beispielhafte Ausführungsformen der Erfindung, wie sie in den Zeichnungen dargestellt sind und nachfolgend beschrieben werden, betreffen eine Vorrichtung und ein Verfahren zur Bestimmung einer Beobachtungswahrscheinlichkeit zum Zwecke der Spracherkennung. Dabei wird ein verdeckter Markow-Modellalgorithmus benutzt, um die Beobach tungswahrscheinlichkeitsbestimmung effektiv auszuführen. Die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung ist in der Lage, die Spracherkennungsgeschwindigkeit zu verbessern, wobei sie die Anzahl an Instruktionen verglichen mit denen beim Stand der Technik um etwa 50% oder mehr zu reduzieren vermag. Dadurch können Operationen eventuell mit niedrigerer Taktgeschwindigkeit als beim Stand der Technik verarbeitet werden, und der Leistungsverbrauch kann gegenüber dem Stand der Technik um z.B. die Hälfte reduziert werden.
  • Die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung der Erfindung kann speziell dafür bestimmte Hardware zur Ausführung der Beobachtungswahrscheinlichkeitsbestimmung umfassen. Die Beobachtungswahrscheinlichkeitsbestimmung nimmt typischerweise den größten Teil des verdeckten Markow-Modellalgorithmus ein. Daher kann im Bemühen zur Reduktion des Leistungsverbrauchs die Verarbeitungsgeschwindigkeit einer Spracherkennungsvorrichtung gesteigert werden, welche die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung der Erfindung beinhaltet.
  • 1 zeigt im Blockdiagramm allgemein ein Spracherkennungssystem 100, bei dem ein Analog/Digital-Wandler (ADC) 101 ein sequentielles (analoges) Sprachsignal in ein digitales Sprachsignal wandelt. Eine Vorabschätzeinheit 102 schätzt eine Hochfrequenzkomponente des digitalen Sprachsignals ab, um klar unterschiedliche Aussprachen bzw. Betonungen zu ermitteln. Das digitale Sprachsignal wird in Einheiten einer gegebenen Anzahl von Abtastungen unterteilt und abgetastet. Es kann z.B. in Einheiten von 240 Abtastungen entsprechend einer Dauer von 30ms unterteilt werden.
  • Da üblicherweise das Cepstrum, welches einen in verdeckten Markow-Modellalgorithmen verwendeten Parameter darstellt, und die von einem Frequenzspektrum erzeugte Energie als Merkmalsvektoren in einem verdeckten Markow-Modell verwendet werden, werden das Cepstrum und die Energie durch eine Energieberechnungseinheit 103 ermittelt. Um die Energie zu erhalten, bestimmt die Energieberechnungseinheit 103 die instantane Energie für eine Zeitdauer von 30ms unter Verwendung einer Energiebestimmungsbeziehung im Zeitbereich. Hierzu ist z.B. die folgende Gleichung (1) zur Bestimmung der Energie Y(1) verwendbar:
    Figure 00060001
  • In der obigen Gleichung (1) bezeichnet der Index „i" die Anzahl an Blöcken (hier speziell 30 Blöcke zur Bestimmung gemäß Gleichung (1), „X" repräsentiert digitalisierte Sprachdaten, „j" ist ein Index von Daten für einen Block, „W_SIZE" bedeutet, dass jeder Block aus 240 Datenwerten besteht, und „W_RATE" bezeichnet die Zahl sich überlappender Daten. Ein durch die Gleichung (1) berechneter Energiewert kann für die Bestimmung verwendet werden, ob ein momentanes Eingangssignal ein Sprachsignal oder Rauschen ist. Um ein Spektrum im Frequenzbereich zu bestimmen, kann eine schnelle Fouriertransformation (FFT) verwendet werden. Beispielsweise kann das Spektrum im Frequenzbereich unter Verwendung einer komplexen FFT-Operation mit 256 Punkten bestimmt werden, die sich durch folgende Gleichung (2) ausdrücken lässt:
    Figure 00060002
  • In der obigen Gleichung (2) bezeichnet X(k) das Resultat einer schnellen Fouriertransformation (FFT) am Punkt k, wobei „k" einen Wert zwischen 0 und 255 annehmen kann. Die Ausdrücke x(n) und y(n) sind reelle Zahlen, die in dem FFT benutzt werden. Wenn das Energiebestimmungsergebnis anzeigt, dass das momentane Eingangssignal ein Sprachsignal ist, wird der Anfang und das Ende des eingegebenen Sprachsignals in einer Endpunktermittlungseinheit 104 festgestellt. Auf diese Weise werden, wenn ein effektives Wort festgestellt wird, welches durch den Anfang und das Ende des Eingangssprachsignals definiert ist, nur Spektrumdaten, die zu dem festgestellten effektiven Wort gehören, in einem Puffer 105 gespeichert. Mit anderen Worten speichert der Puffer 105 nur ein effektives Sprachsignal, welches durch Entfernen von Rauschen aus einem von einem Sprecher gesprochenen Wort erhalten wird.
  • Ein Mel-Filter 106 führt eine Mel-Filterung aus, die einen Vorverarbeitungsschritt zum Erhalten eines Cepstrums aus einem Spektrum durch Filtern des Spektrums in Bandbreiteneinheiten von 32 Bändern darstellt. Somit kann ein Spektrum für 32 Bänder unter Verwendung einer Mel-Filterung bestimmt werden. Durch Transformieren des berechneten Spektrums im Frequenzbereich in den Zeitbereich kann das Cepstrum erhalten werden, welches einen Parameter darstellt, der in verdeckten Markow-Modellen benutzt wird. Die Transformation vom Frequenzbereich in den Zeitbereich kann unter Verwendung einer inversen diskreten Cosinustransformation (IDCT) in einer entsprechenden IDCT-Einheit 107 ausgeführt werden.
  • Da es eventuell einen deutlichen Unterschied, z.B. etwa 102, zwischen dem erhaltenen Cepstrum und Energiewerten gibt, d.h. Werten, die in einer Suche benutzt werden, welche ein verdecktes Markow-Modell anwendet, bedürfen die erhaltenen Cepstrum- und Energiewerte eventuell einer Anpassung. Diese Anpassung kann unter Verwendung einer loga rithmischen Funktion in einer Skalierungseinheit 108 durchgeführt werden.
  • Eine Cepstralfenstereinheit 109 separiert Periodizität und Energie vom Mel-Cepstrumwert und verbessert Rauscheigenschaften unter Verwendung der nachstehenden Gleichung (3) zur Bestimmung eines neuen Cepstrum-Wertes Y[i][j]: Y[i][j] = Sin_TABLE[j]·X([i][j+1]) wobei 0 ≤ i < NoFrames, 0 ≤ j ≤ 7 (3)
  • Dabei bezeichnet die Variable NoFrames die Anzahl an Blöcken. Die Variable Sin_TABLE kann unter Verwendung der folgenden Gleichung (4) erhalten werden:
    Figure 00080001
  • In den obigen Gleichungen (3) und (4) bezeichnen „i" die Anzahl an Blöcken und „j" die Cepstrum-Zahl. Eine Normierungseinheit 110 normiert Energiewerte, die in jedem Block enthalten sind, z.B. an der neunten Stelle in jedem Block, in Werte, die innerhalb eines gegebenen Bereichs existieren. Um die Normierung zu erzielen, kann anfänglich der maximale Energiewert z.B. aus dem neunten Datenwert jedes Blocks unter Verwendung der folgenden Gleichung (5) gesucht werden:
    Figure 00080002
  • Anschließend kann die normierte Energie („NECepstrum") durch Subtrahieren des maximalen Energiewerts vom neunten Energiedatenwert aller Blöcke erhalten werden, entsprechend der nachstehenden Gleichung (6): NECepstrum[i][8] = (WindCepstum[i][8] – MaxEnergy)·WEIGHT_FACTOR wobei 0 ≤ i ≤ NorRam (6)
  • In den obigen Gleichungen (5) und (6) bezeichnet „i" die Anzahl an Blöcken, „NoFrames" die maximale Anzahl an Blöcken, „WindCepstrum" einen unter Verwendung von Sin_Table erhaltenen Wert und „WEIGHT_FACTOR" einen gewichteten Wert. Eine Erkennungsrate für ein Sprachsignal wird allgemein durch Erhöhen des Typs von Parametern, d.h. Merkmalswerten, angehoben. Um dies zu erreichen, kann der Merkmalswert jedes Blocks als ein erster Typ von Merkmal betrachtet werden, und die Differenz zwischen den Merkmalswerten von Blöcken kann als ein zweiter Typ eines Merkmals betrachtet werden, auch als „Delta-Cepstrum" bezeichnet.
  • Eine dynamische Merkmalseinheit 111 bestimmt Delta-Cepstrum Rcep(i) oder die Differenz zwischen Merkmalswerten als einen zweiten Merkmalswert unter Verwendung der folgenden Gleichung (7):
    Figure 00090001
  • In der obigen Gleichung (7) bezeichnen „i" die Anzahl an Blöcken, „j" die Cepstrum-Zahl, F(i) eine Abkürzung für einen Merkmalswert und Scep die normierte Energie NECepstrum. Jede Operation wird allgemein bei zwei benachbarten Blöcken ausgeführt. Eine Anzahl von Delta-Cepstrums gleich der Anzahl ermittelter Cepstrums wird unter Verwendung der obigen Gleichung (7) ermittelt. Somit können Merkmalswerte, die vergleichend in einer Wortsuche benutzt werden sollen, die von einem verdeckten Markow-Modell ausgeführt wird, extrahiert werden.
  • Basierend auf den extrahierten Merkmalswerten wird eine Wortsuche unter Verwendung eines gegebenen, verdeckten Markow-Modells ausgeführt. Ein erster Schritt wird in einem Beobachtungswahrscheinlichkeitsrechner 112 durchgeführt. Die Wortsuche und Wortbestimmung basieren auf Wahrscheinlichkeiten, d.h. es werden Silben mit den höchsten Wahrscheinlichkeitswerten gesucht und festgestellt.
  • Die möglichen Wahrscheinlichkeitstypen umfassen z.B. eine Beobachtungswahrscheinlichkeit und eine Übergangswahrscheinlichkeit. Diese Wahrscheinlichkeiten können akkumuliert werden, und eine Sequenz von Silben mit den höchsten Wahrscheinlichkeiten kann als erkanntes Sprachsignal ausgewählt werden. Die Beobachtungswahrscheinlichkeit o_prob[m] kann unter Verwendung der folgenden Gleichung (8) erhalten werden:
    Figure 00100001
  • In der obigen Gleichung (8) bezeichnen „dbx" einen Wahrscheinlichkeitsabstand zwischen einem Referenzmittelwert (Mean) und einem Merkmalswert (Feature), der aus einem Eingangssprachsignal extrahiert wird. Mit geringer werdender Wahrscheinlichkeitsdistanz erhöht sich die Beobachtungswahrscheinlichkeit. Als Merkmal wird ein Parameter bezeichnet, der aus dem Eingangssprachsignal extrahiert wird. Die Variable „Mean" repräsentiert den Mittelwert einer Mehrzahl von Parametern, die aus repräsentativen Phonemen des Eingangssprachsignals extrahiert werden, und die Variable „var" repräsentiert die Hälfte eines Verteilungsgrades, der auch als Präzision bezeichnet wird, wobei die Präzision einen Verteilungsgrad im Sinne eines Dispersionswertes 1/σ2 darstellt. Die Variable „Gconst" bezeichnet einen gewichteten Wert, wäh rend „i" eine Mischung repräsentativer Typen von Phonemen repräsentiert.
  • Repräsentative Phonemwerte vieler Menschen erhöhen die Genauigkeit der Spracherkennung und werden in verschiedene Gruppen mit jeweils gleichartigen Phonemtypen klassifiziert. Der Parameter „i" bezeichnet einen Faktor, der einen repräsentativen Wert für jede Gruppe darstellt, während der Index „j" die Anzahl von Parametern bezeichnet. Die Anzahl an Blöcken kann abhängig vom Worttyp variieren, und die Mischung, d.h. der Parameter „i", kann in Abhängigkeit vom Stil der Betonung eines Wortes durch die betreffenden Menschen in eine Mehrzahl von Gruppen klassifiziert werden.
  • Die berechneten Beobachtungswahrscheinlichkeiten zeigen an, dass die Phoneme eines vorab ausgewählten Wortes beobachtet werden können. Die Phoneme haben jeweils unterschiedliche Beobachtungswahrscheinlichkeitswerte. Nach Bestimmung eines Beobachtungswahrscheinlichkeitswertes für jedes Phonem können die ermittelten Beobachtungswahrscheinlichkeitswerte durch eine Zustandsmaschine 113 verarbeitet werden, um eine Sequenz der geeignetsten Phoneme zu erhalten. In einem verdeckten Markow-Modell, das zur Erkennung eines unabhängigen Wortes verwendet wird, kann die Zustandsmaschine 113 als eine Sequenz von Merkmalswerten jedes der Phoneme eines gesprochenen Wortes verstanden werden, das erkannt werden soll.
  • 2 veranschaulicht ein Verfahren, mit dem eine Zustandssequenz eines exemplarischen Phonems „k" erhalten wird. Wenn gemäß 2 beispielsweise das Phonem „k" aus drei sequentiellen Zuständen S1, S2 und S3 besteht, startet ein Zustand von einem Anfangszustand S0, passiert die Zustände S1 und S2 und erreicht den Zustand S3. In 2 repräsentiert eine Bewegung nach rechts auf dem gleichen Zustandsniveau eine Verzögerung. Die Verzögerung kann vom jeweiligen Sprecher ab hängen. Mit anderen Worten kann das Phonem „k" für eine relativ kurze Zeitspanne oder eine relativ lange Zeitspanne gesprochen werden. Mit zunehmender Sprechlänge eines Phonems erhöht sich die Verzögerung auf jedem Zustandsniveau. Dementsprechend kann das Phonem „k" in einer Mehrzahl von Zustandssequenzen repräsentiert werden, wie in 2 gezeigt, und die Wahrscheinlichkeitsberechnung kann für jedes Phonem eines Eingabesprachsignals für jede der Zustandssequenzen durchgeführt werden.
  • Nach Abschluss der Wahrscheinlichkeitsberechnungen für die individuellen Zustandssequenzen jedes Phonems werden die berechneten Wahrscheinlichkeitswerte für jedes Phonem in der Zustandsmaschine 113 gespeichert. Das Zustandsniveau kann dadurch fortschreiten, dass ein sogenannter „Alpha"-Wert oder die Wahrscheinlichkeit für jeden Zustand bei Auswahl des größten Zweiges oder die höchste Wahrscheinlichkeit ermittelt wird. In 2 bezeichnet der Ausdruck „Sil" einen Zustand ohne Ton, d.h. einen Stummton.
  • Ein Alpha-Wert kann unter Verwendung eines vorhergehenden Beobachtungswahrscheinlichkeitswertes, der eine Akkumulation von Beobachtungswahrscheinlichkeitswerten darstellt, und eines durch Vorabexperimente gemäß der nachstehenden Gleichung (9) erhaltenen Interphonem-Übergangswahrscheinlichkeitswertes ermittelt werden:
    Figure 00120001
  • In der obigen Gleichung (9) bezeichnen „State.Alpha" einen neu berechneten Wahrscheinlichkeitswert, der zu einem vorhergehenden Wahrscheinlichkeitswert akkumuliert wird, „State.Alpha_prev" einen vorher gehenden Wahrscheinlichkeitswert, der sich aus einer Akkumulation vorhergehender Wahrscheinlichkeitswerte ergibt, „State.trans_prob[0]" die Wahrscheinlichkeit, dass ein Zustand Sn in einen Zustand Sn übergeht, d.h. S0 → S0, „State.trans_prob[1]" die Wahrscheinlichkeit, dass ein Zustand Sn in einen Zustand Sn+1 übergeht, d.h. S0 → S1, und „State.o_prob" eine in einem momentanen Zustand berechnete Beobachtungswahrscheinlichkeit.
  • Eine Maximumwahrscheinlichkeits-Ermittlungseinheit 114 von 1 wählt ein erkanntes Wort auf der Basis von endgültig akkumulierten Wahrscheinlichkeitswerten individueller Phoneme aus, die gemäß Gleichung (9) berechnet wurden. Ein Wort mit der höchsten Wahrscheinlichkeit wird als das erkannte Wort ausgewählt.
  • Nachfolgend wird ein Prozess zur Erkennung eines gesprochenen Wortes „KBS" erläutert, um zu veranschaulichen, wie ein Wort mit der höchsten Wahrscheinlichkeit als das erkannte Wort ausgewählt wird. Das gesprochene Wort „KBS" bestehe aus drei Silben „këj", „bï" und „es". Die Silbe „këj" besteht aus drei Phonemen „k", „ë" und „j", die Silbe „bi" besteht aus zwei Phonemen „b" und „i" und die Silbe „es" aus zwei Phonemen „e" und „s".
  • Das gesprochene Wort „KBS" besteht somit aus sieben Phonemen „k", „ë", „j", „b", „i", „e" und „s" und wird basierend auf Beobachtungswahrscheinlichkeitswerten für jedes der sieben Phoneme sowie auf Interphonem-Übergangswahrscheinlichkeitswerten erkannt. Dazu müssen die sieben Phoneme so korrekt wie möglich erkannt werden, und eine Sequenz korrekt erkannter Phoneme muss als das zum Wort „KBS" ähnlichste Wort ausgewählt werden.
  • Anfänglich werden für jedes der Phoneme eines Eingabesprachsignals, wie des Wortes „KBS", Beobachtungswahrscheinlichkeiten bestimmt.
  • Dazu wird als Wahrscheinlichkeit ein Ähnlichkeitsgrad zwischen dem jeweiligen Phonem des Eingabesprachsignals und jedem von in einer Datenbank gespeicherten, repräsentativen Phonemen berechnet, und die höchste Wahrscheinlichkeit eines repräsentativen Phonems wird als Beobachtungswahrscheinlichkeit für das jeweilige Phonem bestimmt. So wird beispielsweise das Phonem „k" mit jedem der in der Datenbank gespeicherten, repräsentativen Phonemen verglichen, und ein repräsentatives Phonem „k" mit der höchsten Wahrscheinlichkeit wird ausgewählt.
  • Nach den Beobachtungswahrscheinlichkeitsberechnungen wird das Eingabesprachsignal einer Zustandsmaschine zugeführt, die aus den ermittelten repräsentativen Phonemen besteht, wodurch die geeignetste Sequenz von Phonemen bestimmt wird.
  • Die Zustandsmaschine besteht z.B. aus den sieben Phonemen „k", „ë", „j", „b", „i", „e" und „s". Das Wort „KBS" wird basierend auf denjenigen Phonemen ausgewählt, welche die höchste Beobachtungswahrscheinlichkeit haben, wobei eine Akkumulation der Beobachtungswahrscheinlichkeiten gemäß einem Maximumkriterium ausgewählt wird. Jedes der sieben Phoneme kann aus drei Zuständen bestehen.
  • 3 veranschaulicht einen zugehörigen Worterkennungsprozess. Um das Wort „KBS" zu erkennen, berechnet der Beobachtungswahrscheinlichkeitsrechner 112 eine Beobachtungswahrscheinlichkeit für jedes der sieben Phoneme „k", „ë", „j", „b", „i", „e" und „s", und die Zustandsmaschine 113 wählt ein Wort „KBS" mit der höchsten Beobachtungswahrscheinlichkeit für jedes Phonem und der höchsten Akkumulation von Beobachtungswahrscheinlichkeiten aus.
  • In vielen existierenden Spracherkennungsprodukten sind die oben erwähnten Operationen allgemein als Software, z.B. in der Sprache C/C++, oder als Maschinencode realisiert, der in einem Prozessor für allgemeine Zwecke implementiert ist. Alternativ können die obigen Operationen durch speziell zugeschnittene Hardware ausgeführt werden, z.B. durch einen anwenderspezifischen integrierten Schaltkreis (ASIC). Eine Software-Implementierung benötigt eventuell mehr Berechnungszeit als eine Hardware-Implementierung, sie ist jedoch meist flexibler und erlaubt leichter eine Änderung von Operationen. Ein ASIC kann die Verarbeitungsgeschwindigkeit erhöhen und benötigt meist weniger Leistung als eine Software-Implementierung. Da der ASIC jedoch nicht sehr flexibel ist, können Operationen nicht so einfach geändert werden wie bei einer Software-Implementierung. Dementsprechend wird in der erfindungsgemäßen Beobachtungswahrscheinlichkeitsberechnungsvorrichtung, die für Spracherkennungsprodukte geeignet ist, vorzugsweise Software zum Ausführen von Datenverarbeitungsvorgängen eingesetzt.
  • 4 veranschaulicht die Anzahl an Berechnungsschritten, die zur Durchführen der Spracherkennung erfindungsgemäß erforderlich sind. Für den Fall einer Software-Implementierung in einem Prozessor für allgemeine Zwecke, wie einem digitalen Signalprozessor oder einem Intel-Pentium-Mikroprozessor, ist die Anzahl an Berechnungsschritten, die zur Durchführung jeder der zur allgemeinen Spracherkennung notwendigen Funktionen erforderlich sind, in 4 dargestellt. Die dort angegebene Anzahl von Berechnungsschritten ist nicht die Anzahl an Instruktionen, sondern die Anzahl an wiederholten Berechnungsschritten, d.h. Iterationen, wie Multiplikation, Addition, Logarithmusbildung, Exponentialbildung etc. Wie aus 4 ersichtlich, beträgt die gesamte Anzahl an Berechnungsschritten, die zur allgemeinen Spracherkennung notwendig sind, etwa 100.000, wobei ca. 88,8% auf die Beobachtungswahrscheinlichkeitsberechnungen entfallen.
  • Die nachstehende Tabelle 1 zeigt die Anzahl an verwendeten Instruktionen, wenn eine allgemeine Spracherkennung unter Einsatz eines ARM-Prozessors ausgeführt wird.
  • Tabelle 1
    Figure 00160001
  • Wie aus Tabelle 1 ersichtlich, sind zur Durchführung einer Spracherkennung insgesamt etwa 36 Millionen Instruktionen erforderlich. Etwa 22 Millionen Instruktionen, d.h. 62%, werden für eine Suche im verdeckten Markow-Modell (HMM) benutzt, d.h. zur Beobachtungswahrscheinlichkeitsbestimmung. Dabei ist in Tabelle 1 die Zyklusanzahl von Instruktionen nicht die Anzahl an Instruktionen, sondern die Anzahl an wiederholten Berechnungsschritten wie Addition, Multiplikation, Logarithmusbildung, Exponentialbildung etc.
  • Eine Vorrichtung kann in Hardware derart aufgebaut werden, dass sie die Beobachtungswahrscheinlichkeitsberechnung mit der größten Anzahl an Instruktionen durchführt, was die Berechnungsgeschwindigkeit steigert und den Leistungsverbrauch reduziert. Das exemplarische, erfindungsgemäße Ausführungsbeispiel stellt außerdem eine Beobachtungswahrscheinlichkeitsberechnungsvorrichtung zur Verfügung, die zur Berechnung von Beobachtungswahrscheinlichkeiten mit einer kleinen Anzahl von Instruktionen, d.h. einer niedrigen Anzahl von Zyklen, eingerichtet ist.
  • Eine Wahrscheinlichkeitsabstandsberechnung, die einen wesentlichen Teil der Beobachtungswahrscheinlichkeitsbestimmung darstellt, wird durch folgende Gleichung (10) ausgedrückt:
    Figure 00170001
  • In der obigen Gleichung (10) bezeichnen „m" den Mittelwert von Parametern, „Feature" einen aus einem Eingangssignal extrahierten Parameter, „p" einen Präzisionswert, der einen Verteilungsgrad, d.h. eine Dispersion, 1/σ2, repräsentiert, „Iw" ein Logarithmusgewicht, das einen gewichteten Wert darstellt, „i" eine Mischung repräsentativer Typen von Phonemen und „j" die Cepstrum-Zahl. Das Logarithmusgewicht nimmt ab, wenn sich eine Gewichtungswertberechnung in einem linearen Bereich ändert zu einer Gewichtungswertberechnung in einem logarithmischen Bereich.
  • Um die Effizienz der Beobachtungswahrscheinlichkeitsberechnung zu steigern, stellt die Erfindung außerdem eine Vorrichtung zur Durchfüh rung der Berechnungen gemäß den Gleichungen (9) und (10) zur Verfügung, wodurch die Wahrscheinlichkeitsabstandsberechnung unter Verwendung von nur einer Instruktion ausgedrückt werden kann, wie durch die nachstehende Gleichung (11) repräsentiert:
    Figure 00180001
  • In der obigen Gleichung (11) bezeichnen „p[i][j]" eine sogenannte Präzision, die einen Verteilungsgrad, d.h. eine Dispersion, 1/σ2, repräsentiert, „mean[i][j]" einen Mittelwert von Phonemen und „feature[k][j]" einen Parameter für ein Phonem, d.h. Energie oder Cepstrum. Weiter bezeichnet in der obigen Gleichung (11) „mean[i][j]-feature[k][j]" die Wahrscheinlichkeitsdifferenz bzw. den Wahrscheinlichkeitsabstand zwischen dem Parameter eines eingegebenen Phonems und demjenigen eines vordefinierten, repräsentativen Parameters. Das Resultat dieser Differenz wird quadriert, um einen absoluten Wahrscheinlichkeitsabstand zu bestimmen. Das Quadrat der Differenz wird mit der Dispersion multipliziert, um einen objektiven realen Abstand zwischen dem Eingabephonemparameter und dem vordefinierten, repräsentativen Phonemparameter vorauszuschätzen. Hierbei werden die repräsentativen Phonemparameter empirisch aus vielen Sprachdaten erhalten. Mit wachsender Anzahl von Sprachdatenproben, die von einer Vielzahl von Menschen erhalten werden, wird die Erkennungsrate verbessert.
  • Die Erfindung ist außerdem in der Lage, die Erkennungsrate mittels Durchführen einer Operation zu maximieren, die sich durch die nachstehende Gleichung (12) beschreiben lässt, welche die restriktiven Eigenschaften von Hardware berücksichtigt, d.h. die Eigenschaft, dass die Datenbreite allgemein auf z.B. 16 Bit beschränkt ist. {P[i][J]·(mean[i][j] – feature[k][j])}2 (12)
  • In der obigen Gleichung (12) bezeichnet „p[i][j]" einen Verteilungsgrad 1/σ2, der sich von der Dispersion 1/σ2 in Gleichung (11) unterscheidet. Der Grund, warum statt des Dispersionsgrades 1/σ2 der Verteilungsgrad 1/σ2 benutzt wird, wird nachstehend erläutert.
  • In Gleichung (11) wird die Differenz m[i][j]-feature[i][j] quadriert, und das Quadrat wird anschließend mit p[i][j] multipliziert. Hingegen wird in Gleichung (12) die Differenz m[i][j]-feature[i][j] mit p[i][j] multipliziert, und das Multiplikationsergebnis wird quadriert. In Gleichung (11) wird zudem eine hohe Bitauflösung bis zum Quadrat der Differenz m[i][j]-feature[i][j] benötigt, um p[i][j] auszudrücken, während in Gleichung (12) nur eine Bitauflösung der Differenz m[i][j]-feature[i][j] benötigt wird. Mit anderen Worten benötigt Gleichung (11) zum Erreichen einer 16Bit-Auflösung 32Bit, um p[i][j] auszudrücken, während bei Gleichung (12) hierfür bereits 16Bit ausreichen. Da in Gleichung (12) das Multiplikationsergebnis P[i][j] (mean[i][j]-feature) quadriert wird, wird für die Berechnung gemäß Gleichung (9) unter Verwendung von 1/σ2 eine gleichartige Wirkung erzielt.
  • 5 veranschaulicht im Blockdiagramm eine Beobachtungswahrscheinlichkeitsberechnungsvorrichtung 500 mit einem Subtrahierer 505, einem Multiplizierer 506, einem Quadrierer 507 und einem Addierer 508 sowie mehreren Registern 502, 503, 504 und 509.
  • Ein externer Speicher 501, der beispielsweise als Datenbank realisiert sein kann, speichert die Präzision, den Mittelwert und Merkmale jedes repräsentativen Phonems. Als Präzision ist hierbei ein Verteilungsgrad (1/σ2) bezeichnet, der Mittelwert ist ein Mittelwert der Parameter (Ener gie und Cepstrum) jedes repräsentativen Phonems, und „feature[k][j]" bezeichnet die Parameter (Energie und Cepstrum) jedes Phonems.
  • Anfänglich berechnet der Subtrahierer 505 in der Beobachtungswahrscheinlichkeitsberechnungsvorrichtung 500 die Differenz zwischen einem Mittelwert und einem Merkmal („feature"). Dann multipliziert der Multiplizierer 506 die Differenz mit einem Verteilungsgrad 1/σ2, um einen realen Abstand zwischen einem Mittelwert und einem Merkmal zu erhalten. Als nächstes quadriert der Quadrierer 507 das Multiplikationsergebnis, um eine absolute Differenz als reale Differenz zwischen einem Mittelwert und einem Merkmal zu erhalten. Danach addiert der Addierer 508 das Quadrat zum vorherigen Parameter. Mit anderen Worten wird vom Multiplizierer 506 ein Ergebnis gemäß Gleichung (12) erhalten, und vom Addierer 508 wird ein Ergebnis des Berechnungsschritts gemäß Gleichung (9) erhalten.
  • Der externe Speicher 501 speichert p[i][j], mean[i][j] und feature[i][j] in den Registern 502, 503 und 504 in einer gegebenen Sequenz. Die gegebene Sequenz entspricht einer Sequenz, bei der „i" und „j" sequentiell anwachsen. Während „i" und „j" alternieren, werden p[i][j], mean[i][j] und feature[i][j] sequentiell den Registern 502, 503 und 504 zugeführt. Das Register 509 erhält eine endgültig akkumulierte Beobachtungswahrscheinlichkeit.
  • Durch diese Wahrscheinlichkeitsakkumulationsberechnung hat ein repräsentatives Phonem, welches am wahrscheinlichsten einem eingegebenen Phonem gleicht, die höchste Wahrscheinlichkeit. Die Register 502, 503, 504 und 509 an der Eingangs- und der Ausgangsseite der Beobachtungswahrscheinlichkeitsberechnungsvorrichtung 500 können zur Stabilisierung von Daten benutzt werden.
  • In der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 kann die Bitauflösung der Daten abhängig von der Prozessorstruktur variieren. Mit steigender Bitanzahl kann ein genaueres Resultat ermittelt werden. Da jedoch die Bitauflösung mit der Größe der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 in Beziehung steht, muss eine geeignete Auflösung im Hinblick auf die Erkennungsrate ausgewählt werden.
  • Um ein Verständnis der Bitauflösungsauswahl zu erleichtern, zeigt 6 eine interne Bitauflösung eines Prozessors mit einer Auflösung von 16 Bit. Herbei basiert ein Abschneideprozess in jedem Schritt von 6 darauf, dass die Datenbreite auf 16 Bit begrenzt ist. Zusätzlich sei auf 5 verwiesen. Der Abschneideprozess entspricht einem Auswahlprozess zur Vermeidung einer Verschlechterung des Leistungsvermögens. Die Verarbeitungsgeschwindigkeit kann bei Verwendung der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 verglichen mit dem Fall, dass nur ein Prozessor für allgemeine Zwecke verwendet wird, beträchtlich gesteigert werden.
  • Das Merkmal und der Mittelwert können aus einer ganzen Zahl mit 4 Bit bzw. einer Dezimalzahl mit 12 Bit bestehen. Der Mittelwert wird im Subtrahierer 505 vom Merkmal subtrahiert, wodurch ein Wert erhalten wird, der aus einer ganzen Zahl von 4 Bit und einer Dezimalzahl von 12 Bit besteht. Eine Präzision kann aus einer ganzen Zahl mit 7 Bit und einer Dezimalzahl mit 9 Bit bestehen und wird im Multiplizierer 506 mit dem Ausgangssignal des Subtrahierers 505 multipliziert, um einen Wert zu erhalten, der aus einer ganzen Zahl mit 10 Bit und einer Dezimalzahl mit 6 Bit besteht. Das Ausgangssignal des Multiplizierers 506 wird im Quadrierer 507 quadriert, um einen Wert zu erhalten, der aus einer ganzen Zahl mit 20 Bit und einer Dezimalzahl mit 12 Bit besteht. Dieser Wert wird zum vorherigen Wert im Addierer 508 addiert, und die Summe wird skaliert, um einen Wert zu erhalten, der aus einer ganzen Zahl mit 21 Bit und einer Dezimalzahl mit 11 Bit besteht.
  • Die nachstehende Tabelle 2 zeigt einen Ergebnisvergleich zwischen einem Spracherkennungsalgorithmus auf der Basis eines häufig benutzten, verdeckten Markow-Modells, das durch einen Prozessor der ARM-Serie implementiert wird, und einem NMM-Spracherkennungsalgorithmus, der erfindungsgemäß von einem speziell hierauf ausgelegten Prozessor unter Verwendung der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung der Erfindung ausgeführt wird.
  • Tabelle 2
    Figure 00220001
  • Wie aus Tabelle 2 ersichtlich, führt der ARM-Prozessor für allgemeine Zwecke eine Spracherkennung mit etwa 36 Millionen Zyklen durch, während der speziell ausgelegte Prozessor eine Spracherkennung mit etwa 15 Millionen Zyklen durchführt, d.h. mit etwa der halben Anzahl von Zyklen, die der ARM-Prozessor für allgemeine Zwecke iteriert. Daher ist annähernd eine Echtzeit-Spracherkennung möglich. Anders gesagt besitzt der speziell ausgelegte Prozessor dasselbe Leistungsvermögen wie der Prozessor für allgemeine Zwecke selbst bei einer deutlich niedrigeren Taktfrequenz, wodurch der Leistungsverbrauch beträchtlich reduziert werden kann.
  • Die Beziehung zwischen der eingesparten Leistung und der Taktfrequenz kann durch folgende Gleichung (13) ausgedrückt werden: P = ½·f·V (13)
  • Dabei bezeichnen „P" das Maß an eingesparter Leistung, „C" eine Kapazität einer Schaltkreiskomponente und „f" das Maß eines gesamten Übergangs eines Signals innerhalb des Schaltkreises. Dieser Übergangsgrad hängt von einer Taktungsgeschwindigkeit ab. Des weiteren bezeichnet „V" eine zugeführte Spannung. Dementsprechend wird bei Reduzierung der Taktungsgeschwindigkeit auf die Hälfte auch die halbe Leistung eingespart, d.h. die Taktungsgeschwindigkeit ist proportional zur verbrauchten Leistung.
  • In der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 speichert der externe Speicher 501 einen Mittelwert, Übergangswahrscheinlichkeiten, aus einem Eingabesprachsignal extrahierte Parameter und einen Verteilungsgrad von experimentell erhaltenen, repräsentativen Phonemen, die sich durch den individuellen Betonungs- bzw. Aussprachestil des betreffenden Sprechers unterscheiden. Diese Daten werden anfänglich in den Registern 502, 503 und 504 gespeichert, um eine Signaländerung aufgrund von Änderungen der externen Daten zu minimieren. Die Datenspeicherung ist eng mit dem Leistungsverbrauch verknüpft. Von den in den internen Registern 502, 503 und 504 gespeicherten Daten wird die Differenz zwischen dem aus dem Eingabesprachsignal extrahierten Parameter (Merkmal) und dem vorab gespeicherten Mittelwert durch den Subtrahierer 505 erhalten.
  • Im Multiplizierer 506 wird die Differenz mit einer Präzision multipliziert, die den Verteilungsgrad (1/σ2) bezeichnet. Das Multiplikationsergebnis wird vom Quadrierer 507 quadriert, um einen substantiellen Wahrscheinlichkeitsabstand zu erhalten Da der substantielle Wahrscheinlichkeitsab stand nur mit einem temporären, momentanen Parameter unter den vielen Sprachparameterblöcken korrespondiert, die ein Wort bilden, wird der substantielle Wahrscheinlichkeitsabstand zum vorherigen Wahrscheinlichkeitsabstand im Addierer 508 addiert, um Wahrscheinlichkeitsabstandswerte zu akkumulieren. Im Register 509 gespeicherte Daten werden zum Addierer 508 rückgekoppelt, um diese Akkumulation durchzuführen, so dass die Daten bei der nächsten Berechnung verwendet werden.
  • Das Register 509 dient nicht nur der Akkumulation, sondern auch der Minimierung eines Signalübergangs. Die Akkumulation kann in gleicher Weise auf die vorbestimmten repräsentativen Phoneme angewandt werden, und die resultierenden akkumulierten Werte können für verschiedene Phoneme oder Zustände an unterschiedlichen Speicherstellen gespeichert werden. Nach Abschluss der Akkumulationen hinsichtlich aller Parameter des Eingabesprachsignals wird der größte Akkumulationswert für jedes Phonem als dasjenige Phonem erkannt, das einem eingegebenen Phonem am wahrscheinlichsten gleich ist. Ein schließlich erkanntes Wort wird unter Verwendung der Akkumulationswerte in einem bestehenden Prozessor bestimmt.
  • 7 zeigt im Blockdiagramm eine Spracherkennungsvorrichtung 700, die eine derartige Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung verwendet. Die Spracherkennungsvorrichtung 700 kann z.B. ein System mit drei Bussen als einen Spezialzweck-Prozessor zur sprecherunabhängigen Spracherkennung verwenden. Die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung kann innerhalb eines HMM-Moduls 728 eingebaut sein, wobei sich die beteiligten Module zwei OPcode-Busse mit 8 Bit für drei Datenbusse teilen (zwei Lesebusse mit 16 Bit und einen Schreibbus mit 16 Bit). Dies ist nur eine exemplarische Konfiguration, wobei alternativ andere Kombinationen von Busarchitekturen verwendbar sind, wie für den Fachmann offensichtlich.
  • Wie aus 7 ersichtlich, ist eine Steuereinheit (CTRL) 702 als ein Prozessor für allgemeine Zwecke realisiert. Eine REG-Eintrageinheit 704 bezeichnet ein Modul zur Durchführung eines Registereintragvorgangs. Eine arithmetische Logikeinheit (ALU) 706 repräsentiert ein Modul zur Durchführung eines arithmetischen Logikvorgangs. Eine Multiplikations- und Akkumulationseinheit (MAC) 708 stellt ein Modul zur Durchführung eines MAC-Vorgangs dar. Ein Barrel-Schieber (B) 710 repräsentiert ein Modul zur Durchführung eines Barrel-Schiebevorgangs. Eine Einheit 712 dient zur Durchführung einer schnellen Fouriertransformation (FFT). Eine Quadratwurzel-Berechnungseinheit (SQRT) 714 führt einen Quadratwurzel-Berechnungsvorgang aus. Ein Zeitgeber 716 realisiert eine Zeitgeberfunktion, und ein Taktgenerator (CLKGEN) 718 erzeugt ein Taktsignal. Der Taktgenerator 718 empfängt ein Taktsignal, das innerhalb oder extern von der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 von 5 generiert wird, und erzeugt eine Taktsignaleingabe für die Elemente der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500. Insbesondere steuert der Taktgenerator 718 eine Taktgeschwindigkeit, um einen niedrigen Leistungsverbrauch zu erzielen.
  • Die Spracherkennungsvorrichtung 700 umfasst des weiteren ein Programmspeichermodul (PMEM) 720, ein Programmspeicherschnittstellenmodul (PMIF) 722, ein externes Schnittstellenmodul (EXIF) 724, ein Speicherschnittstellenmodul (MEMIF) 726, ein Berechnungsmodul für ein verdecktes Markow-Modell (HMM) 728, das insbesondere von der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 gebildet sein kann, ein synchrones serielles Schnittstellenmodul (SIF) 730 und ein universelles asynchrones Empfänger-/Sendermodul (UART) 732. Des weiteren umfasst die Spracherkennungsvorrichtung 700 ein Eingabe-/Ausgabemodul für allgemeine Zwecke (GPIO) 734, ein Codier-/Decodierschnittstellenmodul (CODED IF) 736 sowie ein Modul zur Aus führung eines Codier-/Decodiervorgangs (CODEC) 740. Das HMM 728 führt eine Wortsuche unter Verwendung eines verdeckten Markow-Modells aus, das auf Merkmalswerten basiert, und ein externer Bus 752 dient als Schnittstelle für Daten mit einem externen Speicher, wie dem EXIF 724, das z.B. einen dynamischen Speicherzugriff (DMA) unterstützt.
  • Eine in 7 nicht gezeigte Steuer- bzw. Decodiereinheit kann in jedem der im System enthaltenen Module eingebaut sein, um Befehle über zugewiesene Befehlsbusse (OPcode) 748 und 750 zu empfangen. Die Steuereinheit decodiert die empfangenen Befehle. Mit anderen Worten empfängt eine im HMM 728 eingebaute Steuereinheit einen Befehl über die Steuerbusse (OPcode) 748 und 759, decodiert den Befehl und steuert die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500 zur Durchführung von Beobachtungswahrscheinlichkeitsberechnungen. Daten können z.B. über zwei Lesebusse 742 und 744 bereitgestellt und über einen Schreibbus 746 abgegeben werden. Programme können in das PMEM 720 über das EXIF 724 geladen werden.
  • Das HMM 728 empfängt einen Steuerbefehl von der Steuereinheit 702 über die beiden OPcode-Busse 748 und 750. Eine nicht gezeigte, interne Steuereinheit im HMM 728 decodiert den Steuerbefehl und steuert die ßeobachtungswahrscheinlichkeitsbestimmungsvorrichtung 500, um eine Beobachtungswahrscheinlichkeitsberechnung auszuführen.
  • 8 veranschaulicht im Blockdiagramm einen Prozess zum Empfangen eines Steuerbefehls und von Daten in der Spracherkennungsvorrichtung 700. Die Steuereinheit 702 decodiert direkt einen Steuerbefehl und steuert die im System enthaltenen Module, um einen durch den Steuerbefehl bestimmten Vorgang auszuführen. Alternativ leitet die Steuereinheit 702 einen Steuerbefehl an ein im System enthaltenes Modul über OPcode-Busse 0 und 1, wie die OPcode-Busse 748 und 750, weiter und steuert indirekt den Betrieb jedes der im System enthaltenen Module. Die im System enthaltenen Module teilen sich die OPcode-Busse 1 und 2 und Lesebusse A und B.
  • Um beispielsweise die Ausführung eines Vorgangs direkt zu steuern, ruft die Steuereinheit 702 einen Steuerbefehl vom PMEM 720 ab, decodiert den Steuerbefehl, liest einen Operanden, d.h. zu bearbeitende Daten, die für einen durch den Steuerbefehl bestimmten Vorgang nötig sind, und speichert die gelesenen Daten in der REG-Dokumenteinheit 704. Anschließend wird, wenn der bestimmte Vorgang ein logischer Steuervorgang ist, dieser in der ALU 706 ausgeführt. Wenn der bestimmte Vorgang eine Multiplikation und Akkumulation ist, wird er in der MAC-Einheit 708 durchgeführt. Wenn der bestimmte Vorgang ein Barrel-Schiebevorgang ist, wird er im B-Schieber 710 ausgeführt. Wenn der bestimmte Vorgang ein Quadratwurzelziehen ist, wird er in der SQRT-Berechnungseinheit 714 durchgeführt. Die Ergebnisse der bestimmten Operationen werden in der REG-Dokumenteinheit 704 gespeichert.
  • Um die Ausführung eines Vorgangs indirekt zu steuern, kann die Steuereinheit 702 die OPcode-Busse 0 bzw. 748 und 1 bzw. 750 benutzen. Die Steuereinheit 702 legt sequentiell einen vom PMEM 720 abgerufenen Steuerbefehl an die OPcode-Busse 0 bzw. 748 und 1 bzw. 750 ohne Decodieren des abgerufenen Steuerbefehls an.
  • Der Steuerbefehl wird anfänglich an den OPcode-Bus 0 bzw. 748 und dann an den OPcode-Bus 1 bzw. 750 einen Taktzyklus nach dem ersten Anlegen des Steuerbefehls angelegt. Wenn ein Steuerbefehl an den OPcode-Bus 0 bzw. 748 angelegt wird, stellen die beteiligten Module fest, ob der angelegte Steuerbefehl für sie bestimmt ist. Wenn ein beteiligtes Modul einen Steuerbefehl empfängt, der zu ihm gehört, decodiert es den Steuerbefehl unter Verwendung eines eingebauten Decoders und nimmt einen Wartezustand zum Durchführen eines vom Steuerbe fehl bestimmten Vorgangs ein. Wenn der Steuerbefehl auch an den OPcode-Bus 1 bzw. 750 einen Taktzyklus nach dem Anlegen an den OPcode-Bus 0 bzw. 748 angelegt wird, werden die von den Steuerbefehlen bestimmten Vorgänge erstmals ausgeführt. In 8 der Übersichtlichkeit halber nicht gezeigte RT- und ET-Signalleitungen werden zugewiesen, um zu repräsentieren, ob ein an die OPcode-Busse 0 bzw. 748 und 1 bzw. 750 angelegter Steuercode freigegeben ist.
  • 9 veranschaulicht in einem Zeitablaufdiagramm einen Prozess zum Empfangen eines Steuerbefehls und von Daten in der Spracherkennungsvorrichtung von 7. In 9 ist das oberste Signal ein Taktsignal CLK, auf das untereinander ein an den OPcode-Bus 0 bzw. 748 angelegter Steuerbefehl, ein an den OPcode-Bus 1 bzw. 750 angelegter Steuerbefehl, ein RT-Signal, ein ET-Signal, an den Lesebus A angelegte Daten und an den Lesebus B angelegte Daten folgen.
  • Wenn ein Steuerbefehl an den OPcode-Bus 0 bzw. 748 angelegt wird und der OPcode-Bus 0 durch das RT-Signal freigegeben ist, erkennt eines der beteiligten Module von 7 den Steuerbefehl und decodiert ihn und geht in einen Wartezustand. Wenn danach der gleiche Steuerbefehl an den OPcode-Bus 1 bzw. 750 angelegt wird und letzterer durch das ET-Signal freigegeben ist, führt das betreffende beteiligte Modul einen vom Steuerbefehl bestimmten Vorgang aus. Mit anderen Worten empfängt das betreffende Modul Daten von den Lesebussen A und B, führt den vom Steuerbefehl bestimmten Vorgang aus und gibt die Resultate des Vorgangs über den Schreibbus ab.
  • 10 zeigt tabellarisch Berechnungen, die in jeder Funktion während der Ausführung eines verdeckten Markow-Modellalgorithmus durchgeführt werden. Gemäß 10 wird der Algorithmus des verdeckten Markow-Modells (HMM) mit einer Mehrzahl von Berechnungsfunktionen ausgeführt. Eine Funktion „gauss_outP" benötigt die höchste Anzahl an Berechnungsschritten. Hierfür kann deshalb eine Hardware-Vorrichtung erfindungsgemäß aufgebaut sein, um diese Funktion auszuführen, wodurch die Verarbeitungsgeschwindigkeit gesteigert wird.
  • Der Algorithmus gauss_outP besteht entsprechend Gleichung (8) aus einer Subtraktion, einer Quadratbildung, Multiplikationen und einer Kombination dieser Operationen. Für einen Prozessor für allgemeine Zwecke wird daher eine beträchtliche Zeitdauer benötigt, um diesen Algorithmus auszuführen.
  • 11 veranschaulicht einen Algorithmus für den ersten Ausdruck (y) von Gleichung (8). Der Algorithmus von 11, der in diesem Beispiel in C-Sprache geschrieben ist, führt eine Berechnung aus, bei der ein Wert „Mean" von „x" subtrahiert wird, das Resultat der Subtraktion quadriert wird und das Resultat der Quadrierung mit „var" multipliziert wird. Dieser Berechnungsschritt kann z.B. bis zu 13 Mal wiederholt werden, und die Ergebnisse jeder Wiederholung werden akkumuliert. In 11 bezeichnet „x" das Merkmal, das im ersten Ausdruck in Gleichung (8) erscheint.
  • Der zweite Ausdruck „dbx" von Gleichung (8) addiert einen Gewichtswert (Gconst) zum Resultat des ersten Ausdrucks. Da jedoch der Gewichtswert ursprünglich ein negativer Wert ist, resultiert der Berechnungsschritt für dbx in einer Nettosubtraktion vom Ergebnis des ersten Ausdrucks (y).
  • Der dritte Ausdruck „o_prob[m]" von Gleichung (8) repräsentiert eine Operation, bei welcher der zweite Ausdruck eine gegebene Anzahl von Malen ausgeführt wird und die nach der gegebenen Anzahl von Iterationen des zweiten Ausdrucks erhaltenen dbx-Werte miteinander verglichen werden, um die drei höchsten dbx-Werte zu ermitteln.
  • 12 zeigt im Blockdiagramm eine weitere erfindungsgemäße Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 1200, die eine erste, zweite und dritte Operationseinheit 1210, 1220, 1230 und einen Komparator 1240 aufweist.
  • Die erste Operationseinheit 1210 subtrahiert einen Wert „Mean" von einem Parameter „Feature" und multipliziert das Ergebnis der Subtraktion mit der Präzision, d.h. einem Verteilungsgrad oder einer Dispersion. Dementsprechend umfasst die erste Operationseinheit 1210 in nicht gezeigter Weise einen Subtrahierer und einen Multiplizierer.
  • Der Parameter Feature repräsentiert hierbei Energie und Cepstrum für Phoneme, die aus einem Eingabesprachsignal extrahiert werden. Der Wert Mean bezeichnet einen Mittelwert von Feature-Parametern, die von repräsentativen Phonemen extrahiert werden, und der Verteilungsgrad „Präzision" ist ein Dispersionswert des Wertes Mean.
  • Der Parameter Feature und der Wert Mean, die der ersten Operationseinheit 1200 zugeführt werden, bestehen aus einer Anzahl m von Bits. Um den tatsächlichen Abstand zwischen Feature und Mean zu erhalten, wird das Ergebnis der Subtraktion zwischen Feature und Mean mit der Präzision multipliziert. Das Ausgangssignal der ersten Operationseinheit 1210 wird nicht direkt an die zweite Operationseinheit 1220 angelegt, sondern in einem ersten Operationsregister 1250 gespeichert und dann synchron zu einem Taktsignal an die zweite Operationseinheit 1220 angelegt. Dieses verzögerte Anlegen des Ausgangssignals der ersten Operationseinheit 1210 an die zweite Operationseinheit 1220 kann hierbei verhindern, dass der Zyklus eines Taktsignals durch eine Zeitdauer beschränkt wird, die gleich der zur Durchführung von Operationen in der ersten und zweiten Operationseinheit 1210, 1220 benötigten Zeitdauer ist. Die Beschränkung für den Zyklus des Taktsignals wird durch ein di rektes Anlegen des Ausgangssignals der ersten Operationseinheit 1210 an die zweite Operationseinheit 1220 verursacht.
  • Die zweite Operationseinheit 1220 quadriert die Ausgangssignale der ersten Operationseinheit 1210 und akkumuliert eine Anzahl N von Quadraturergebnissen, die sequentiell ausgegeben werden. Dazu umfasst die zweite Operationseinheit 1220 in nicht gezeigter Weise eine Quadrierungs- und eine Akkumulationseinheit.
  • Die Ausgangssignale der zweiten Operationseinheit 1220 werden nicht direkt der dritten Operationseinheit 1230 zugeführt, sondern in einem zweiten Operationsregister 1255 gespeichert und dann synchron zu einem Taktsignal an die dritte Operationseinheit 1230 angelegt. Das zweite Operationsregister 1255 führt N Quadraturresultate, die nacheinander ausgegeben werden, zur zweiten Operationseinheit 1220 zurück. In dieser Weise können N Akkumulationen ausgeführt werden, beispielsweise N=13.
  • Die erste und zweite Operationseinheit 1210, 1220 führen die Berechnung des ersten Ausdrucks (y) von Gleichung (8) durch, die dazu benutzt wird, eine Beobachtungswahrscheinlichkeitsberechnung für einen Algorithmus eines verdeckten Markow-Modells (HMM) auszuführen. Im ersten Ausdruck der Gleichung (8) bezeichnet „i" repräsentative Typen von Phonemen, „j" bezeichnet die Anzahl von Parametern (Feature) und „var" bezeichnet die Hälfte eines Verteilungsgrades, d.h. Präzision/2.
  • Im ersten Ausdruck von Gleichung (8) wird die Differenz zwischen Feature und Mean quadriert, und das Ergebnis des Quadrierens wird dann mit var multipliziert. Die erste und die zweite Operationseinheit 1210, 1220 multiplizieren jedoch die Differenz zwischen Feature und Mean mit Präzision und Quadrieren dann die Differenz, um die Arbeitsgeschwindigkeit zu steigern.
  • Somit hat ein Verteilungsgrad, d.h. Präzision, der bzw. die von der ersten Operationseinheit 1210 empfangen wird, den Wert (2var)0,5. In diesem Fall ist das Resultat, wenngleich die zweite Operationseinheit 1220 das Quadrieren durchführt, gleich dem Resultat des ersten Ausdrucks in Gleichung (8). Folglich wird als Ausgangssignal der zweiten Operationseinheit 1220 ein Resultat der Berechnung gemäß dem ersten Ausdruck von Gleichung (8) erhalten.
  • Die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 1200 erfordert nicht, dass die Parameter oder Werte Feature, Mean, Präzision und Gconst in einer nicht gezeigten, externen Speichervorrichtung gespeichert und zur Berechnung wieder aufgerufen werden. Stattdessen kann die Vorrichtung 1200 zugehörige Register 1275, 1280, 1285 und 1290 beinhalten, die Feature, Mean, Präzision bzw. Gconst speichern. Dadurch kann die Berechnungsgeschwindigkeit gesteigert werden.
  • Die dritte Operationseinheit 1230 subtrahiert Gconst vom Ausgangssignal der zweiten Operationseinheit 1220. Dazu beinhaltet die dritte Operationseinheit 1230 einen nicht gezeigten Subtrahierer. Die dritte Operationseinheit 1230 führt die Berechnung des zweiten Ausdrucks dbx von Gleichung (8) durch. Gconst ist ursprünglich negativ, im Register 1290 wird Gconst jedoch als positiver Wert gespeichert, so dass der nicht gezeigte Subtrahierer der dritten Operationseinheit 1230 den zweiten Ausdruck der Gleichung (8) berechnen kann. Das Ausgangssignal der dritten Operationseinheit 1230 stellt den Wahrscheinlichkeitsabstand zwischen Mean und Feature dar, wie aus einem Eingabesprachsignal extrahiert. Das Ausgangssignal der dritten Operationseinheit 1230 wird nicht direkt dem Komparator 1240 zugeführt, sondern in einem dritten Operationsregister 1260 gespeichert und dann dem Komparator 1240 synchron zu einem Taktsignal zugeführt.
  • Der Komparator 1240 speichert das Ausgangssignal der dritten Operationseinheit 1230, extrahiert eine Anzahl L von Ausgangssignalen aus einer Mehrzahl von Ausgangssignalen der dritten Operationseinheit 1230 basierend auf der Größenreihenfolge dieser Ausgangssignale und speichert die extrahierten L Ausgangssignale. Der Komparator 1240 führt die Berechnung des dritten Ausdrucks o_prob[m] von Gleichung (8) durch. Dabei kann L beispielsweise den Wert drei haben, alternativ kann jedoch eine beliebige andere Anzahl L von Ausgangssignalen extrahiert werden.
  • Der Komparator 1240 beinhaltet ein erstes bis L-tes Register MAX1, MAX2, MAX3, welche die L Ausgangssignale der dritten Operationseinheit 1230 nach der Reihenfolge ihrer Größe speichern. Der Komparator 1240 weist außerdem ein erstes bis L-tes Indexregister IND1, IND2, IND3 auf, welche die Ausgangssignale der dritten Operationseinheit 1230 beispielsweise in der Reihenfolge speichern, in welcher die Ausgangssignale erzeugt werden.
  • Die Register MAX1, MAX2 und MAX3 sind anfänglich z.B. mit Minimumwerten der Ausgangssignale der dritten Operationseinheit 1230 belegt. Ein jeweiliges Ausgangssignal der dritten Operationseinheit 1230, das dem Komparator 1240 zugeführt wird, wird dann mit dem bereits im jeweiligen Register, z.B. dem zweiten Register MAX2, gespeicherten Wert verglichen.
  • Wenn das Ausgangssignal der dritten Operationseinheit 1230 größer als der z.B. im zweiten Register MAX2 gespeicherte Wert ist, wird das Ausgangssignal als nächstes mit einem z.B. im ersten Register MAX1 gespeicherten Wert verglichen. Wenn das Ausgangssignal der dritten Operationseinheit 1230 größer als der im ersten Register MAX1 gespeicherte Wert ist, wird das Ausgangssignal im ersten Register MAX1 gespeichert. Der ursprünglich im ersten Register MAX1 gespeicherte Wert wird im zweiten Register MAX2 gespeichert, und der ursprünglich im zweiten Register MAX2 gespeicherte Wert wird im dritten Register MAX3 gespeichert. Mit anderen Worten werden gespeicherte Werte zwischen MAX1, MAX2 und MAX3 basierend auf dem Vergleich mit dem Ausgangssignal der dritten Operationseinheit 1230 verschoben.
  • Ein jeweils nächstes oder neues Ausgangssignal der dritten Operationseinheit 1230 wird nach Eingabe in den Komparator 1240 wiederum z.B. zunächst mit dem im zweiten Register MAX2 gespeicherten Wert verglichen. Wenn das neue Ausgangssignal größer als der im zweiten Register MAX2 gespeicherte Wert ist, wird das neue Ausgangssignal mit dem im ersten Register MAX1 gespeicherten Wert verglichen. Wenn das neue Ausgangssignal größer als der im ersten Register MAX1 gespeicherte Wert ist, wird das neue Ausgangssignal im ersten Register MAX1 gespeichert. Das vorherige Ausgangssignal der dritten Operationseinheit 1230, das im ersten Register MAX1 gespeichert worden war, wird dadurch im zweiten Register MAX2 gespeichert, und der bislang im zweiten Register MAX2 gespeicherte Wert wird im dritten Register MAX3 gespeichert, wie oben beschrieben.
  • Durch Wiederholen dieses Vorgangs werden Ausgangssignale der dritten Operationseinheit 1230 ihrer Größe nach im ersten bis dritten Register MAX1, MAX2, MAX3 gespeichert. Die Reihenfolge, mit der die Ausgangssignale der dritten Operationseinheit 1230 erzeugt werden, wird hingegen im ersten bis dritten Indexregister IND1, IND2, IND3 gespeichert. Dementsprechend werden durch die dritte Operationseinheit 1230 und den Komparator 1240 in der Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 1200 die Wahrscheinlichkeitswerte für Cepstrum und Delta-Cepstrum, wie aus einem Sprachsignal extrahiert, praktisch sofort nach Berechnung der Wahrscheinlichkeitswerte verglichen.
  • Die Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung 1200 ist in der Lage, die Anzahl an Berechnungsschritten zwecks Steigerung der Betriebsgeschwindigkeit zu reduzieren. Der Vorgang zum Auffinden des Maximums der Werte dbx unter Verwendung eines verdeckten Markow-Modellalgorithmus, d.h. die Berechnung des dritten Ausdrucks in Gleichung (8), benötigt im allgemeinen eine beträchtlich große Anzahl an Berechnungsschritten.
  • Wenn beispielsweise 100 dbx-Werte im zweiten Ausdruck von Gleichung (8) erzeugt werden, müssen die dbx-Werte 100 Mal von einem externen Speicher abgerufen werden, und es müssen mindestens 100 Subtraktionen ausgeführt werden, um die drei größten dbx-Werte aufzufinden. Erfindungsgemäß werden jedoch die Subtraktionen und Vergleichsoperationen von der dritten Operationseinheit 1230 und dem Komparator 1240 gleichzeitig mit einer Beobachtungswahrscheinlichkeitsberechnung ausgeführt, so dass unnötige Berechnungszyklen reduziert und/oder eventuell ganz eliminiert werden.
  • Im allgemeinen werden etwa 1.550 Assembler-Instruktionen benötigt, um 100 dbx-Werte zu erhalten, und etwa 1.900 Instruktionen sind erforderlich, um einen Subtraktionsvorgang sowie einen Vergleichs- und Auswahlvorgang auszuführen. Da eine Spracherkennungsvorrichtung Resultate in Echtzeitverarbeitung erzeugen sollte, ist die Verarbeitungsgeschwindigkeit wichtig. Erfindungsgemäß können ein Subtraktionsvorgang sowie ein Vergleichs- und Auswahlvorgang durch die dritte Operationseinheit 1230 und den Komparator 1240 so ausgeführt werden, dass die Anzahl an unnötigen Operationen beträchtlich reduziert wird. Dies ermöglicht eine für Echtzeitverarbeitung geeignete Betriebsgeschwindigkeit.
  • Außerdem kann der Leistungsverbrauch reduziert werden. In mobilen Produkten, die eine Batterie verwenden, ist die Batterielebensdauer von Bedeutung, die ihrerseits von der Betriebsdauer abhängt. Mit längerer Betriebsdauer wird kontinuierlich Leistung für unnötige Operationen verbraucht. Da beispielsweise ein Taktsignal allen Funktionsbauelementen zugeführt wird, muss allen diesen Funktionsbauteilen das Taktsignal zugeführt werden, bis die erforderlichen Operationen abgeschlossen sind. Hier ist die Erfindung in der Lage, die Anzahl an Operationen zu reduzieren und auf diese Weise den Leistungsverbrauch zu verringern.
  • Des weiteren kann das Maß an benutztem Speicher verringert werden. In den Fällen, in denen der Komparator 1240 nicht verwendet wird, müssen alle 100 dbx-Werte im Speicher gespeichert werden. Zum Speichern von 100 Daten mit 32Bit ist z.B. ein Speicher mit 3.200Bit erforderlich. Da die Kapazität des internen Speichers eines Chips für eine Spracherkennungsvorrichtung begrenzt ist, muss ein solcher Speicher typischerweise extern an den Chip angeschlossen werden. Die Installation eines neuen Speichers kann merkliche Auswirkungen auf den Leistungsverbrauch und die Verarbeitungsgeschwindigkeit einer Spracherkennungsvorrichtung haben. Die erfindungsgemäße Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung ist so ausgelegt, dass z.B. drei maximale Wahrscheinlichkeitswerte in den entsprechenden Registern MAX1, MAX2, MAX3 in einem Zyklus nach der Beobachtungswahrscheinlichkeitsberechnung gespeichert werden.
  • Zudem wird erfindungsgemäß die Größe einer Spracherkennungsvorrichtung nicht merklich erhöht. Der Komparator 1240 lässt sich z.B. mit 1.627 Gattern realisieren, was nicht einmal 10% von 19.300 Gattern ausmacht, die typischerweise in der Spracherkennungsvorrichtung benutzt werden. Wenn hingegen ein neuer Speicher hinzukommt, nimmt dieser einen großen Teil der Gesamtfläche der Spracherkennungsvorrichtung ein. Dies kann erfindungsgemäß unterbleiben, so dass die Spracherkennungsvorrichtung nicht merklich vergrößert wird, selbst wenn die erfindungsgemäße Beobachtungswahrscheinlichkeitsbestimmungsvorrichtung in dieser verwendet wird.

Claims (15)

  1. Vorrichtung zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal, gekennzeichnet durch – eine erste Operationseinheit (1210) zum Subtrahieren eines Mittelwerts von aus repräsentativen Phonemen extrahierten Parametern von einem aus dem Eingabesprachsignal extrahierten Parameter und zum Multiplizieren des Subtraktionsresultates mit einem Verteilungsgrad (Dispersion) des Mittelwertes, um ein erstes Ausgangssignal zu erhalten, wobei der Verteilungsgrad Präzision genannt wird, – eine zweite Operationseinheit (1220) zum Quadrieren des ersten Ausgangssignals der ersten Operationseinheit und zum Akkumulieren einer vorgebbaren Anzahl N von solchermaßen erhaltenen Quadraturresultaten, um ein zweites Ausgangssignal zu erhalten, – eine dritte Operationseinheit (1230) zum Subtrahieren eines vorgegebenen Gewichtswertes vom zweiten Ausgangssignal der zweiten Operationseinheit, um ein drittes Ausgangssignal zu erhalten, und – einen Komparator (1240) zum Speichern des dritten Ausgangssignals der dritten Operationseinheit, zum Extrahieren einer vorgebbaren Anzahl L von Ausgangssignalen der dritten Operationseinheit und zum Speichern der extrahierten L Ausgangssignale der Größe nach, wobei ein Maximalwert hiervon einen Eingabesprachsignalparameter-Beobachtungswahrscheinlichkeitswert bildet.
  2. Vorrichtung nach Anspruch 1, weiter dadurch gekennzeichnet, dass der Komparator ein erstes bis L-tes Register (MAX1, MAX2, MAX3) zum Speichern der extrahierten L Ausgangssignale ihrer Größe nach sowie ein erstes bis L-tes Indexregister (IND1, IND2, IND3) zum Speichern einer Reihenfolge umfasst, in welcher die im ersten bis L-ten Register gespeicherten L-Ausgangssignale erzeugt wurden.
  3. Vorrichtung nach Anspruch 1 oder 2, weiter dadurch gekennzeichnet, dass L den Wert drei hat.
  4. Vorrichtung nach einem der Ansprüche 1 bis 3, weiter gekennzeichnet durch – ein erstes Operationsregister (1250) zum Speichern des ersten Ausgangssignals und Abgeben des gespeicherten ersten Ausgangssignals an die zweite Operationseinheit, – ein zweites Operationsregister (1255) zum Speichern des zweiten Ausgangssignals und Abgeben des gespeicherten zweiten Ausgangssignals an die dritte Operationseinheit und – ein drittes Operationsregister (1260) zum Speichern des dritten Ausgangssignals und Abgeben des gespeicherten dritten Ausgangssignals an den Komparator.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, weiter gekennzeichnet durch eine Mehrzahl von Registern (1275, 1280, 1285, 1290) zum Speichern des oder der Parameter, des Mittelwertes, des Verteilungsgrades und/oder des Gewichtswertes.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass die erste und die zweite Operationseinheit darauf ausgelegt sind, eine Beobachtungswahrscheinlichkeitsberechnung (y) in einem verdeckten Markow-Modellalgorithmus gemäß der Beziehung
    Figure 00400001
    auszuführen, wobei „i" ein Faktor ist, der Typen von Phonemen repräsentiert, „j" eine Parameteranzahl repräsentiert und „var" einen Verteilungsgrad des Mittelwertes bezeichnet.
  7. Vorrichtung nach Anspruch 6, weiter dadurch gekennzeichnet, dass der Verteilungsgrad den Wert (2var)0,5 hat.
  8. Vorrichtung nach einem der Ansprüche 1 bis 7, weiter dadurch gekennzeichnet, dass das dritte Ausgangssignal einen Wahrscheinlichkeitsabstand zwischen dem Mittelwert und dem aus dem Eingabesprachsignal extrahierten Parameter darstellt.
  9. Vorrichtung nach einem der Ansprüche 1 bis 8, weiter dadurch gekennzeichnet, dass der aus dem Eingabesprachsignal extrahierte Parameter aus einer Anzahl m von Bits besteht und der Mittelwert aus einer Anzahl m von Bits besteht.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, weiter dadurch gekennzeichnet, dass der Quadrierungswiederholfaktor N den Wert 13 hat.
  11. Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal, gekennzeichnet durch folgende Schritte: – Subtrahieren eines Mittelwertes einer ersten Mehrzahl aus repräsentativen Phonemen extrahierter Parameter des Eingabesprachsignals von einem zweiten, aus dem Eingabesprachsignal extrahierten Parameter, – Multiplizieren des Subtraktionsresultates mit mit einem Verteilungsgrad, – Quadrieren des Multiplikationsresultates, – Akkumulieren einer vorgebbaren Anzahl N erhaltener Quadraturresultates, um einen Beobachtungswahrscheinlichkeitswert zu erhalten, – Subtrahieren eines vorgegebenen Gewichtswertes vom erhaltenen Beobachtungswahrscheinlichkeitswert, so dass das Gewichtswert-Subtraktionsresultat eine Wahrscheinlichkeitsdifferenz zwischen dem Mittelwert und dem extrahierten zweiten Parameter darstellt und der Beobachtungswahrscheinlichkeitswert mit abnehmender Wahrscheinlichkeitsdifferenz ansteigt, und – Extrahieren einer vorgebbaren Anzahl L an Ausgangssignalen aus dem Subtraktionsergebnis und daraus Auswählen eines Ausgangssignals mit der höchsten Ordnung in einer Größenreihenfolge der L Ausgangssignale als ein neu berechneter Beobachtungswahrscheinlichkeitswert.
  12. Verfahren nach Anspruch 11, weiter dadurch gekennzeichnet, dass der neu berechnete Beobachtungswahrscheinlichkeitswert die größe Wahrscheinlichkeit darstellt, dass eine Sequenz von Silben im Eingabesprachsignal erkannt wird.
  13. Verfahren nach Anspruch 11 oder 12, weiter dadurch gekennzeichnet, dass der Beobachtungswahrscheinlichkeitswert aus einer Akkumulation von Wahrscheinlichkeiten gebildet wird, von denen jede für eine Sequenz von Silben repräsentativ ist.
  14. Verfahren zur Sprachsignalerkennung, dadurch gekennzeichnet, dass ein Sprachsignal in einem Eingabesprachsignal anhand eines Beobachtungswahrscheinlichkeitswertes erkannt wird, welcher durch das Verfahren nach einem der Ansprüche 11 bis 13 bestimmt wird.
  15. Vorrichtung zur Spracherkennung, dadurch gekennzeichnet, dass sie zur Sprachsignalerkennung gemäß dem Verfahren nach Anspruch 14 eingerichtet ist.
DE10329618A 2002-06-28 2003-06-26 Vorrichtung und Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal Expired - Lifetime DE10329618B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2002-0037052A KR100464420B1 (ko) 2002-06-28 2002-06-28 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치
KR2002-37052 2002-06-28
KR10-2003-0012810A KR100486307B1 (ko) 2003-02-28 2003-02-28 은닉 마코프 모델 알고리즘의 관측 확률 연산 장치
KR2003-12810 2003-02-28

Publications (2)

Publication Number Publication Date
DE10329618A1 DE10329618A1 (de) 2004-01-22
DE10329618B4 true DE10329618B4 (de) 2005-12-22

Family

ID=27667606

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10329618A Expired - Lifetime DE10329618B4 (de) 2002-06-28 2003-06-26 Vorrichtung und Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal

Country Status (5)

Country Link
US (1) US7356466B2 (de)
JP (1) JP4851684B2 (de)
CN (1) CN100359507C (de)
DE (1) DE10329618B4 (de)
GB (1) GB2391675B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4298672B2 (ja) * 2005-04-11 2009-07-22 キヤノン株式会社 混合分布hmmの状態の出力確率計算方法および装置
WO2013085499A1 (en) * 2011-12-06 2013-06-13 Intel Corporation Low power voice detection
CN119625087B (zh) * 2024-09-05 2025-06-10 兰州大学 一种jbig算术编码和解码方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2825110A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur erkennung kontinuierlicher sprachsignale
US5636291A (en) * 1992-01-08 1997-06-03 International Business Machines Corporation Continuous parameter hidden Markov model approach to automatic handwriting recognition
US5799278A (en) * 1995-09-15 1998-08-25 International Business Machines Corporation Speech recognition system and method using a hidden markov model adapted to recognize a number of words and trained to recognize a greater number of phonetically dissimilar words.

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227176A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
JPS62220996A (ja) * 1986-03-18 1987-09-29 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 音声認識方法及び装置
DE3711342A1 (de) * 1987-04-03 1988-10-20 Philips Patentverwaltung Verfahren zum erkennen zusammenhaengend gesprochener woerter
JPH02195400A (ja) * 1989-01-24 1990-08-01 Canon Inc 音声認識装置
CN1055254A (zh) * 1990-03-28 1991-10-09 曹洪 声控打字系统
EP0962913B1 (de) * 1993-03-25 2003-04-23 BRITISH TELECOMMUNICATIONS public limited company Spracherkennung
CN1112269A (zh) * 1994-05-20 1995-11-22 北京超凡电子科技有限公司 基于汉语发音特点的hmm语音识别技术
JP3427500B2 (ja) * 1994-08-09 2003-07-14 松下電器産業株式会社 帰属度算出装置およびhmm装置
US5790754A (en) * 1994-10-21 1998-08-04 Sensory Circuits, Inc. Speech recognition apparatus for consumer electronic applications
US5742928A (en) * 1994-10-28 1998-04-21 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for speech recognition in the presence of unnatural speech effects
ES2164870T3 (es) * 1995-03-07 2002-03-01 British Telecomm Reconocimiento del habla.
JP3414558B2 (ja) * 1995-08-25 2003-06-09 沖電気工業株式会社 最大相関値タイミング推定回路及び受信装置
FR2748342B1 (fr) * 1996-05-06 1998-07-17 France Telecom Procede et dispositif de filtrage par egalisation d'un signal de parole, mettant en oeuvre un modele statistique de ce signal
WO1999014741A1 (de) * 1997-09-18 1999-03-25 Siemens Aktiengesellschaft Verfahren zur erkennung eines schlüsselworts in gesprochener sprache
US6125345A (en) * 1997-09-19 2000-09-26 At&T Corporation Method and apparatus for discriminative utterance verification using multiple confidence measures
KR19990059297A (ko) * 1997-12-30 1999-07-26 서평원 음성 인식 장치 및 방법
DE69941999D1 (de) * 1998-10-09 2010-03-25 Sony Corp Erkennungsvorrichtung, Erkennungsverfahren und Aufzeichnungsmedium
JP3973789B2 (ja) * 1999-03-09 2007-09-12 三菱電機株式会社 要素分布の探索方法,ベクトル量子化方法,パターン認識方法,音声認識方法,音声認識装置及び認識結果を決定するためのプログラムが記録された記録媒体
JP4297602B2 (ja) * 2000-09-18 2009-07-15 パイオニア株式会社 音声認識システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2825110A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur erkennung kontinuierlicher sprachsignale
US5636291A (en) * 1992-01-08 1997-06-03 International Business Machines Corporation Continuous parameter hidden Markov model approach to automatic handwriting recognition
US5799278A (en) * 1995-09-15 1998-08-25 International Business Machines Corporation Speech recognition system and method using a hidden markov model adapted to recognize a number of words and trained to recognize a greater number of phonetically dissimilar words.

Also Published As

Publication number Publication date
GB2391675A (en) 2004-02-11
JP4851684B2 (ja) 2012-01-11
CN1487433A (zh) 2004-04-07
GB0314977D0 (en) 2003-07-30
US20040002861A1 (en) 2004-01-01
US7356466B2 (en) 2008-04-08
CN100359507C (zh) 2008-01-02
JP2004038163A (ja) 2004-02-05
DE10329618A1 (de) 2004-01-22
GB2391675B (en) 2004-08-18

Similar Documents

Publication Publication Date Title
DE69726526T2 (de) Schema und Modelladaption bei Mustererkennung welche auf Taylorausdehnung basiert
DE69524994T2 (de) Verfahren und Vorrichtung zur Signalerkennung unter Kompensation von Fehlzusammensetzungen
DE69127961T2 (de) Verfahren zur Spracherkennung
DE69719236T2 (de) Verfahren und System zur Spracherkennung mittels verborgener Markoff-Modelle mit kontinuierlichen Ausgangswahrscheinlichkeiten
DE102019113534B4 (de) Verfahren und System zur Zeitdomänen-Merkmalsextraktion für die automatische Spracherkennung
DE69432943T2 (de) Verfahren und Vorrichtung zur Sprachdetektion
DE102007001255B4 (de) Tonsignalverarbeitungsverfahren und -vorrichtung und Computerprogramm
DE69705830T2 (de) Sprachverarbeitung
DE69705891T2 (de) Verfahren und Vorrichtung zur entzerrenden Filterung eines Sprachsignals unter Verwendung eines statistischen Signalmodells
DE69619284T2 (de) Vorrichtung zur Erweiterung der Sprachbandbreite
DE69519453T2 (de) Spracherkennung mit Sprecheradaptierung mittels Berechnung von Mittelwerten akustischer Kategorien
DE69121312T2 (de) Geräuschsignalvorhersagevorrichtung
DE69830017T2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE60314128T2 (de) Parametrische online-histogramm normierung zur rauschrobusten spracherkennung
DE69321656T2 (de) Verfahren zur Spracherkennung
DE60025748T2 (de) Spracherkennung
DE3236834A1 (de) Verfahren und geraet zur sprachanalyse
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse
CN1210608A (zh) 一种有噪语音参数增强的方法和装置
DE3236832A1 (de) Verfahren und geraet zur sprachanalyse
DE69614937T2 (de) Verfahren und System zur Spracherkennung mit verringerter Erkennungszeit unter Berücksichtigung von Veränderungen der Hintergrundgeräusche
DE69635141T2 (de) Verfahren zur Erzeugung von Sprachmerkmalsignalen und Vorrichtung zu seiner Durchführung
DE69609531T2 (de) Sprachanpassungsgerät
EP0285222B1 (de) Verfahren zum Erkennen zusammenhängend gesprochener Wörter
DE602004004572T2 (de) Verfolgen von Vokaltraktresonanzen unter Verwendung einer zielgeführten Einschränkung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R071 Expiry of right