DE60202857T2 - Verfahren und prozessorsystem zur audiosignalverarbeitung - Google Patents

Verfahren und prozessorsystem zur audiosignalverarbeitung Download PDF

Info

Publication number
DE60202857T2
DE60202857T2 DE60202857T DE60202857T DE60202857T2 DE 60202857 T2 DE60202857 T2 DE 60202857T2 DE 60202857 T DE60202857 T DE 60202857T DE 60202857 T DE60202857 T DE 60202857T DE 60202857 T2 DE60202857 T2 DE 60202857T2
Authority
DE
Germany
Prior art keywords
processing means
dual
data
time interval
processor system
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
DE60202857T
Other languages
English (en)
Other versions
DE60202857D1 (de
Inventor
Dieter Staiger
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.)
Nuance Communications Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60202857D1 publication Critical patent/DE60202857D1/de
Publication of DE60202857T2 publication Critical patent/DE60202857T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements

Description

  • 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

Claims (20)

  1. Prozessorsystem für die zur Spracherkennung erfolgende Audiosignalverarbeitung, wobei das Prozessorsystem Folgendes umfasst: a) Front-End-Verarbeitungsmittel (4) zum Vorverarbeiten des Audiosignals und zum Generieren einer Ausgabe erster Daten, b) Kernverarbeitungsmittel (5, 16) zum Ausführen einer Verarbeitung der ersten Daten im Rahmen der Spracherkennung, c) Dual-Access-Speichermittel (7) zum Puffern der ersten Daten, wobei die Dual-Access-Speichermittel (7) zwischen die Front-End-Verarbeitungsmittel (4) und die Kernverarbeitungsmittel (5, 16) geschaltet sind, d) Mittel (34) zum Aktivieren der Kernverarbeitungsmittel (5, 16), um die Spracherkennungsverarbeitung nach einem Zeitintervall auszuführen, das auf einen Start der Vorverarbeitung durch die Front-End-Verarbeitungsmittel (4) folgt, gekennzeichnet durch e) Mittel zum Stoppen der von den Kernverarbeitungsmitteln (5, 16) vorgenommene Ausführung der Spracherkennungsverarbeitung, wenn die Menge der in den Dual-Access-Speichermitteln (7) gespeicherten ersten Daten unter einen vordefinierten Schwellenwert fällt, f) Mittel zum Auslösen der Ausführung der Spracherkennungsverarbeitung durch die Kernverarbeitungsmittel (5, 16), wenn die Dual-Access-Speichermittel (7) bis zum Schwellenwert oder über den Schwellenwert hinaus mit ersten Daten wieder aufgefüllt wurden.
  2. Prozessorsystem nach Anspruch 1, ferner umfassend Audio-Schwellenwertdetektormittel (26) zum Aktivieren der Front-End-Verarbeitungsmittel, wenn das Audiosignal einen Audio-Schwellenwert überschreitet.
  3. Prozessorsystem nach Anspruch 1 oder 2, bei dem das Zeitintervall ein vorbestimmtes Zeitintervall ist, der Beginn des vorbestimmten Zeitintervalls durch den Start des Betriebs der Front-End-Verarbeitungsmittel und/oder durch den Zeitpunkt definiert wird, zu dem das Audiosignal einen vordefinierten Schwellenwert überschreitet.
  4. Prozessorsystem nach Anspruch 1, 2 oder 3, bei dem das Zeitintervall durch einen zweiten Zeitpunkt bestimmt wird, zu dem die Menge der in den Dual-Access-Speichermitteln gespeicherten ersten Daten einen zweiten vordefinierten Schwellenwert erreicht.
  5. Prozessorsystem nach einem beliebigen der vorherigen Ansprüche, wobei es sich bei den Dual-Access-Speichermitteln um einen Dual-Port-FIFO-Speicher oder einen Dual-Port-RAM handelt.
  6. Prozessorsystem nach einem beliebigen der vorherigen Ansprüche, das ferner Taktsteuerungsmittel zum Steuern eines an die Front-End-Verarbeitungsmittel übertragenen ersten Taktsignals sowie zum Steuern eines zweiten Taktsignals umfasst, das an die Verarbeitungsmittel des Anwendungsprogramms übertragen wird, wobei die Taktsteuerungsmittel so angepasst sind, dass sie nach Ablauf des auf die Aktivierung des ersten Taktsignals folgenden Zeitintervalls das zweite Taktsignal aktivieren
  7. Prozessorsystem nach einem beliebigen der vorherigen Ansprüche, bei dem die Front-End-Verarbeitungsmittel zur Berechnung eines Cepstrums angepasst sind, und wobei die Verarbeitungsmittel des Anwendungsprogramms zur Ausführung einer Spracherkennung angepasst sind, die auf dem von den Front-End-Verarbeitungsmitteln bereitgestellten Cepstrum basiert.
  8. Prozessorsystem nach einem beliebigen der vorherigen Ansprüche, bei dem die Kernverarbeitungsmittel zur Ausführung einer Sprachausgabeverarbeitung für Text angepasst sind, wobei das Prozessorsystem außerdem Folgendes umfasst: a) zweite Dual-Access-Speichermittel (8) zum Puffern von Ausgabedaten, die von den Kernverarbeitungsmitteln durch Ausführung der Sprachausgabeverarbeitung für Text generiert werden, b) Back-End-Verarbeitungsmittel (6), die zur Back-End-Verarbeitung der Ausgabedaten mit den zweiten Dual-Access-Speichermitteln verbunden sind, c) Mittel (35) zum Aktivieren der Back-End-Verarbeitungsmittel nach Ablauf eines auf den Start der Verarbeitung durch die Verarbeitungsmittel des Anwendungsprogramms folgenden Zeitintervalls.
  9. Prozessorsystem nach Anspruch 8, bei dem das Zeitintervall ein vorbestimmtes Zeitintervall ist.
  10. Prozessorsystem nach Anspruch 8 oder 9, bei dem das Zeitintervall durch einen Schwellenwert für die Menge der Ausgabedaten bestimmt wird.
  11. Prozessorsystem nach Anspruch 9 oder 10, das ferner Taktsteuerungsmittel zum Steuern eines an die Kernverarbeitungsmittel übertragenen ersten Taktsignals sowie zum Steuern eines zweiten Taktsignals umfasst, das an die Back-End-Verarbeitungsmittel übertragen wird, wobei die Taktsteuerungsmittel so angepasst sind, dass sie nach Ablauf des Zeitintervalls, das auf das erste Taktsignal folgt, das zweite Taktsignal aktivieren.
  12. Prozessorsystem nach Anspruch 9, 10 oder 11, bei dem die Kernverarbeitungsmittel Spracherkennungsfunktionsmittel umfassen und bei dem die Back-End-Verarbeitungsmittel Filtermittel umfassen.
  13. Verfahren zur Audiosignalverarbeitung, das folgende Schritte umfasst: a) Aktivieren von Front-End-Verarbeitungsmitteln zum Vorverarbeiten des Audiosignals und zum Generieren einer Ausgabe erster Daten, b) Puffern der ersten Daten in Dual-Access-Speichermitteln, c) Aktivieren von Kernverarbeitungsmitteln, die mit den Dual-Access-Speichermitteln verbunden sind, um nach Ablauf eines Zeitintervalls, das auf das Aktivieren der Front-End-Verarbeitungsmittel folgt, die ersten Daten zur Spracherkennung zu verarbeiten, gekennzeichnet durch d) Stoppen der Ausführung der zur Spracherkennung erfolgenden Verarbeitung durch die Kernverarbeitungsmittel, wenn die Menge der in den Dual-Access-Speichermitteln gespeicherten ersten Daten unter einen vordefinierten Schwellenwert fällt, e) Auslösen der Ausführung der zur Spracherkennung erfolgenden Verarbeitung durch die Kernverarbeitungsmittel, wenn die Dual-Access-Speichermittel bis zum Schwellenwert oder über den Schwellenwert hinaus mit ersten Daten wieder aufgefüllt wurden.
  14. Verfahren nach Anspruch 13, bei dem das Zeitintervall ein vorbestimmtes Zeitintervall ist.
  15. Verfahren nach Anspruch 13 oder 14, bei dem das Zeitintervall durch eine Menge erster Daten in den Dual-Access-Speichermitteln bestimmt wird.
  16. Verfahren nach Anspruch 13, 14 oder 15, das ferner das selektive Anwenden eines ersten und eines zweiten Taktsignals auf die Front-End-Verarbeitungsmittel bzw. die Verarbeitungsmittel des Anwendungsprogramms umfasst, um nacheinander die Front-End-Verarbeitungsmittel und die Verarbeitungsmittel des Anwendungsprogramms zu aktivieren.
  17. Verfahren für die zur Spracherkennung erfolgende Audiosignalverarbeitung nach einem beliebigen der vorherigen Ansprüche 13 bis 16, wobei das Verfahren ferner folgende Schritte umfasst: a) Puffern von zweiten Daten, die von den Kernverarbeitungsmitteln infolge einer in den zweiten Dual-Access-Speichermitteln erfolgenden Sprachausgabeverarbeitung für Text ausgegeben werden, b) Aktivieren von Back-End-Verarbeitungsmitteln zur Back-End-Verarbeitung der zweiten Daten nach Ablauf eines auf die Aktivierung der Kernverarbeitungsmittel folgenden Zeitintervalls, wobei die Back-End-Verarbeitungsmittel mit den zweiten Dual-Access-Speichermitteln verbunden sind.
  18. Verfahren nach Anspruch 17, bei dem das Zeitintervall ein vorbestimmtes Zeitintervall ist.
  19. Verfahren nach Anspruch 17 oder 18, bei dem das Zeitintervall durch eine Menge erster Daten in den Dual-Access-Speichermitteln bestimmt wird.
  20. Verfahren nach einem beliebigen der vorherigen Ansprüche 13 bis 19, das ferner das selektive Anwenden eines ersten und eines zweiten Taktsignals auf die Front-End-Verarbeitungsmittel bzw. die Kernverarbeitungsmittel umfasst, um nacheinander die Front-End-Verarbeitungsmittel und die Kernverarbeitungsmittel zu aktivieren.
DE60202857T 2001-03-14 2002-02-15 Verfahren und prozessorsystem zur audiosignalverarbeitung Expired - Lifetime DE60202857T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01106231 2001-03-14
EP01106231 2001-03-14
PCT/EP2002/001636 WO2002073600A1 (en) 2001-03-14 2002-02-15 Method and processor system for processing of an audio signal

Publications (2)

Publication Number Publication Date
DE60202857D1 DE60202857D1 (de) 2005-03-10
DE60202857T2 true DE60202857T2 (de) 2006-02-09

Family

ID=8176770

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60202857T Expired - Lifetime DE60202857T2 (de) 2001-03-14 2002-02-15 Verfahren und prozessorsystem zur audiosignalverarbeitung

Country Status (5)

Country Link
US (1) US7349844B2 (de)
EP (1) EP1374228B1 (de)
AT (1) ATE288615T1 (de)
DE (1) DE60202857T2 (de)
WO (1) WO2002073600A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0204489D0 (en) * 2002-02-26 2002-04-10 Canon Kk Apparatus for processing audio data
EP1866909B1 (de) * 2005-04-07 2018-04-04 Orange Verfahren zur synchronisation zwischen einer spracherkennungs-verarbeitungsoperation und einer die verarbeitung auslösenden aktion
WO2009125251A1 (en) * 2008-04-11 2009-10-15 Freescale Semiconductor, Inc. Device and method for evaluating connectivity between a video driver and a display
US8364481B2 (en) 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US9036026B2 (en) 2009-06-12 2015-05-19 Magna Electronics Scalable integrated electronic control unit for vehicle
US8942975B2 (en) * 2010-11-10 2015-01-27 Broadcom Corporation Noise suppression in a Mel-filtered spectral domain
US9992745B2 (en) * 2011-11-01 2018-06-05 Qualcomm Incorporated Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate
KR20180137041A (ko) 2011-12-07 2018-12-26 퀄컴 인코포레이티드 디지털화된 오디오 스트림을 분석하는 저전력 집적 회로
US9365162B2 (en) 2012-08-20 2016-06-14 Magna Electronics Inc. Method of obtaining data relating to a driver assistance system of a vehicle
US9270801B2 (en) * 2013-03-15 2016-02-23 Intel Corporation Low power audio trigger via intermittent sampling
US10406981B2 (en) 2014-03-20 2019-09-10 Magna Electronics Inc. Vehicle vision system with curvature estimation
US10199034B2 (en) 2014-08-18 2019-02-05 At&T Intellectual Property I, L.P. System and method for unified normalization in text-to-speech and automatic speech recognition
US10708227B2 (en) 2016-07-19 2020-07-07 Magna Electronics Inc. Scalable secure gateway for vehicle
US10860333B1 (en) * 2019-10-14 2020-12-08 Western Digital Technologies, Inc. Interleaved host reset and next re-initialization operations
CN113628616A (zh) * 2020-05-06 2021-11-09 阿里巴巴集团控股有限公司 音频采集设备、无线耳机以及电子设备系统
US11640335B2 (en) 2021-06-15 2023-05-02 Western Digital Technologies, Inc. Multiple function level reset management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69232407T2 (de) * 1991-11-18 2002-09-12 Toshiba Kawasaki Kk Sprach-Dialog-System zur Erleichterung von Rechner-Mensch-Wechselwirkung
GB2291571A (en) * 1994-07-19 1996-01-24 Ibm Text to speech system; acoustic processor requests linguistic processor output
US5960399A (en) * 1996-12-24 1999-09-28 Gte Internetworking Incorporated Client/server speech processor/recognizer
FI114247B (fi) * 1997-04-11 2004-09-15 Nokia Corp Menetelmä ja laite puheen tunnistamiseksi
US6356545B1 (en) * 1997-08-08 2002-03-12 Clarent Corporation Internet telephone system with dynamically varying codec
US6339804B1 (en) * 1998-01-21 2002-01-15 Kabushiki Kaisha Seiko Sho. Fast-forward/fast-backward intermittent reproduction of compressed digital data frame using compression parameter value calculated from parameter-calculation-target frame not previously reproduced
US6711536B2 (en) * 1998-10-20 2004-03-23 Canon Kabushiki Kaisha Speech processing apparatus and method
GB9822930D0 (en) * 1998-10-20 1998-12-16 Canon Kk Speech processing apparatus and method
US6453290B1 (en) * 1999-10-04 2002-09-17 Globalenglish Corporation Method and system for network-based speech recognition
US7054819B1 (en) * 2000-02-11 2006-05-30 Microsoft Corporation Voice print access to computer resources
US6535850B1 (en) * 2000-03-09 2003-03-18 Conexant Systems, Inc. Smart training and smart scoring in SD speech recognition system with user defined vocabulary

Also Published As

Publication number Publication date
ATE288615T1 (de) 2005-02-15
EP1374228B1 (de) 2005-02-02
WO2002073600A1 (en) 2002-09-19
DE60202857D1 (de) 2005-03-10
US20040054532A1 (en) 2004-03-18
EP1374228A1 (de) 2004-01-02
US7349844B2 (en) 2008-03-25

Similar Documents

Publication Publication Date Title
DE60202857T2 (de) Verfahren und prozessorsystem zur audiosignalverarbeitung
DE102018010463B3 (de) Tragbare Vorrichtung, computerlesbares Speicherungsmedium, Verfahren und Einrichtung für energieeffiziente und leistungsarme verteilte automatische Spracherkennung
DE102011054197B4 (de) Selektive Übertragung von Sprachdaten
DE10054583C2 (de) Verfahren und Vorrichtung zum Aufzeichnen, Suchen und Wiedergeben von Notizen
DE102013001219B4 (de) Verfahren und System zur Sprachaktivierung eines Software-Agenten aus einem Standby-Modus
EP0852051B1 (de) Verfahren zur automatischen steuerung eines oder mehrerer geräte durch sprachkommandos oder per sprachdialog im echtzeitbetrieb und vorrichtung zum ausführen des verfahrens
DE60036931T2 (de) Anwender-sprachschnittstelle für sprachgesteuerte systeme
DE10334400A1 (de) Verfahren zur Spracherkennung und Kommunikationsgerät
DE112004000782T5 (de) Signal-zu-Rausch-Verhältnis vermittelter Spracherkennungs-Algorithmus
US5963902A (en) Methods and apparatus for decreasing the size of generated models trained for automatic pattern recognition
CN113129927B (zh) 语音情绪识别方法、装置、设备及存储介质
CN108595406B (zh) 一种用户状态的提醒方法、装置、电子设备及存储介质
EP1443494A1 (de) Verfahren und Vorrichtung zur Einschränkung des Suchumfangs in einem Lexikon für Spracherkennung
EP2962296A2 (de) Wortwahlbasierte sprachanalyse und sprachanalyseeinrichtung
CN110364147B (zh) 一种唤醒训练词采集系统及方法
DE69333762T2 (de) Spracherkennungssystem
EP2034472B1 (de) Spracherkennungsverfahren und Spracherkennungsvorrichtung
DE102005030965A1 (de) Erweiterung des dynamischen Vokabulars eines Spracherkennungssystems um weitere Voiceenrollments
CN113516964B (zh) 语音合成方法及可读存储介质
Lee et al. A useful feature-engineering approach for a LVCSR system based on CD-DNN-HMM algorithm
US20220277733A1 (en) Real-time communication and collaboration system and method of monitoring objectives to be achieved by a plurality of users collaborating on a real-time communication and collaboration platform
CN115188395A (zh) 车内争吵处理方法、装置、电子设备和存储介质
CN112669840A (zh) 一种语音处理方法、装置、设备及存储介质
CN108459838A (zh) 信息处理方法及电子设备
DE102017217746A1 (de) Verfahren, Vorrichtung und computerlesbares Speichermedium mit Instruktionen zum Aktivieren einer Sprachverarbeitung, Kraftfahrzeug und Nutzerendgerät mit einer Sprachsteuerung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NUANCE COMMUNICATIONS,INC., BURLINGTON, MASS., US

8328 Change in the person/name/address of the agent

Representative=s name: VOSSIUS & PARTNER, 81675 MUENCHEN