-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren und Prozessorsystem
zur Verarbeitung von Audiosignalen zum Zwecke der Sprachverarbeitung
und im Besonderen zur Spracherkennung und Spracherzeugung.
-
Hintergrund
der Erfindung
-
Die
Spracherkennungstechnologie gibt es seit über zwanzig Jahren. In den
letzten Jahren wurde die Spracherkennungstechnologie stark verbessert,
insbesondere im Bereich der Diktier- bzw. Spracheingabesysteme (Speech-to-Text-Systeme), die beispielsweise
von der International Business Machines Corporation (IBM) und Dragon
Systems angeboten werden. Ein Beispiel für ein solches Softwareprodukt
zur Spracherkennung (Speech to Text) und Sprachausgabe (Text to
Speech) ist das Programm Via Voice von IBM, das auf einem Standard-PC
beispielsweise unter dem Betriebssystem Windows oder anderen Betriebssystemen
läuft.
-
Die
universellere Anwendung der Spracherkennung besteht hingegen in
der Eingabe von Daten in Computer und andere elektronische Steuerungssysteme,
um beispielsweise Befehle einzugeben oder einen Prozess oder eine
Maschine zu steuern. Zur Navigation auf der grafischen Benutzeroberfläche eines
Computers kann ein Benutzer beispielsweise die Befehle sprechen,
die das System üblicherweise
in Form von Menüs,
Icons, Kennsätzen, Schaltflächen etc.
enthält.
-
Der
zuletzt genannte Aspekt ist von besonderer Bedeutung für die Steuerung
tragbarer Geräte, wie
z. B. Mobiltelefone, PDAs (Personal Digital Assistants) oder Palmtop-Computer.
-
Ein
weiterer wichtiger Anwendungsbereich ist der Automobilbau. Ein Autoradio
kann beispielsweise mit Spracherkennungsfunktionen ausgestattet sein,
sodass der Fahrer Radiostationen per Sprachsteuerung auswählen kann.
Weitere Anwendungsbeispiele im Automobilbau sind das Eingeben von Steuerbefehlen
zum Einschalten der Fahrzeugbeleuchtung, zum Aktivieren der elektrischen
Fensterheber oder für ähnliche
Funktionen über
die menschliche Sprache in das Steuerungssystem des Fahrzeugs.
-
Mit
dem Aufkommen von Internet- und Multimedia-Anwendungen sowie der
Integration von Unterhaltungs- und Kommunikationselementen in die Fahrzeugelektronik
gewinnt der Bereich der Spracherkennung weiter an Bedeutung.
-
Die
US-Patentschrift 5,602,963 beschreibt einen elektronischen Handheld-Organizer,
der die Spracherkennung auf die von einem Benutzer gesprochenen
Worte anwendet, um Daten in den Organizer einzugeben, und der die
vom Benutzer gesprochenen Nachrichten aufzeichnet. Die gesprochenen Worte
und die Sprachnachrichten werden über ein Mikrofon eingegeben.
Die Sprachnachrichten werden komprimiert und zur Speicherung anschließend in
digitale Signale umgewandelt. Die gespeicherten digitalen Sprachnachrichten
werden wieder in analoge Signale umgewandelt und dann zur Wiedergabe über einen
Lautsprecher wieder dekomprimiert. Der Organizer bietet eine Reihe
unterschiedlicher Funktionen, u. a. für Sprachtraining, Aufzeichnung
von Kurzinformationen, Erinnerungen, manuelle Erinnerungen, Zeitgebereinstellung,
Nachrichtenprüfung, Wartenachricht,
Kalender, Auswahl der Telefongesellschaft, Nummernabfrage, Hinzufügen von
Telefonnummern, Sicherheit und „Nein"-Logik. Während der Ausführung dieser
verschiedenen Funktionen werden Daten prinzipiell durch Sprache
und gelegentlich über
einen kleinen Tastenblock eingegeben, und Sprachnachrichten werden
je nach Bedarf aufgezeichnet und wiedergegeben.
-
Die
US-Patentschrift 5,706,399 beschreibt ein sprachgesteuertes Fahrzeugalarmsystem.
Das System ermöglicht
die Steuerung von auszuführenden
Alarmfunktionen über
spezielle gesprochene Befehle. Ein Mikrofon wandelt die Sprache
in zeitvariante elektrische Spannungsniveaus um, die verstärkt, an
einen Analog-Digital-Wandler
(Analog to Digital Converter, ADC) gesendet und digitalisiert werden. Die
digitalisierten Daten werden anschließend von einem Subsystem für die Spracherkennung
verarbeitet.
-
Das
Subsystem für
die Spracherkennung trennt irrelevante Sprache von Worten und liefert
entsprechende Ausgabesignale, wenn Kontrollworte erkannt werden.
Das Fahrzeugalarmsystem verwendet die Ausgabesignale für den Betrieb
des Mechanismus zur Verriegelung und Entriegelung der Fahrzeugtüren, für den Betrieb
einer lauten, gut hörbaren Sirene
und/oder Hupe, für
den Betrieb der Fahrzeuglichtschalter, zur Steuerung der Motorabschaltung
und des Motorstarts oder für
den Betrieb eines Antwortanzeigers, der in die Haupteinheit für die Alarmsignalverarbeitung
integriert ist. Der Antwortanzeiger liefert verbale Antworten zur
Bestätigung
gesprochener Befehle.
-
Die
US-Patentschrift 5,745,874 beschreibt einen Vorprozessor für die automatische
Spracherkennung. Der Vorprozessor basiert auf der akustischen Modellierung
und enthält
ein Transversalfilter und ein neuronales Netz in Form eines mehrschichtigen
Perzeptrons. Das Transversalfilter empfängt ein analoges Sprachsignal
und stellt dem neuronalen Netz mehrere zeitverzögerte Muster des Signals parallel
als Eingaben bereit. Die einzelne analoge Ausgabe des neuronalen
Netzes eignet sich für
die Schnittstellenbildung mit einem Signalprozessor, der die Sprachinformationen
mit Hilfe der Spektralanalyse weiterverarbeitet, sodass eine Sprachdarstellung mit
wünschenswerten
Merkmalen eines gehörbasierten Spektralanalysemodells
erzeugt wird und gleichzeitig weiterhin eine Standardschnittstelle
für analoge
Signale aufrechterhalten wird.
-
Die
US-Patentschrift 5,960,394 beschreibt ein Verfahren zur Erkennung
von Sprachbefehlen, um gesprochene Äußerungen entweder in Text oder Befehle
umzuwandeln. Das System ist auf einer Plattform installiert, die
in der Lage ist, eine Vielzahl von Anwendungen auszuführen. Text
und Befehle werden aus einer Worterkennungsanwendung an eine oder
mehrere Benutzeranwendungen gesendet. Zusätzlich werden Informationen
zum Status der Benutzeranwendungen an die Worterkennungsanwendung
zurückgesendet.
Die Wahrscheinlichkeitswerte für
die Worterkennung werden anhand der Informationen modifiziert, die
von den Benutzeranwendungen empfangen werden.
-
Die
US-Patentschrift 6,192,343 beschreibt ein System für die Erkennung
eingegebener Sprachbefehle, das Sprachabfragen wie z. B. Hilfeabfragen interpretiert
und eine Liste der in Frage kommenden vorgeschlagenen Befehle ausgibt,
die nach ihrer Relevanz sortiert sind. Das System ermöglicht außerdem das
Hinzufügen
von Termini zum bereits vorhandenen Sprachvokabular.
-
Der
Artikel „A
VLSI architecture for automatic speech recognition on large vocabularies" (Hauenstein A.,
Proceedings of the 35th Midwest Symposium on Circuits and Systems,
Washington DC, USA, 9.–12.
Aug. 1992, Seite 540–543,
ISBN: 0-7803-0510-8) beschreibt ein Prozessorsystem zur Spracherkennung,
das einen Front-End-Prozessor zum Generieren von Merkmalsvektoren,
einen Puffer zum temporären
Speichern der Merkmalsvektoren sowie einen Kernprozessor zum Ausführen der
Abfrage umfasst.
-
Eine
allgemeine Unzulänglichkeit
des dem Stand der Technik entsprechenden Sprachverarbeitungssystems
ist die erforderliche Bandbreite für die Verarbeitungsleistung
und den Speicherzugriff. Die von Standardmikroprozessoren wie der
Pentium-Prozessorfamilie von Intel bereitgestellte Verarbeitungsleistung
ist für
Sprachverarbeitungsanwendungen ausreichend.
-
Die
parallele Ausführung
anderer Anwendungsprogramme im PC hingegen kann sich durch die Verwendung
eines Spracherkennungssystems deutlich verlangsamen, da das Spracherkennungssystem
einen beträchtlichen
Anteil der verfügbaren Verarbeitungskapazität in Anspruch
nimmt. Gleichzeitig kann dies dazu führen, dass die Leistungsfähigkeit
des Spracherkennungssystems für
den Benutzer nicht zufrieden stellend ist.
-
Zum
andern gibt es eine Vielzahl von Anwendungen, für deren Ausführung die
Nutzung solcher Standardmikroprozessoren mit hoher Leistung aus einer
Reihe von Gründen
nicht wünschenswert
ist. Erstens kann der Preis eines zusätzlichen Prozessors für die Spracherkennung
inakzeptabel hoch sein. Zweitens kann bei tragbaren elektronischen Geräten der
Stromverbrauch eines zusätzlichen Hochleistungsprozessors
die Batterielebensdauer drastisch verkürzen.
-
Es
ist daher Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren
und Prozessorsystem zur Verarbeitung von Audiosignalen bereitzustellen.
-
Zusammenfassung
der Erfindung
-
Die
Aufgabe der vorliegenden Erfindung wird durch das Anwenden der Merkmale
der jeweiligen Ansprüche
erfüllt.
Bevorzugte Ausführungsarten
der Erfindung werden in den Unteransprüchen beschrieben.
-
Die
Erfindung ist insofern vorteilhaft, dass sie es ermöglicht,
die Leistungsfähigkeit
der Spracherkennung zu optimieren, indem Spitzen bei der Verarbeitungsanforderung
sowie die bei Standardsystemen für
die Datenverarbeitung auftretenden Engpasseffekte vermieden werden.
-
Als
weiterer Vorteil erweist sich, dass es die Erfindung ermöglicht,
den Energieverbrauch der Gesamtlösung
aus Spracherkennungs- und Sprachausgabesystem zu minimieren – eine Grundvoraussetzung
für die
Entwicklung hoch effizienter mobiler Geräte, die über Systeme zur Verarbeitung
von Audiosignalen verfügen.
Die Erfindung ermöglicht
eine deutliche Senkung des Gesamtenergieverbrauchs des Systems,
sodass batteriebetriebene elektronische Handheld-Geräte pro Batterieladung über einen
längeren
Zeitraum eingesetzt werden können.
-
Gemäß einer
bevorzugten Ausführungsart führt die
selektive Anwendung eines Taktsignals auf den Front-End-Prozessor,
das Anwendungsprogramm und/oder die Back-End-Verarbeitungskomponente
zu einer weiteren Reduzierung des Energieverbrauchs.
-
Die
vorliegende Erfindung kann ohne zusätzliche Kosten implementiert
werden und verschafft potenziell Kostenvorteile, da sie den Einsatz
eines preisgünstigeren
Prozessors erlaubt, der weniger Strom verbraucht und geringere Anforderungen
an die Kühlung
stellt.
-
Kurzbeschreibung
der Zeichnungen
-
Die
vorliegende Erfindung wird verständlicher
und ihre Aufgaben und Vorteile treten für den Fachmann deutlicher hervor,
indem auf die folgenden Zeichnungen und die dazugehörige Spezifikation
Bezug genommen wird:
-
1 stellt
anhand eines Blockdiagramms ein Prozessorsystem gemäß der Erfindung
dar;
-
2 stellt
anhand eines Flussdiagramms den Betrieb des Prozessorsystems aus 1 dar.
-
1 zeigt
ein Prozessorsystem 1 mit einem Taktschaltkreis 2,
einem Stromversorgungssubsystem 3, einem Front-End-Prozessorsystem 4,
einem Kernprozessorsystem 5, einem Back-End-Prozessorsystem 6 sowie
Dual-Access-Stapelspeichern 7 und 8 für den dualen
Speicherzugriff.
-
Das
Front-End-Prozessorsystem 4 verfügt über einen Audioverstärker 9,
der ein von einem Mikrofon erzeugtes analoges Signal empfängt. Der
Audioverstärker 9 ist
mit einem Filter 10 zum Filtern des analogen Audiosignals
verbunden. Der Ausgang des Filters 10 ist mit einem Analog-Digital-Wandler 11 verbunden.
Der Ausgang des Analog-Digital-Wandlers 11 ist mit dem
Front-End-Prozessor 12 verbunden.
-
Der
Front-End-Prozessor 12 ist mit einem nicht flüchtigen
Speicher 13 verbunden, der die Programmanweisungen für den Front-End-Prozessor 12 enthält. Der
Front-End-Prozessor 12 ist außerdem mit dem Arbeitsspeicher
(RAM) 14 verbunden, der vom Front-End-Prozessor 12 zur
Datenverarbeitung genutzt wird.
-
Der
Front-End-Prozessor 12 verfügt über einen Ausgang, der mit
einem Verstärkungsregler 15 verbunden
ist, der die vom Audioverstärker 9 bewirkte
Signalverstärkung
regelt.
-
Darüber hinaus
ist der Front-End-Prozessor 12 mit dem Dual-Access-Stapelspeicher 7 verbunden.
Der Dual-Access-Stapelspeicher 7 ist
eine Speichervorrichtung, wie z. B. ein Dual-Port-RAM oder Dual-Port-FIFO-Speicher,
mit jeweils zwei Ein- und Ausgängen
für das
Ausführen
von asynchronen Lese- oder Schreiboperationen Das Kernprozessorsystem 5 enthält einen
Kernprozessor 16, der mit dem Dual-Access-Stapelspeicher 7 verbunden
ist. Der Kernprozessor 16 ist außerdem mit einem Nur-Lese-/FLASH-Speicher 17 und
mit dem statischen Arbeitsspeicher (RAM) 18 verbunden.
Die Speicher 17 und 18 enthalten Daten, die zur
Spracherkennung (Voice Recognition, VR) und zur Sprachausgabeverarbeitung
für Text
(Text To Speech, TTS) verwendet werden.
-
Der
Kernprozessor 16 ist zudem mit dem Arbeitsspeicher (RAM) 19 und
mit dem Massenspeicher-Controller 20 verbunden, um den
Zugriff auf einen externen Massenspeicher, wie z. B. auf eine CD-ROM,
eine DVD oder eine Festplatte, zu ermöglichen.
-
Darüber hinaus
ist der Kernprozessor 16 mit dem Dual-Access-Stapelspeicher 8 verbunden.
Der Dual-Access-Stapelspeicher 8 ist mit dem Back-End-Prozessor 21 verbunden.
Der Back-End-Prozessor 21 ist
mit einem nicht flüchtigen Speicher 22 verbunden,
in dem das vom Back-End-Prozessor 21 auszuführende Programm gespeichert
ist. Der Back-End-Prozessor 21 ist zudem mit einem Digital-Analog-Wandler 23 (DAC)
verbunden, der ein analoges Signal an den Verstärker 24 sendet. Der
Verstärker 24 gibt
ein analoges Audiosignal aus, das an einen Lautsprecher gesendet wird.
-
Zusätzlich verfügt der Back-End-Prozessor 21 über einen
Digitalausgang 33 zur Bereitstellung eines digitalen Audiosignals.
-
Der
Back-End-Prozessor 21 ist zudem mit dem Verstärkungsregler 25 verbunden,
der die vom Audioverstärker 24 bewirkte
Signalverstärkung
regelt.
-
Das
Eingangssignal des Verstärkers 9 wird auch
an den Schwellenwertdetektor 26 für Audiosignale gesendet. Der
Audio- Schwellenwertdetektor 26 ist
mit der Taktsteuerung 27 verbunden. Die Taktsteuerung 27 ist
mit dem nicht flüchtigen
Speicher 28 verbunden, in dem das von der Taktsteuerung 27 auszuführende Programm
gespeichert ist. Die Taktsteuerung 27 hat einen Ausgang,
der mit dem Stromversorgungssubsystem 3 und mit dem Systemtaktgenerator 29 verbunden
ist.
-
Der
Systemtaktgenerator gibt die drei Takte C1, C2 und C3 aus. Der Takt
C1 wird über
die Leitung 30 an den Front-End-Prozessor 12 übertragen,
der Takt C2 wird über
die Leitung 31 an den Kernprozessor 16 übertragen
und der Takt C3 wird über
die Leitung 32 an den Back-End-Prozessor 21 übertragen.
-
Das
Stromversorgungssubsystem 3 empfängt an seinem Eingang ein Leistungsregelungssignal
von der Taktsteuerung 27. Das Stromversorgungssubsystem
erzeugt die Leistungssignale P1 bis P6, die an das Front-End-Prozessorsystem 4,
das Back-End-Prozessorsystem 6,
das Kernprozessorsystem 5, den Taktschaltkreis 2 sowie
an den Dual-Access-Stapelspeicher 7 bzw. den Dual-Access-Stapelspeicher 8 übertragen
werden.
-
Wenn
kein analoges Audiosignal vorliegt, befindet sich das Prozessorsystem 1 in
einem Ruhezustand mit minimalem Stromverbrauch. Wird der Eingang
eines analogen Audiosignals vom Audio-Schwellenwertdetektor 26 des
Taktschaltkreises erkannt, wird die Taktsteuerung 27 aktiviert.
-
In
einem ersten Schritt weist die Taktsteuerung 27 den Systemtaktgenerator 29 an,
nur das Taktsignal C1 zu generieren, um den Front-End-Prozessor 12 zu
aktivieren. Gleichermaßen
wird das Stromversorgungssubsystem 3 von der Taktsteuerung 27 angewiesen,
die über
die Leistungssignale gelieferte Leistung zu erhöhen, um das Prozessorsystem 1 aus
dem Ruhezustand zu bringen.
-
Das
analoge Audiosignal wird an den Front-End-Prozessor 12 gesendet,
nachdem es vom Audioverstärker 9 verstärkt, vom
Filter 10 gefiltert und vom Analog-Digital-Wandler 11 umgewandelt wurde.
Das digitalisierte Audiosignal wird vom Front-End-Prozessor 12 mit
dem Programm verarbeitet, das im Speicher 13 gespeichert
ist. Der Front-End-Prozessor 12 nutzt den Arbeitsspeicher 14,
um die entsprechenden Operationen zur Datenverarbeitung auszuführen. Die
Datenverarbeitungsoperation, die von den im Speicher 13 gespeicherten Programmen
ausgeführt
wird, resultiert in einem Ausgabedatenstrom, der vom Dual-Access-Stapelspeicher 7 gepuffert
wird.
-
Nach
Ablauf eines bestimmten Zeitintervalls weist die Taktsteuerung 27 den
Systemtaktgenerator 29 an, das Taktsignal C2 bereitzustellen,
sodass der Kernprozessor 16 aktiviert wird. Wenn dem Dual-Access-Stapelspeicher 7 eine
bestimmte Datenmenge vom Front-End-Prozessor 12 bereitgestellt
wurde, sendet der Front-End-Prozessor 12 über die
Leitung 34 ein Auslösesignal
an den Kernprozessor 16.
-
Als
Reaktion auf diesen Vorgang wird das im Speicher 17 des
Kernprozessors 16 gespeicherte Programm gestartet und die
im Dual-Access-Stapelspeicher 7 gepufferten Daten werden
zur weiteren Verarbeitung durch den Kernprozessor 16 ausgelesen.
Parallel dazu fließt
der Datenstrom vom Front-End-Prozessor 12 zum Dual-Access-Stapelspeicher 7 weiter.
Der Zeitpunkt, zu dem der Front-End-Prozessor das Auslösesignal
aussendet, kann ein vorbestimmtes Zeitintervall sein, welches auf
die Übertragung
der ersten Taktimpulse des Takts C1 über die Leitung 30 folgt.
Alternativ kann dieser Zeitpunkt auch durch das Datenvolumen bestimmt werden,
das vom Front-End-Prozessor 12 an den Dual-Access-Stapelspeicher 7 ausgegeben
wurde.
-
Als
Alternative zum Auslösen
des Kernprozessors 16 durch das Auslösesignal des Front-End-Prozessors 12 kann
der Kernprozessor 16 auch in regelmäßigen Zeitintervallen die Größe der im
Dual-Access-Stapelspeicher 7 gepufferte Datenmenge prüfen. Wenn
die Datenmenge einen vordefinierten Schwellenwert übersteigt,
löst dies
die Ausführung
des im Speicher 17 gespeicherten Programms aus.
-
Die
vom Kernprozessor 16 ausgeführten Operationen zur Datenverarbeitung
resultieren in einem Ausgabedatenstrom, der vom Dual-Access-Stapelspeicher 8 gepuffert
wird. Nach Ablauf eines bestimmten Zeitintervalls weist die Taktsteuerung 27 den
Systemtaktgenerator 29 an, auch das Taktsignal C3 bereitzustellen,
sodass auch der Back-End-Prozessor 21 aktiviert wird.
-
Wenn
der Kernprozessor 16 eine bestimmte Datenmenge an den Dual-Access-Stapelspeicher 8 ausgegeben
hat, sendet er über
die Leitung 35 ein Auslösesignal
an den Back-End-Prozessor 21. Nach dem Empfang des Auslösesignals über die
Leitung 35 wird die Ausführung des im Speicher 22 des Back-End-Prozessors 21 gespeicherten
Programms gestartet. Als Reaktion darauf liest der Back-End-Prozessor 21 die
im Dual-Access-Stapelspeicher 8 gespeicherten Daten zur
weiteren Verarbeitung aus.
-
Alternativ
wird die Ausführung
des im Speicher 22 gespeicherten Programms dann ausgelöst, wenn
die im Dual-Access-Stapelspeicher 8 gespeicherte
Datenmenge einen vordefinierten Schwellenwert erreicht hat oder überschreitet.
Zu diesem Zweck wird die im Dual-Access-Stapelspeicher 8 gespeicherte
Datenmenge in regelmäßigen Zeitintervallen
vom Back-End-Prozessor 21 geprüft.
-
Das
Ergebnis der Back-End-Verarbeitung wird vom Back-End-Prozessor 21 an
den Digital-Analog-Wandler 23 ausgegeben, der ein analoges
Ausgabesignal erzeugt, das vom Verstärker 24 verstärkt und
ausgegeben wird.
-
Wenn
die im Dual-Access-Stapelspeicher 7 gespeicherte Datenmenge
unter einen vordefinierten Schwellenwert fällt, wird die Ausführung des
im Speicher 17 des Kernprozessors 16 gespeicherten
Programms gestoppt, um Strom zu sparen. Gleiches gilt entsprechend
in Bezug auf den Dual-Access-Stapelspeicher 8 und den Back-End-Prozessor 21.
-
Wenn
der Dual-Access-Stapelspeicher 7 bis zum ersten Schwellenwert
oder über
diesen hinaus wieder mit Daten aufgefüllt wird, löst dies wiederum die Ausführung des
im Speicher 17 gespeicherten Programms aus. Gleiches gilt
wiederum entsprechend in Bezug auf den Dual-Access-Stapelspeicher 8 und
den Back-End-Prozessor 21.
-
Auf
diese Weise wird eine beträchtliche
Menge an Batterieleistung und Prozessorressourcen gespart. Dies
ermöglicht
die Verwendung eines kleineren Kernprozessors 16 und/oder
die Nutzung des Kernprozessors 16 für eine Vielzahl anderer Anwendungsprogramme,
wie z. B. gleichzeitig für
die Textverarbeitung, Steuerungsfunktionen oder Kommunikationsfunktionen.
-
In 2 wird
der Betrieb des Prozessorsystems 1 aus 1 detaillierter
und im Hinblick auf Spracherkennung und Sprachausgabe für Text veranschaulicht.
In Schritt 1 wird das ankommende analoge Audiosignal digitalisiert.
In Schritt 2 wird das digitalisierte Audiosignal gefiltert.
In Schritt 3 wird das digitalisierte und gefilterte Audiosignal
durch eine schnelle Fourier-Transformation (Fast Fourier Transformation,
FFT) im Frequenzbereich umgewandelt. Ein Cepstrum wird in Schritt 4 berechnet.
-
Die
Schritte 1 bis 4 werden vom Front-End-Prozessorsystem
ausgeführt
und machen eine ungefähre
Verarbeitungsleistung von weniger als 30 Millionen Operationen pro
Sekunde (MIPS) erforderlich.
-
Die
Cepstrum-Ausgabedaten werden im Dual-Access-Stapelspeicher 7 (siehe 1)
gepuffert. Wenn eine ausreichende Menge an Cepstrum-Daten im Dual-Access-Stapelspeicher 7 gespeichert
wurde, nimmt der Kernprozessor 16 seinen Betrieb auf.
-
Der
Kernprozessor 16 führt
die akustische Modellierung aus, die aus Schritt 5 („Deltas/Ddeltas") und Schritt 6 („Labeler") besteht. Im nächsten Schritt 7 wird
ein Viterbi-Suchalgorithmus zur Anwendung einer Trellis-Vergleichsfunktion
ausgeführt, über die schließlich das
Wort identifiziert wird, das mit den Phone-Frames und den zugehörigen akustischen Inhalten
am besten übereinstimmt.
-
Die
akustische Modellierung stellt zusammen mit der Viterbi-Suche denjenigen
Abschnitt innerhalb des gesamten Spracherkennungsalgorithmus dar,
der mit mehr als 100 MIPS die größte Verarbeitungsleistung
beansprucht. Der genannte Leistungsbedarf gilt für die heutigen Spracherkennungsalgorithmen,
wie sie beispielsweise für
einen aktiven Wortschatz von 500 Wörtern definiert sind. Eine
Erweiterung des Wortschatzes führt
zu einem noch drastischeren Anstieg des Leistungsbedarfs.
-
Das
in Schritt 7 erzielte Ergebnis der Spracherkennung wird
in ein Anwendungsprogramm 8 eingegeben. Bei dem Anwendungsprogramm 8 kann es
sich um eine grafische Benutzeroberfläche, ein Textverarbeitungssystem,
ein Kommunikations- oder Steuerungsprogramm oder um eine beliebige
andere Anwendung handeln, die eine Benutzereingabe erfordert.
-
Auf
der Grundlage der Benutzereingabe, die im Rahmen der Spracherkennung
in den Schritten 1 bis 7 erkannt wird, generiert
das Anwendungsprogramm eine Textausgabe. Die Textausgabe wird in Schritt 9 von
einer für
die Sprachausgabe vorgesehenen Steuerkomponente verarbeitet. Zur
Ausführung der
Schritte 8 und 9 ist wiederum eine Verarbeitungsleistung
von mehr als 100 MIPS erforderlich.
-
Die
Steuerkomponente für
die Sprachausgabe für
Text stellt dem Back-End-System ein digitales Ausgabesignal bereit.
Das Back-End-Prozessorsystem
wird aktiviert, wenn von der Steuerkomponente für die Sprachausgabe eine bestimmte
Datenmenge ausgegeben wurde. Das Back-End-Prozessorsystem führt nach
seiner Aktivierung eine Operation aus, bei der die von der Steuerkomponente
für die
Sprachausgabe aus Schritt 9 bereitgestellten digitalen
Datensignale gefiltert und in analoge Daten umgewandelt werden.
Auf diese Weise wird in Schritt 10 ein analoges Audiosignal
an den Benutzer gesendet. Zur Ausführung von Schritt 10 ist
eine Verarbeitungsleistung in der Größenordnung von 1 MIPS erforderlich.
-
- 1
- Prozessorsystem
- 2
- Taktschaltkreis
- 3
- Stromversorgungssubsystem
- 4
- Front-End-Prozessorsystem
- 5
- Kernprozessorsystem
- 6
- Back-End-Prozessorsystem
- 7
- Dual-Access-Stapelspeicher
- 8
- Dual-Access-Stapelspeicher
- 9
- Audioverstärker
- 10
- Filter
- 11
- Analog-Digital-Wandler
- 12
- Front-End-Prozessor
- 13
- Speicher
- 14
- Speicher
- 15
- Verstärkungsregler
- 16
- Kernprozessor
- 17
- Speicher
- 18
- Speicher
- 19
- Speicher
- 20
- Massenspeicher-Controller
- 21
- Back-End-Prozessor
- 22
- Speicher
- 23
- Digital-Analog-Wandler
- 24
- Verstärker
- 25
- Verstärkungsregler
- 26
- Audio-Schwellenwertdetektor
- 27
- Taktsteuerung
- 28
- Speicher
- 29
- Systemtaktgenerator
- 30
- Leitung
- 31
- Leitung
- 32
- Leitung
- 33
- Digitalausgang
- 34
- Leitung
- 35
- Leitung