-
BEZUGNAHME AUF VERWANDTE ANMELDUNG(EN)
-
Diese Anmeldung nimmt die Priorität der am 10. Oktober 2008 eingereichten vorläufigen US-Anmeldung Nr. 61/195,743 in Anspruch, deren Gegenstand hier durch Bezugnahme einbezogen ist.
-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich im Allgemeinen auf ein Echtzeit-Datenmuster-Analysesystem und spezieller auf ein System für die Spracherkennung.
-
HINTERGRUND UND STAND DER TECHNIK
-
Echtzeit-Datenmuster-Erkennung wird in zunehmendem Umfang zur Analyse von Datenströmen bei der Steuerung kleiner und vernetzter elektronischer Systeme eingesetzt. Beispielsweise finden Spracherkennungssysteme auf dem Markt tragbarer Geräte, von Servern und von PCs zunehmende Verbreitung. Am niedrigen Ende des Leistungsspektrums müssen Spracherkennungssysteme verbundene Ziffern (Vokabular von 10) oder Alphabetbuchstaben (Vokabular von 26) erkennen. Am hohen Ende des Spektrums kann eine stetige Diktatleistungsfähigkeit von 5000 Wörtern erforderlich sein. Fall auch grammatikalische Modelle umfasst sind, könnte ein Trigramm-Vokabular von 20000 erforderlich sein.
-
Die Wortfehlerrate bei Spracherkermungssystemen ist bedeutend höher als für menschliche Spracherkennung. In einigen Fällen (insbesondere in verrauschten Umgebungen) können Spracherkennungssysteme eine um eine Größenordnung höhere Fehlerrate als ein menschlicher Zuhörer aufweisen.
-
Spracherkennungssysteme mit großem Vokabular bestehen typischerweise aus einer Signalverarbeitungsstufe (Merkmalsextraktor) gefolgt von einer Stufe für die akustische Modellierung (Senon-Berechner) gefolgt von einem Phonemauswerfer (Viterbi-Suche) und gefolgt von einem Wortmodellierer.
-
In der Signalverarbeitungsstufe werden Verfahren wie lineare voraussagende Kodierung (Linear Predictive Coding, LPC) oder schnelle Fourier-Transformationen (Fast Fourier Transforms, FFT) angewendet, um eine parametrische digitale Darstellung des Eingangssignals zu extrahieren. Dieses Verfahren wird in regelmäßigen Zeitabständen oder Frames von ungefähr 10 ms wiederholt.
-
In der Stufe der akustischen Modellierung werden diese parametrische Beobachtungsvektoren dann mit den in dem Speicher gespeicherten Senonen verglichen (die Bezeichnung „Senon” bezeichnet eine grundlegende subphonetische Einheit). Der Vergleich des parametrischen Beobachtungsvektors mit den Senonen ist eine rechen- und speicherintensive Aufgabe, da alle 10 ms bis zu 20000 Senone verglichen werden. Während dieses Vergleichs kann für jedes Senon eine mehrdimensionale Gaußsche Wahrscheinlichkeit errechnet werden und stellt den mathematischen „Abstand” zwischen dem Eingangsmerkmalvektor und jedem der gespeicherten Senone dar.
-
In der Phonemauswertungsstufe können verstekte Markov-Modelle (Hidden Markov Models, HMMs) verwendet werden, um Phoneme als eine Folge von Senonen zu modellieren, wobei bestimmte Senone stochastisch mit einem Zustand in einem HMM assoziiert werden. Für eine gegebene beobachtete Folge von Senonen besteht eine wahrscheinlichste Folge von Zuständen in einem entsprechenden HMM. Dieses entsprechende HMM wird dann mit dem beobachteten Phonem assoziiert. Um das wahrscheinlichste Phonem zu finden, welches einer Folge von Senonen entspricht, wird oftmals der Viterbi-Algorithmus verwendet.
-
Der Viterbi-Algorithmus führt eine Rechnung aus, welche bei dem ersten Zeitraster beginnt und dann in einer zeitsynchronen Weise um je ein Zeitraster voranschreitet. Für jedes in Betracht bezogene Senon in dem HMMs wird eine Wahrscheinlichkeitskennzahl errechnet. Deshalb wird eine kumulative Wahrscheinlichkeitskennzahl für jede der möglichen Senonfolgen sukzessive berechnet, wenn der Viterbi-Algorithmus die aufeinanderfolgenden Beobachtungsvektoren analysiert. Am Ende einer Äußerung stellt das HMM mit der durch den Viterbi-Algorithmus errechneten höchsten Wahrscheinlichkeitskennzahl das wahrscheinlichste Phonem für die gesamte Folge dar.
-
Die Stufe der akustischen Modellierung ist der rechnerische Flaschenhals des Spracherkennungsprozesses. Dies beruht auf zwei Faktoren: 1) der großen Anzahl von Fließpunktrechnungen, welche zur Auswertung der mehrdimensionalen Gaußschen Wahrscheinlichkeiten jedes Senons erforderlich sind, und 2) die Speicherbandbreitenbeschränkungen beim Zugreifen auf die Senondaten.
-
Die Auswertung eines konventionellen SPHINX3-Spracherkennungssystems auf einer 1,7 GHz x86-Mikroprozessor-basierten Plattform zeigte, dass zum Verarbeiten einer 1000-Wort-Aufgabe 160% mehr als die Echtzeit erforderlich war und ein bedeutender Anteil der Speicherbus-Bandbreite genutzt werden musste. Aufgrund ihrer langsameren Verarbeitungsgeschwindigkeit und der Erfordernisse reduzierter Leistungsaufnahme mobiler Prozessoren beschränkt dieser Flaschenhals ernsthaft die Fähigkeit tragbarer Geräte, eine Spracherkennungssoftware mit einem großen Vokabular und mit einer ähnlichen Architektur zu unterstützen.
-
Probleme mit der Geschwindigkeit und den Fähigkeiten der Speicherung/Verarbeitung von Spracherkennungssystemen veranschaulichen beispielhaft die mit dem Analysieren von Datenströmen in Echtzeit oder nahe der Echtzeit verbundenen Schwierigkeiten. Die mit der Spracherkennung verbundenen Probleme können daher auf die Analyse anderer Datenströme von Streaming-Medien bis zu der Analyse von Signalverhalten in Smart-Utility-Netzwerken verallgemeinert werden.
-
Es besteht daher weiterhin ein Bedarf nach Systemen und Verfahren zum Vermindern von Engpässen in der Analyse von Datenmustern in elektronischen und vernetzten Systemen, wie z. B. in Mobiltelefonen verwendeten Spracherkennungssystemen. Im Hinblick auf den zunehmenden Bedarf an Echtzeit-Datenanalyse bei der Steuerung elektronischer Geräte und Netzwerke ist es zunehmend wichtig, dass Lösungen für diese Probleme gefunden werden.
-
Hinsichtlich des stetig zunehmenden Drucks kommerzieller Wettbewerbsfähigkeit zusammen mit steigenden Nutzererwartungen und schwindenden Möglichkeiten bedeutsamer Produktdifferenzierung auf dem Markt ist es weiterhin wichtig, dass Lösungen für diese Probleme gefunden werden.
-
Das Erfordernis, die Kosten zu reduzieren und die Effizienz und Leistungsfähigkeit zu verbessern sowie dem Wettbewerbsdruck standzuhalten macht die wichtige Herausforderung, Lösungen für diese Probleme zu finden, zusätzlich noch dringender.
-
Lösungen für diese Probleme wurden seit langer Zeit gesucht, jedoch haben vorangegangenen Entwicklungen keinerlei Lösungen gelehrt oder nahegelegt, so dass Lösungen für diese Probleme sich dem Fachmann lange entzogen haben.
-
OFFENBARUNG DER ERFINDUNG
-
Die vorliegende Erfindung stellt ein Verfahren zum Betrieb eines Echtzeit-Datenmuster-Analysesystems mit folgenden Schritten bereit: Bereitstellen eines Speichermoduls, einer Rechnereinheit und eines integrierten Datentransfermoduls, welche innerhalb eines integrierten Schaltkreischips angeordnet sind; Speichern eines Datenmusters innerhalb des Speichermoduls; Übertragen des Datenmusters von dem Speichermodul auf die Rechnereinheit unter Verwendung des integrierten Datentransfermoduls; und Vergleichen verarbeiteter Daten mit dem Datenmuster unter Verwendung der Rechnereinheit.
-
Die vorliegende Erfindung stellt zusätzlich ein Echtzeit-Datenmuster-Analysesystem bereit, welches innerhalb des Chips eines integrierten Schaltkreises integriert ist und folgende Komponente umfasst: ein Speichermodul zum Speichern eines Datenmusters; eine Rechnereinheit zum Vergleichen verarbeiteter Daten mit dem Datenmuster; und ein integriertes Datenmodul zum Übertragen des Datenmusters von dem Speichermodul an die Rechnereinheit.
-
Bestimmte Ausführungsformen der Erfindung haben zusätzlich zu den vorangehend genannten oder anstelle der vorangehend genannten andere Schritte oder Elemente. Die Schritte oder Elemente werden dem Fachmann durch Lesen der nachfolgenden ausführlichen Beschreibung unter Bezugnahme auf die begleitenden Figuren offensichtlich werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein schematisches Blockdiagramm, welches ein Echtzeit-Datenmuster-Analysesystem 100 gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
-
2 ist eine schematische Darstellung eines Grundrisses eines Echtzeit-Datenmuster-Analysesystems, welches in einen integrierten Schaltkreischip integriert ist, gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
-
3 ist ein Flussdiagramm, welches ein Verfahren zur Spracherkennung 300 auf Grundlage des versteckten Markov-Modells (Hidden Markov Model, HMM), wie es in einer weiteren Ausführungsform der vorliegenden Erfindung verwendet wird, veranschaulicht;
-
4 ist ein Flussdiagramm, welches weitere Einzelheiten der Datenstation des Verfahrens der Spracherkennung nach 3 veranschaulicht.
-
5 ist ein schematisches Blockdiagramm, welches ein Echtzeit-Spracherkennungssystem auf der Grundlage des Echtzeit-Datenmuster-Analysesystems der 1, wie es in einer weiteren Ausführungsform der vorliegenden Erfindung verwendet wird, zeigt; und
-
6 ist ein Flussdiagramm eines Verfahrens zum Betrieb eines Echtzeit-Datenmuster-Analysesystems gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
-
BESTE AUSFÜHRUNGSFORM DER ERFINDUNG
-
Die nachfolgenden Ausführungsformen werden in ausreichenden Einzelheiten beschrieben, um dem Fachmann das Herstellen und die Verwendung der Erfindung zu ermöglichen. Es versteht sich, dass auf der Grundlage der vorliegenden Offenbarung andere Ausführungsformen offensichtlich sind und dass Änderungen an dem System, dem Verfahren oder der Mechanik ausgeführt werden können, ohne den Bereich der vorliegenden Erfindung zu verlassen.
-
In der nachfolgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargestellt, um ein tiefes Verständnis der Erfindung zu vermitteln. Es ist jedoch offensichtlich, dass die Erfindung ohne diese spezifischen Einzelheiten ausgeführt werden kann. Um ein Verschleiern der vorliegenden Erfindung zu vermeiden, werden einige wohlbekannte Schaltkreise, Systemkonfigurationen und Verfahrensschritte nicht in Einzelheiten offenbart.
-
Die die Ausführungsformen des Systems zeigenden Zeichnungen sind semi-diagrammatisch und nicht maßstabsgetreu, und insbesondere sind einige der Abmessungen aus Gründen der Klarheit der Darstellung gewählt und in den Figuren der Zeichnungen übertrieben dargestellt. Obwohl die Ansichten in den Zeichnungen aus Gründen der besseren Beschreibung im Allgemeinen ähnliche Orientierungen zeigen, ist diese Darstellung in den Figuren in ähnlicher Weise meist willkürlich. Im Allgemeinen kann die Erfindung in jeder Orientierung betrieben werden.
-
Dieselben Nummern werden in allen Figuren der Zeichnungen verwendet, um dieselben Elemente zu bezeichnen. Die Ausführungsformen sind als erste Ausführungsform, zweite Ausführungsform usw. aus Gründen der einfacheren Beschreibung nummeriert und sollen keine andere Bedeutung darstellen oder Beschränkung der vorliegenden Erfindung darstellen.
-
Unter Bezugnahme auf 1 wird dort ein schematisches Blockdiagramm gezeigt, welches ein Echtzeit-Datenmuster-Analysesystem 100 gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die Architektur des Echtzeit-Datenmuster-Analysesystems 100 ist optimiert dafür, Echtzeit-Analyse eines Datenstroms 102 durch Vergleich verarbeiteter Daten 104, welche von dem Datenstrom 102 her stammen, mit einem in einem Speichermodul 108, welches unter Verwendung eines flüchtigen Speichers wie eines DRAM oder eines nichtflüchtigen Speichers wie eines Flash-Speichers implementiert sein kann, gespeicherten Datenmuster 106 bereitzustellen.
-
In der bevorzugten Ausführungsform der Erfindung ist das Speichermodul 108 unter Verwendung eines nicht-flüchtigen Speichers implementiert. Beispiele eines nicht-flüchtigen Speichers umfassen neben vielen anderen Optionen NOR-Flash-Speicher, NAND-Flash-Speicher, Phasenänderungsspeicher, resistive Speicher, magnetische RAM-Speicher oder FERAM-Speicher.
-
Das Echtzeit-Datenmuster-Analysesystem 100 kann ein Signalverarbeitungsmodul 110 zum Umwandeln des Datenstromes 102 in die verarbeiteten Daten 104 umfassen. Von dem Signalverarbeitungsmodul 110 ausgeführte Signalverarbeitungsfunktionen können Analog-Digital-Wandlung, Umwandlung aus dem Zeitraum in den Frequenzraum und/oder jede andere Signalmanipulation umfassen, welche die angemessene Umwandlung des Datenstroms 102 in die verarbeiteten Daten 104, welche mit dem Datenmuster 106 verglichen werden können, zur Folge hat.
-
Eine Rechnereinheit 112 errechnet einen Vergleich zwischen den verarbeiteten Daten 104 und dem Datenmuster 106 und erzeugt einen Kennzahl-Ausgangswert 114, welcher eine Musterübereinstimmung zwischen den verarbeiteten Daten 104 und dem Datenmuster 106 quantifiziert. Bei dem Ausführen eines solchen Vergleichs muss die Rechnereinheit 112 die verarbeiteten Daten 104 mit mehreren unterschiedlichen Variationen des in dem Speichermodul 108 gespeicherten Datenmusters 106 vergleichen.
-
In einer Ausführungsform der Erfindung ist der durch die Rechnereinheit 112 ausgeführte Vergleich die Errechnung einer mehrdimensionalen Gaußschen Wahrscheinlichkeit für jedes Beispiel des in dem Speichermodul 108 gespeicherten Datenmusters 106, welche den „mathematischen Abstand” zwischen den verarbeiteten Daten 104 und dem Datenmuster 106 darstellt.
-
Die Übertragung des Datenmusters 106 von dem Speichermodul 108 an die Rechnereinheit 112 wird unter Verwendung eines integrierten Datentransfermoduls 116 ausgeführt, welches einen massiv parallelen Datenbus 118 hoher Bandbreite, einen Speicherpuffer 120 und einen Datenbus 122 hoher Bandbreite umfassen kann.
-
Es wurde herausgefunden, dass der die Rate begrenzende Schritt in der Implementierung des Echtzeit-Datenmuster-Analysesystems 100 der Datentransfer zwischen dem Speichermodul 108 und der Rechnereinheit 112 ist. Aus diesem Grunde ist ein Schlüsselaspekt des Echtzeit-Datenmuster-Analysesystems 100 die Integration des Speichermoduls 108, des integrierten Datentransfermoduls 116 und der Rechnereinheit 112 innerhalb eines Chips 124 eines integrierten Schaltkreises. In einer alternativen Ausführungsform der vorliegenden Erfindung ist auch das Signalverarbeitungsmodul 110 in den Chip 124 des integrierten Schaltkreises integriert.
-
Unerwarteterweise wurde beobachtet, dass die Integration des Speichermoduls 108, des integrierten Datentransfermoduls 114 und der Rechnereinheit 112 innerhalb des Chips 124 des integrierten Schaltkreises die Implementierung des integrierten Datentransfermoduls 114 in einer Weise ermöglicht, welche Querverbindungen maximiert, während Störeffekte, welche den Datentransfer verschlechtern können, minimiert werden.
-
In einer nicht integrierten Konfiguration eines Datenmuster-Analysesystems wäre die Datenbusbreite zwischen dem Speichermodul 108 und der Rechnereinheit 112 auf die Anzahl der vorhandenen Eingangs-/Ausgangs-Kontaktpads beschränkt, welche von 8 bis 32 Bit reichen können. Im Gegensatz dazu ermöglicht die Implementierung des integrierten Datentransfermoduls 114 innerhalb des Chips 124 des integrierten Schaltkreises eine 256 Bit übersteigende Busbreite, welche sich direkt in eine Datentransferrate zwischen dem Speichermodul 108 und der Rechnereinheit 112, welche 1 Gigabyte pro Sekunde übersteigt, übersetzt.
-
Es wurde unerwarteterweise ermittelt, dass das Echtzeit-Datenmuster-Analysesystem 100 für die Analyse des Datenstroms 102 in Echtzeit oder nahezu in Echtzeit eingesetzt werden kann, wobei es sich um Sprachdaten, Multimedia-Streamingdaten oder jedwede über ein Gitternetz oder Netzwerk übertragene Daten, welche analysiert werden müssen, handeln kann. Beispielsweise kann das Echtzeit-Datenmuster-Analysesystem 100 zur Erkennung von Datensignaturen innerhalb eines Stromübertragungsnetzes oder eines örtlichen Stromnetztes verwendet werden, wobei die Datensignaturen Anomalien oder den Betrieb einer bestimmten Vorrichtung innerhalb des Netzes oder Netzwerks anzeigen.
-
Es wurde unerwarteterweise entdeckt, dass mehrere Einzelelemente des Echtzeit-Datenmuster-Analysesystems 100 in Parallelschaltung verwendet werden können und dadurch in Abhängigkeit von der Komplexität des Datenstroms 102 eine Skalierbarkeit bereitstellen. Für die parallele Verwendung des Echtzeit-Datenmuster-Analysesystems 100 können zusätzliche Module (nicht gezeigt) erforderlich sein, um den Datenstrom 102 zu verwalten und die Funktion zwischen den Einzelelementen des Echtzeit-Datenmuster-Analysesystems 100 zu koordinieren.
-
Unter Bezugnahme auf 2 wird dort eine schematische Darstellung des Grundrisses eines Echtzeit-Datenmuster-Analysesystems 200, welches innerhalb eines Chips 202 eines integrierten Schaltkreises integriert ist, gemäß einer weiteren Ausführungsform der vorliegenden Erfindung gezeigt. Das Echtzeit-Datenmuster-Analysesystem 200 umfasst einen nichtflüchtigen Speicherkern 204, wie beispielsweise einen Flash-Speicherkern, welcher über einen massiv parallelen Datenbus 206 hoher Bandbreite angeschlossen ist, welcher zum Übertragen des Datenmusters 106 der 1 von dem nicht-flüchtigen Speicherkern 204 an ein eine Rechnereinheit 210 umfassendes peripheres Schaltkreismodul 208 verwendet wird. Der Chip 202 des integrierten Schaltkreises umfasst ein Ladungspumpenmodul 212 zum Bereitstellen angemessener Spannungsniveaus, um den nicht-flüchtigen Speicherkern 204 und das periphere Schaltkreismodule 208 zu unterstützen.
-
Der Chip 202 des integrierten Schaltkreises kann je nach Erforderlichkeit in Abhängigkeit der für das Echtzeit-Datenmuster-Analysesystem 200 erforderlichen Speicherkapazität ein oder mehrere Einzelelemente des nicht-flüchtigen Speicherkerns 204 umfassen. In einigen Anwendungen können beispielsweise ein oder zwei Einzelelemente des nicht-flüchtigen Speicherkerns 204 erforderlich sein, um zahlreiche Beispiele des Datenmusters 106 der 1 zu speichern, wodurch sich eine erforderliche Gesamtspeicherkapazität von 600 Megabyte ergeben kann. Höhere Speicherkapazitäten sind durch Erhöhen der Anzahl der nicht-flüchtigen Speicherkerne 204 erreichbar.
-
Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist der massiv parallele Datenbus 206 hoher Bandbreite wenigstens 256 Bit breit. Unter der Annahme, dass der nicht-flüchtige Speicherkern 204 unter Verwendung der Hochgeschwindigkeits-NOR-Flashspeichertechnologie ausgeführt ist, können die 256 Bit im Stoßbetrieb in ungefähr 30 Nanosekunden ausgelesen werden, wodurch sich eine effektive Datentransferrate von mehr als 1 Gigabyte pro Sekunde ergibt. Es wurde also herausgefunden, dass die Implementierung des massiv parallelen Datenbusses 206 hoher Bandbreite innerhalb des Chips 202 des integrierten Schaltkreises die Implementierung von Datentransferraten von 1 Gigabyte pro Sekunde zwischen dem nicht-flüchtigen Speicherkern 204 und dem peripheren Schaltkreismodul 208, welches die Rechnereinheit 210 enthält, ermöglicht.
-
Das Datenmuster 106 der 1 gelangt über einen Speicherpuffer 214 in das periphere Schaltkreismodul 208 und wird über einen Datenbus 216 hoher Bandbreite zu der Rechnereinheit 210 geleitet. In einer Ausführungsform der Erfindung umfasst der Speicherpuffer 214 einen Schaltkreis zum Implementieren eines fehlerkorrigierenden Codes, eines Verfahrens zur Korrektur von Lesefehlern. Ein Hochspannungsmodul 218 stellt eine zusätzliche Leistungsaufbereitung für Komponenten innerhalb des Chips 202 des integrierten Schaltkreises bereit, und ein Mikrocontroller-Zustands-Maschinenmodul 210 stellt eine Chipsteuerung und externe Chip-Schnittstellenfunktionen bereit. Niederspannungs-Leistungsaufbereitungsschaltkreise können innerhalb des Mikrocontroller-Zustands-Maschinenmoduls 220 integriert sein.
-
In 3 ist ein Flussdiagramm gezeigt, welches ein Verfahren zur Spracherkennung 300 auf der Grundlage des versteckten Markov-Models (Hidden Markov Model, HMM), wie es in einer weiteren Ausführungsform der vorliegenden Erfindung verwendet wird, veranschaulicht. Es sollte bemerkt werden, dass Spracherkennungssysteme auf der Grundlage des versteckten Markov-Models verglichen mit anderen Methoden eine vergleichsweise hohe Genauigkeit aufweisen. In solchen Systemen werden die grundlegenden phonetischen Einheiten („Phone”) unter Verwendung von versteckten Markov-Modellen, welche aus subphonetischen Einheiten („Senonen”) aufgebaut sind, beschrieben. Die Genauigkeit des Spracherkennungssystems ist daher in großem Maße bestimmt durch die Anzahl der Senone, welche in einer gegebenen Zeitspanne mit einer Äußerung verglichen werden können. Dieses Verfahren der Senonenbewertung ist üblicherweise der rechnerische Engpass von Spracherkennungssystemen.
-
Ein analoges Sprachsignal 302 tritt in ein Signalverarbeitungsmodul 304 ein, wo es in einen Merkmalsvektor 306 ungewandelt wird, welcher eine digitale Darstellung des analogen Sprachsignals 302 ist. Mel-Frequenz-Cepstrum-Koeffizienten, Koeffizienten, welche kollektiv das kurzfristige Powerspektrum eines Klanges darstellen, können verwendet werden, um das analoge Sprachsignal 302 darzustellen. Nur die ersten 13 Cepstrum-Koeffizienten können erforderlich sein.
-
Der Merkmalsvektor 306 wird einer Gaußschen Bewertungseinheit 308 vorgelegt, welche zum Berechnen einer Senonkennzahl 310 verwendet wird, welche den mathematischen Abstand oder den besten Fit zwischen dem Merkmalsvektor 306 und einem oder mehreren in einer Senonvektortabelle 312 gespeicherten Senonen darstellt. Die in der Senonvektortabelle 312 gespeicherte Information umfasst die Mittelwerte, Kovarianzen und Gewichtsfaktoren für jede Vektorkomponente jeder Mischung des Senonmodels.
-
In dem bekannten Stand der Technik wird die Senonvektortabelle 312 in einem separaten DRAM-Chip (nicht gezeigt) gespeichert, in welchen die Senondaten während des Hochfahrens des Systems geladen werden, und geht verloren, wenn das System ausgeschaltet wird. Eine Phonem-Modellierungseinheit 314 stellt der Gaußschen Bewertungseinheit 308 eine aktive Senonliste 316 zur Verfügung. Die aktive Senonliste 316 bestimmt die Auswahl der in der Senonvektortabelle 312 gespeicherten Senone, welche mit dem Merkmalsverktor 306 verglichen werden müssen.
-
Es gibt zusätzliche Stufen, welche zum Erkennen eines Wortes 318 verwendet werden. Die Senonkennzahl 310 wird zu der Phonem-Modellierungseinheit 314 geleitet. Ein Phonem ist die kleinste Segmenteinheit des Klanges, welche erforderlich ist, um aussagekräftige Kontraste zwischen Äußerungen zu bilden. In der Phonem-Modellierungseinheit 314 werden sequentielle Senone verwendet, um das wahrscheinlichste Phonem zu bestimmen. Auf ähnliche Weise werden in einer Wort-Modellierungseinheit 320 sequentielle Phoneme verwendet, um die wahrscheinlichste Auswahl des Wortes 318 zu bestimmen.
-
In 4 ist ein Flussdiagramm gezeigt, welches weitere Einzelheiten der Datenstation der Methode zur Spracherkennung 300 der 3 zeigt. Das analoge Sprachsignal 302 wird durch ein Signalverarbeitungsmodul 402 verarbeitet, welches Mel-Frequenz-Cepstrum-Koeffizienten 404 ausgibt. Ein Cepstrum-Mittel-Normierungsmodul 406 kompensiert die Verzerrung des Mikrophons und von Umgebungsgeräuschen und führt zu der Bildung des Merkmalsvektors 306. Eine Senon-Bewertungseinheit 408 umfasst die Senonvektortabelle 312, und die Gaußsche Bewertungseinheit 308 verwendet den Merkmalsvektor 306 zum Berechnen einer Senonkennzahl 310.
-
In 5 wird ein schematisches Blockdiagramm gezeigt, welches ein Echtzeit-Spracherkennungssystem 500 auf der Grundlage des Echtzeit-Sprachmuster-Analysesystems 100 der 1 zeigt, wie es in einer weiteren Ausführungsform der vorliegenden Erfindung verwendet wird. Die Architektur des Echtzeit-Spracherkennungssystems 500 ist optimiert, um Echtzeitanalyse – in einem Zeitraster von ungefähr 10 ms – des analogen Sprachsignals 302 auszuführen, indem der von dem analogen Sprachsignal 302 herrührende Merkmalsvektor 306 mit einem in dem Speichermodul 108, welches die Senonvektortabelle 312 der 3 speichert, gespeicherten Senon 502 verglichen wird.
-
Das Echtzeit-Spracherkennungssystem 500 kann das Signalverarbeitungsmodul 110 zum Umwandeln des analogen Sprachsignals 302 in den Merkmalsvektor 306 umfassen. Durch das Signalverarbeitungsmodul 110 ausgeführte Signalverarbeitungsfunktionen können die Analog-Digital-Wandlung, die Umwandlung von dem Zeitraum in den Frequenzraum und/oder jede andere Signalmanipulation umfassen, welche die adäquate Umwandlung des analogen Sprachsignals 302 in den Merkmalsvektor 306 zur Folge hat.
-
Die Rechnereinheit 112 berechnet einen Vergleich zwischen dem Merkmalsvektor 306 und dem in dem Speichermodul 108 gespeicherten Senon 502 und erzeugt die Senon-Kennzahl 310, welche die beste Übereinstimmung zwischen dem Merkmalsvektor 306 und dem Senon 502 quantifiziert. Zum Ausführen eines solchen Vergleichs muss die Rechnereinheit 112 den Merkmalsvektor 306 mit mehreren verschiedenen Variationen des Senons 502, welches in dem Speichermodul 108 gespeichert ist, vergleichen. Die Rechnereinheit 112 führt also die Funktion der Gaußschen Bewertungseinheit 308 der 3 aus.
-
Die Übertragung des Senons 502 von dem Speichermodul 108 an die Rechnereinheit 112 wird unter Verwendung des integrierten Datentransfermoduls 116 ausgeführt, welches den massiv parallelen Datenbus 118 hoher Bandbreite, den Speicherpuffer 120 und den Datenbus 122 hoher Bandbreite umfasst.
-
Es wurde herausgefunden, dass die Verwendung des Echtzeit-Spracherkennungssystems 500 und des in 2 gezeigten Echtzeit-Datenmuster-Analysesystems 200 solche hohen Datenraten bei einem Leistungsverbrauch, welcher von tragbaren Vorrichtungen, wie beispielsweise einem Mobiltelefon, getragen werden kann, unterstützen.
-
Das Echtzeit-Spracherkennungssystem 500 löst das Speicherproblem durch Bereitstellen eines Speichermoduls 108, welches zum Speichern von weit über 13.000 Variationen des Senons 502 in der Lage ist. Jede Variation des Senons 502 wird in binärer Form in dem Speichermodul 108. welches in dem Chip 124 des integrierten Schaltkreises bereitgestellt ist, gespeichert. Ein Standard-Verfahren zum Speichern von Senon-Informationen ist ein Vektor mit 39 Komponenten. Jede Komponente des Vektors hat 32 Bit Auflösung, und das Senon 502 ist eine Mischung von 20 dieser Vektoren. Unter Berücksichtigung des Erfordernisses, sowohl männliche als auch weibliche Sprache abzudecken, können die Speichererfordernisse in der Größenordnung von 650 Megabit Information liegen (das Produkt von 13.000 Senonen, 39 Komponenten, 20 Mischungen, 32 Bits und 2 Codebüchern), welches eine Leistungsfähigkeit ist, die durch ein NOR-Flashspeicher bereitgestellt werden kann.
-
Für den Echtzeit-Betrieb muss der Vergleich des Merkmalsvektors 306 mit mehreren in dem Speichermodul 108 gespeicherten Variationen des Senons 502 in Zeitrastern von 10 ms ausgeführt werden. Das Auslesen des Senons 502 aus dem Speichermodul 108 und seine Übertragung in die Rechnereinheit 112 erfordern sehr hohe Datenübertragungsraten. Es wurde herausgefunden, dass 256 Bits an Informationen parallel in einem 30 Nanosekunden dauernden Stoßbetrieb ausgelesen werden können, falls das Echtzeit-Spracherkennungssystem 500 unter Verwendung von NOR-Flashspeichertechnologie ausgeführt wird, welches eine Datenübertragungsrate von 1 Gigabyte pro Sekunde darstellt, die Zeitraster von 8,5 ms unterstützen kann.
-
In 6 ist ein Flussdiagramm eines Verfahrens 600 zum Betrieb eines Echtzeit-Datenmuster-Analysesystems gemäß einer weiteren Ausführungsform der vorliegenden Erfindung gezeigt. Das Verfahren 600 umfasst die folgenden Schritte: Bereitstellen eines Speichermoduls, einer Rechnereinheit und eines integrierten Datentransfermoduls, welche innerhalb eines Chips eines integrierten Schaltkreises angeordnet sind, in einem Block 602; Speichern eines Datenmusters innerhalb des Speichermoduls in einem Block 604; Übertragen des Datenmusters von dem Speichermodul zu der Rechnereinheit unter Verwendung des integrierten Datentransfermoduls in einem Block 606; und Vergleichen der verarbeiteten Daten mit dem Datenmuster unter Verwendung der Rechnereinheit in einem Block 608.
-
Das sich ergebende Verfahren, der sich ergebende Prozess, das sich ergebende Gerät, die sich ergebende Vorrichtung, das sich ergebende Erzeugnis und/oder das sich ergebende System sind einfach, kosteneffektiv, unkompliziert, hochgradig vielseitig, genau, empfindlich und effektiv und können unter Adaptierung bekannter Komponenten zur schnellen, effizienten und wirtschaftlichen Herstellung, Anwendung und Verwendung implementiert werden.
-
Ein weiterer wichtiger Aspekt der vorliegenden Erfindung liegt darin, dass sie in wertvoller Weise den historischen Trend der Reduzierung von Kosten, der Vereinfachung von Systemen und der Steigerung der Leistungsfähigkeit unterstützt und bedient.
-
Diese und andere wertvolle Aspekte der vorliegenden Erfindung befördern daher den Stand der Technologie wenigstens auf das nachfolgende Niveau.
-
Während die Erfindung mit Bezug auf eine spezifische beste Ausführung beschrieben wurde, versteht sich, dass viele Alternativen, Modifikationen und Variationen dem Fachmann im Lichte der vorangehenden Beschreibung offensichtlich sein werden. Es ist demgemäß beabsichtigt, alle diese Alternativen, Modifikationen und Variationen, welche unter die beigefügten Ansprüche fallen, zu umfassen. Alle vorangehenden beschriebenen oder in den Zeichnungen gezeigten Gegenstände sind in einem veranschaulichenden und nicht in einem beschränkenden Sinne auszulegen.