DE60024236T2 - Sprach endpunktbestimmung in einem rauschsignal - Google Patents

Sprach endpunktbestimmung in einem rauschsignal Download PDF

Info

Publication number
DE60024236T2
DE60024236T2 DE60024236T DE60024236T DE60024236T2 DE 60024236 T2 DE60024236 T2 DE 60024236T2 DE 60024236 T DE60024236 T DE 60024236T DE 60024236 T DE60024236 T DE 60024236T DE 60024236 T2 DE60024236 T2 DE 60024236T2
Authority
DE
Germany
Prior art keywords
utterance
threshold
snr
starting point
endpoint
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
DE60024236T
Other languages
English (en)
Other versions
DE60024236D1 (de
Inventor
Ning Bi
Chienchung Chang
P. Andrew DEJACO
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of DE60024236D1 publication Critical patent/DE60024236D1/de
Publication of DE60024236T2 publication Critical patent/DE60024236T2/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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • G10L2025/786Adaptive threshold

Description

  • Hintergrund der Erfindung
  • I. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet von Kommunikationen bzw. Nachrichtenübertragungen und insbesondere auf eine Endpunktsetzung von Sprache in der Gegenwart von Störungen bzw. Rauschen.
  • II. Hintergrund
  • Spracherkennung (VR = voice recognition) repräsentiert eine der wichtigsten Techniken um eine Maschine mit simulierter Intelligenz zu versehen, um vom Bedienerbefehle oder vom Bediener gesprochene Befehle zu erkennen und somit ein menschliches Interface mit der Maschine zu erlauben.
  • VR repräsentiert eine Schlüsseltechnologie für menschliches Sprachverständnis. Systeme, welche Techniken verwenden zum Wiedergewinnen einer linguistischen Nachricht aus einem akustischen Sprachsignal, werden als Spracherkenner bezeichnet. Ein Spracherkenner weist typischerweise einen Akustikprozessor auf, der eine Sequenz von informationstragenden Eigenschaften bzw. Merkmalen oder Vektoren extrahiert, die notwendig sind, um eine Spracherkennung der ankommenden Rohsprache zu erreichen, und einen Wortdecoder, der die Sequenz von Merkmalen oder Vektoren decodiert, um ein bedeutungsvolles und gewünschtes Ausgangsformat zu erhalten, wie beispielsweise eine Sequenz von linguistischen Worten, die der Eingangsäußerung bzw. dem Sprachelement entsprechen. Um die Leistung eines gegebenen Systems zu verbessern, ist ein Training notwendig, um das System mit gültigen Parametern auszurüsten. Mit anderen Worten, muss das System lernen, bevor es optimal funktionieren kann.
  • Der Akustikprozessor repräsentiert ein Front-End-Sprachanalyseuntersystem in einem Spracherkenner. Ansprechend auf ein Eingangssprachsignal sieht der Akustikprozessor eine geeignete Darstellung vor, um das zeitvariierende Sprachsignal zu charakterisieren. Der Akustikprozessor sollte irrelevante Information, wie beispielsweise Hintergrundrauschen, Kanalverzerrung, Lautsprechercharakteristika und die Art der Sprache verwerfen. Eine effiziente Akustikverarbeitung versieht Spracherkenner mit verbesserter akustischer Unterscheidungsleistung. Diesbezüglich ist eine nützliche zu analysierende Charakteristik die kurzzeitige Spektralumhüllende. Zwei üblicherweise verwendete Spektralanalysetechniken zum Charakterisieren der kurzzeitigen Spektralumhüllenden sind eine linear prädiktive Codierung (LPC = linear predictive coding) und eine filterbankbasierende Spektralmodellierung (filter-bank-based spectral modeling). Beispielhafte LPC-Techniken sind in dem US-Patent Nr. 5,414,796 beschrieben, die dem Anmelder der vorliegenden Erfindung gehören und die vollständig hier durch Bezugnahme aufgenommen ist, und L. B. Rabiner & R. W. Schafer, Digital Processing of Speech Signals 396–453 (1978), die auch hier vollständig durch Bezugnahme aufgenommen ist.
  • Die Verwendung von VR (üblicherweise auch als Spracherkennung bezeichnet) wird aus Sicherheitsgründen immer wichtiger. Z.B. kann VR verwendet werden, um die manuelle Tätigkeit des Drückens von Knöpfen an einer Tastatur eines Mobil- bzw. Drahtlostelefons zu ersetzen. Dies ist insbesondere wichtig, wenn ein Bediener einen Telefonanruf während des Fahrens eines Autos initiiert. Bei der Verwendung eines Telefons ohne VR muss der Fahrer eine Hand von dem Lenkrad wegnehmen, und auf die Tastatur des Telefons schauen, während er die Knöpfe zum Wählen des Anrufs drückt. Diese Tätigkeit erhöht die Wahrscheinlichkeit eines Autounfalls. Ein durch Sprache freigegebenes bzw. betätigtes Telefon (d.h. ein Telefon, das für Spracherkennung entworfen ist) würde dem Fahrer erlauben, Telefonanrufe durchzuführen, während er kontinuierlich auf die Straße schaut. Ein Freisprechsystem würde dem Fahrer zusätzlich erlauben, beide Hände während der Anrufinitiierung am Lenkrad zu behalten.
  • Spracherkennungsvorrichtungen sind entweder als sprecherabhängige oder sprecherunabhängige Vorrichtungen klassifiziert. Sprecherunabhängige Vor richtungen sind in der Lage, Sprachbefehle von jedem Bediener zu akzeptieren. Sprachabhängige Vorrichtungen, die am geläufigsten sind, werden trainiert, um Befehle von bestimmten Benutzern zu erkennen. Eine sprachabhängige VR-Vorrichtung arbeitet typischerweise in zwei Phasen, einer Trainingsphase und einer Erkennungsphase. In der Trainingsphase fordert das VR-System den Bediener auf, jedes der Worte in dem Vokabular des Systems einmal oder zweimal zu sprechen, so dass das System die Charakteristika der Sprache des Bedieners für diese bestimmten Worte oder Phrasen lernen kann. Alternativ wird für eine phonetische VR-Vorrichtung das Training erreicht, indem einer oder mehrere kurze Artikel vorgelesen werden, die speziell geschrieben sind, um alle Phoneme in der Sprache abzudecken. Ein beispielhaftes Vokabular für eine Freisprechanlage könnte Folgendes aufweisen: die Zahlen auf der Tastatur; die Schlagwörter "Anruf", "Senden", "Wählen", "Abbrechen", "frei", "Hinzufügen", "Löschen", "Anrufliste" bzw. "Historie", "Programm", "ja" und "nein"; und die Namen einer vorbestimmten Anzahl von üblicherweise angerufenen Mitarbeitern, Freunden oder Familienmitgliedern. Sobald das Training beendet ist, kann der Bediener Anrufe in der Erkennungsphase initiieren, indem er die trainierten Schlagworte spricht. Wenn beispielsweise der Name "John" einer der trainierten Namen wäre, könnte der Bediener einen Anruf an John initiieren, indem er die Phrase "John anrufen" spricht. Das VR-System würde die Worte "John" und "anrufen" erkennen, und die Nummer, die der Bediener zuvor als John's Telefonnummer eingegeben hat, wählen.
  • Um akkurat ausgesprochene Äußerungen für die Spracherkennung einzufangen, verwenden durch die Sprache gesteuerte bzw. freigegebene Produkte üblicherweise einen Endpunktdetektor, um die Start- und Endpunkte der Äußerung festzulegen. In herkömmlichen VR-Vorrichtungen verlässt sich der Endpunktdetektor auf ein Signal-zu-Rauschverhältnis-(SNR = signal-to-noise ratio) Schwellenwert, um die Endpunkte der Äußerung zu bestimmen. Solche herkömmlichen VR-Vorrichtungen sind in der zweiten IEEE Trans. on Speech and Audio Processing, A Robust Algorithm for Word Boundary Detection in the Presence of Noise, Jean-Claude Junqua et al (Juli 1994) und TIA/EIA Inte rim Standard IS-733-2-35 bis 2.50 (März 1998) beschrieben. Mehrere Beispiele von Endpunktdetektoren sind in der US 4,881,266 und US 5,305,422 offenbart. Der erste verwendet einen maximalen Leistungspunkt einer Äußerung als eine Startposition, um dann nach möglichen Endpunktkandidaten zu suchen, und anschließend den wahrscheinlichsten Kandidaten auszuwählen. Der zweite bestimmt Paare von Grenzwerten aus einer Energievergleichsfunktion der Äußerung, um bestimmte Kandidatenpaare von Endpunkten in der Nachbarschaft jeder Grenze der Äußerung zu bestimmen. Wenn der SNR-Schwellenwert jedoch zu niedrig eingestellt ist, wird die VR-Vorrichtung zu empfindlich für Hintergrundrauschen bzw. Geräusche, welche den Endpunktdetektor auslösen können, wodurch Fehler in der Erkennung bewirkt werden. Wenn der Schwellenwert entgegengesetzter Weise zu hoch eingestellt ist, wird die VR-Vorrichtung anfällig schwache Konsonanten zu Beginn und zum Ende von Äußerungen zu übersehen. Es gibt daher eine Notwendigkeit für eine VR-Vorrichtung, die multiple, adaptive SNR-Schwellenwerte verwendet, um akkurat die Endpunkte von Sprache in der Gegenwart von Hintergrundgeräuschen bzw. Rauschen zu detektieren.
  • Die Erfindung
  • Die vorliegende Erfindung ist auf eine VR-Vorrichtung gerichtet, die multiple, adaptive SNR-Schwellenwerte verwendet, zum akkuraten Detektieren der Endpunkte von Sprache in der Gegenwart von Hintergrundrauschen. Gemäß einem Aspekt der vorliegenden Erfindung ist eine Vorrichtung zum Detektieren von Endpunkten einer Äußerung bzw. eines Sprachelements in Rahmen eines empfangenen Signals vorgesehen, die vorteilhafterweise einen Prozessor aufweist und ein Softwaremodul, das durch den Prozessor ausführbar ist, um eine Äußerung mit einem ersten Schwellenwert zu vergleichen, zum Bestimmen eines ersten Startpunkts und eines ersten Endpunkts der Äußerung, zum Vergleichen mit einem zweiten Schwellenwert, der niedriger ist als der erste Schwellenwert mit einem Teil der Äußerung, der vor dem ersten Startpunkt liegt, um einen zweiten Startpunkt der Äußerung zu bestimmen und Vergleichen des zweiten Schwellenwerts mit einem Teil der Äußerung, die nach dem ersten Endpunkt liegt, um einen zweiten Endpunkt der Äußerung zu bestimmen, wobei die ersten und zweiten Schwellenwerte pro Rahmen aus einem Signal-zu-Rauschverhältnis der Äußerung, das auch pro Rahmen berechnet wird, berechnet wird.
  • Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren zum Detektieren von Endpunkten einer Äußerung in Rahmen eines empfangenen Signals vorgesehen, das vorteilhafterweise die folgenden Schritte aufweist: Vergleichen einer Äußerung mit einem ersten Schwellenwert zum Bestimmen eines ersten Startpunkts und eines ersten Endpunkts der Äußerung; Vergleichen eines zweiten Schwellenwerts, der kleiner ist als der erste Schwellenwert mit einem Teil der Äußerung, die vor dem ersten Startpunkt liegt, um einen zweiten Startpunkt der Äußerung zu bestimmen; und Vergleichen des zweiten Schwellenwerts mit einem Teil der Äußerung, die nach dem ersten Endpunkt liegt, um einen zweiten Endpunkt der Äußerung zu bestimmen, wobei die ersten und zweiten Schwellenwerte pro Rahmen berechnet werden aus einem Signal-zu-Rauschverhältnis für die Äußerung, das auch pro Rahmen berechnet wird.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Vorrichtung zum Detektieren von Endpunkten einer Äußerung in Rahmen eines empfangenen Signals vorgesehen, die vorteilhafterweise Mittel aufweist zum Vergleichen einer Äußerung mit einem ersten Schwellenwert zum Bestimmen eines ersten Startpunkts und eines ersten Endpunkts der Äußerung; Mittel zum Vergleichen eines zweiten Schwellenwerts, der niedriger ist als der erste Schwellenwert mit einem Teil der Äußerung, die vor dem ersten Startpunkt liegt, zum Bestimmen eines zweiten Startpunkts der Äußerung; und Mittel zum Vergleichen des zweiten Schwellenwerts mit einem Teil der Äußerung, die nach dem ersten Endpunkt liegt, um einen zweiten Endpunkt der Äußerung zu bestimmen, wobei die ersten und zweiten Schwellenwerte pro Rahmen berechnet werden aus einem Signal-zu-Rauschverhältnis der Äußerung, das auch pro Rahmen berechnet wird.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines Spracherkennungssystems.
  • 2 ist ein Flussdiagramm, das Verfahrensschritte darstellt, die durch ein Spracherkennungssystem, wie beispielsweise das System gemäß 1, durchgeführt werden, um die Endpunkte einer Äußerung bzw. eines Sprachelements zu detektieren.
  • 3 ist eine graphische Darstellung einer Signalamplitude einer Äußerung und erster und zweiter adaptiver SNR-Schwellenwerte in Abhängigkeit von der Zeit für unterschiedliche Frequenzbänder.
  • 4 ist ein Flussdiagramm, das Verfahrensschritte darstellt, die durch ein Spracherkennungssystem, wie beispielsweise das System gemäß 1 durchgeführt werden, zum Vergleichen eines derzeitigen SNR mit einem adaptiven SNR-Schwellenwert.
  • 5 ist ein Graph eines derzeitigen Signal-zu-Rauschverhältnis (dB) in Abhängigkeit von einer Signal-zu-Rauschschätzung (dB) für einen Sprachendpunktdetektor in einem Mobil- bzw. Drahtlostelefon.
  • 6 ist ein Graph eines derzeitigen Signal-zu-Rauschverhältnis (dB) in Abhängigkeit von einer Signal-zu-Rauschverhältnisschätzung (dB) für einen Sprachendpunktdetektor in einer Autofreisprecheinrichtung.
  • Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
  • Gemäß einem Ausführungsbeispiel, das in 1 dargestellt ist, umfasst ein Spracherkennungssystem 10 einen Analog-zu-Digitalwandler (A/D) 12, einen Akustikprozessor 14, eine VR-Template- bzw. Vorlagendatenbasis 16, Mustervergleichslogik 18 und Entscheidungslogik 20. Der Akustikprozessor 14 umfasst einen Endpunktdetektor 22. Das VR-System 10 kann beispielsweise in einem Mobiltelefon oder einer Freisprechanlage für ein Auto enthalten sein.
  • Wenn das VR-System 10 sich in einer Spracherkennungsphase befindet, dann erzeugt es ein Sprachsignal, wenn eine Person (nicht gezeigt) ein Wort oder eine Phrase spricht. Das Sprachsignal wird in ein elektrisches Sprach signal s(t) umgewandelt mit einem herkömmlichen Wandler (der auch nicht gezeigt ist). Das Sprachsignal s(t) wird an den A/D 12 geliefert, das das Sprachsignal s(t) in digitalisierte Sprachproben s(n) gemäß einem bekannten Abtastverfahren bzw. Samplingverfahren umwandelt, wie beispielsweise eine impulscodierte Modulation (PCM = pulse coded modulation).
  • Die Sprachproben s(n) werden an den Akustikprozessor 14 für eine Parameterbestimmung geliefert. Der Akustikprozessor 14 erzeugt einen Satz von Parametern, welche die Charakteristika des Eingangssprachsignals s(t) modulieren. Die Parameter können gemäß irgendeiner Anzahl von bekannten Sprachparameterbestimmungstechniken bestimmt werden, einschließlich z.B. Sprachcodierercodierung und die Verwendung von auf Fast-Fourier-Transformation (FFT) basierenden Cepstrum-Koeffizienten, wie es in dem zuvor genannten US-Patent Nr. 5,414,796 beschrieben ist. Der Akustikprozessor 14 kann implementiert werden als ein Digitalsignalprozessor (DSP = digital signal processor). Der DSP kann einen Sprachcodierer umfassen. Alternativ kann der Akustikprozessor 14 als ein Sprachcodierer implementiert sein.
  • Die Parameterbestimmung wird auch durchgeführt während des Trainings des VR-Systems 10, bei dem ein Satz vom Templates für alle der Vokabelworte des VR-Systems 10 an die VR-Template-Datenbasis 16 geroutet bzw. geleitet wird, für eine permanente Speicherung darinnen. Die VR-Template-Datenbasis 16 ist vorteilhafterweise implementiert als irgendeine herkömmliche Form eines nicht flüchtigen Speichermediums, wie beispielsweise ein Flashspeicher. Dies erlaubt, dass die Templates in der VR-Template-Datenbasis 16 verbleiben, wenn die Leistung des VR-Systems 10 ausgeschaltet wird.
  • Der Satz von Parametern wird an die Mustervergleichslogik 18 geliefert. Die Mustervergleichslogik 18 detektiert vorteilhafterweise die Start- und Endpunkte einer Äußerung, berechnet dynamische akustische Merkmale (wie beispielsweise Zeitableitungen, zweite Zeitableitungen usw.), komprimiert die akustischen Merkmale bzw. Eigenschaften durch Auswählen relevanter Rah men und quantisiert die statischen und dynamischen akustischen Merkmale bzw. Eigenschaften. Unterschiedlich bekannte Verfahren der Endpunktdetektion, der dynamischen akustischen Merkmalsableitung, der Musterkompression und der Musterquantisierung sind z.B. in Lawrence Rabiner & Biing-Hwang Juang, Fundamentals of Speech Recognition (1993) beschrieben, der vollständig hier durch Bezugnahme aufgenommen ist. Die Mustervergleichslogik 18 vergleicht den Satz von Parametern mit allen Templates, die in der VR-Template-Datenbasis 16 enthalten sind. Die Vergleichsergebnisse oder Abstände zwischen dem Satz von Parametern und allen Templates, die in der VR-Template-Datenbasis 16 gespeichert sind, werden an die Entscheidungslogik 20 geliefert. Die Entscheidungslogik 20 selektiert aus der VR-Template-Datenbasis 16 das Template aus, das am Besten mit dem Satz von Parametern übereinstimmt. In der Alternative kann die Entscheidungslogik 20 einen herkömmlichen "N-besten" Auswahlalgorithmus verwenden, der die N-nächsten Übereinstimmungen innerhalb eines vorbestimmten Übereinstimmungsschwellenwerts auswählt. Es wird dann bei der Person angefragt, welche Auswahl gewollt war. Der Ausgang der Entscheidungslogik 20 ist die Entscheidung, welches Wort in dem Vokabular gesprochen wurde.
  • Die Mustervergleichslogik 18 und die Entscheidungslogik 20 können vorteilhafterweise als ein Mikroprozessor implementiert werden. Das VR-System 10 kann z.B. eine anwendungsspezifische integrierte Schaltung (ASIC = application specific integrated circuit) sein. Die Erkennungsgenauigkeit des VR-Systems 10 ist ein Maß dafür, wie gut das VR-System 10 ordnungsgemäß gesprochene Wörter oder Phrasen in dem Vokabular erkennt. Z.B. zeigt eine Erkennungsgenauigkeit von 95% an, dass das VR-System 10 in korrekter Weise 95 aus 100 mal Wörter in dem Vokabular korrekt erkennt.
  • Der Endpunktdetektor 22 innerhalb des Akustikprozessors 14 bestimmt Parameter, welche den Startpunkt und Endpunkt jeder Sprachäußerung betreffen. Der Endpunktdetektor 22 dient zum Einfangen einer gültigen Äußerung, die entweder als ein Sprachtemplate in der Sprachtrainingsphase verwendet wird, oder mit Sprachtemplates verglichen wird, um eine beste Übereinstimmung in der Spracherkennungsphase zu finden. Der Endpunktdetektor 22 reduziert den Fehler des VR-Systems 10 in der Gegenwart von Hintergrundrauschen um dadurch die Funktionsrobustheit, wie beispielsweise Sprachwahl und Sprachsteuerung eines Mobiltelefons zu erhöhen. Wie im Detail nachfolgend unter Bezugnahme auf 2 beschrieben wird, werden zwei adaptive Signal-zu-Rauschverhältnis-Schwellenwerte in dem Endpunktdetektor 22 etabliert, um die gültige Äußerung einzufangen. Der erste Schwellenwert ist höher als der zweite Schwellenwert. Der erste Schwellenwert wird verwendet um relativ starke Sprachsegmente in der Äußerung einzufangen, und der zweite Schwellenwert wird verwendet, um relativ schwache Segmente in der Äußerung, wie beispielsweise Konsonanten, einzufangen. Die zwei adaptiven SNR-Schwellenwerte können in geeigneter Weise eingestellt bzw. fein eingestellt werden, um zu erlauben, dass das VR-System 10 entweder robust gegen Rauschen oder empfindlich für alle Sprachsegmente ist.
  • Bei einem Ausführungsbeispiel ist der zweite Schwellenwert der Halbratenschwellenwert in einem 13 Kilobit-pro-Sekunde (kbps = kilobit-per-second) Vocoder, wie z.B. der Vocoder, der in dem zuvor genannten US-Patent Nr. 5,414,796 beschrieben ist, und der erste Schwellenwert ist vier bis zehn dB größer als die volle Rate in einem 13 kbps-Vocoder. Die Schwellenwerte sind vorteilhafterweise adaptiv gegenüber Hintergrund SNR, was alle zehn oder zwanzig Millisekunden geschätzt werden kann. Dies ist wünschenswert, da Hintergrundrauschen (d.h. Straßengeräusche) in einem Fahrzeug bzw. Auto variieren. Bei einem Ausführungsbeispiel sitzt das VR-System 10 in einem Vocoder eines Mobiltelefonhandsets und der Endpunktdetektor 22 berechnet das SNR in zwei Frequenzbändern, 0,3 bis 2 kHz und 2 bis 4 kHz. Bei einem weiteren Ausführungsbeispiel befindet sich das VR-System 10 in einer Freisprechanlage eines Autos und der Endpunktdetektor 22 berechnet das SNR in drei Frequenzbändern, 0,3 bis 2 kHz, 2 bis 3 kHz und 3 bis 4 kHz.
  • Gemäß einem Ausführungsbeispiel führt ein Endpunktdetektor die in dem Flussdiagramm gemäß 2 dargestellten Verfahrensschritte durch, um die Endpunkte einer Äußerung zu detektieren. Die Algorithmusschritte, die in 2 dargestellt sind, können vorteilhafterweise mit herkömmlichen Digitalsignalverarbeitungstechniken implementiert werden.
  • Im Schritt 100 werden ein Datenpuffer und ein Parameter, die als GAP bezeichnet werden, geleert bzw. gelöscht. Ein Parameter der mit LENGTH bezeichnet ist, wird gleich einem Parameter gesetzt, der als HEADER_LENGTH bezeichnet wird. Der als LENGTH bezeichnete Parameter verfolgt die Länge der Äußerung, deren Endpunkte detektiert werden. Die unterschiedlichen Parameter können vorteilhafterweise in Registern in dem Endpunktdetektor gespeichert werden. Der Datenpuffer kann vorteilhafterweise ein Kreispuffer sein, was Speicherraum spart, wenn niemand spricht. Ein Akustikprozessor (nicht gezeigt), der den Endpunktdetektor umfasst, verarbeitet Sprachäußerungen in Echtzeit mit einer festgelegten Anzahl von Rahmen pro Äußerung. In einem Ausführungsbeispiel gibt es zehn Millisekunden pro Rahmen. Der Endpunktdetektor muss "zurückschauen" vom Startpunkt einer bestimmten Anzahl von Sprachrahmen, da der Akustikprozessor (nicht gezeigt) eine Echtzeitverarbeitung durchführt. Die Länge des HEADER bestimmt, wie viele Rahmen, ausgehend vom Startpunkt nach hinten geschaut werden müssen. Die Länge des HEADER kann z.B. von zehn bis zwanzig Rahmen betragen. Nach der Beendigung des Schritts 100 fährt der Algorithmus zum Schritt 102 fort.
  • Im Schritt 102 wird ein Rahmen aus Sprachdaten geladen, und die SNR-Schätzung wird aktualisiert oder neu berechnet, wie nachfolgend unter Bezugnahme auf 4 erläutert wird. Somit wird die SNR-Schätzung für jeden Rahmen aktualisiert, um hinsichtlich sich verändernder SNR-Bedingungen adaptiv zu sein. Erste und zweite SNR-Schwellenwerte werden berechnet, wie nachfolgend unter Bezugnahme auf die 4 bis 6 erläutert wird. Der erste SNR-Schwellenwert ist höher als der zweite SNR-Schwellenwert. Nach der Beendigung des Schritts 102 geht der Algorithmus zum Schritt 104 über.
  • Im Schritt 104 wird das derzeitige oder momentane SNR mit dem ersten SNR-Schwellenwert verglichen. Wenn das SNR um eine vorbestimmte Anzahl N von aufeinanderfolgenden Rahmen größer ist als der erste SNR-Schwellenwert, dann geht der Algorithmus zum Schritt 106 über. Wenn andererseits das SNR von N aufeinanderfolgenden Rahmen nicht größer ist als der erste Schwellenwert, dann geht der Algorithmus zum Schritt 108 über. Im Schritt 108 aktualisiert der Algorithmus den Datenpuffer mit den Rahmen, die in dem HEADER enthalten sind. Der Algorithmus kehrt dann zum Schritt 104 zurück. Bei einer Ausführungsform ist die Anzahl N gleich drei. Der Vergleich mit drei aufeinanderfolgenden Rahmen wird für Mittelungszwecke durchgeführt. Wenn z.B. nur ein Rahmen verwendet würde, könnte der Rahmen eine Rauschspitze enthalten. Das sich ergebende SNR würde nicht das über drei aufeinanderfolgende Rahmen gemittelte SNR anzeigen.
  • Im Schritt 106 wird der nächste Rahmen aus Sprachdaten geladen, und die SNR-Schätzung aktualisiert. Der Algorithmus geht dann zum Schritt 110 über. Im Schritt 110 wird das derzeitige SNR mit dem ersten SNR-Schwellenwert verglichen, um den Endpunkt der Äußerung zu bestimmen. Wenn das SNR kleiner ist als der erste SNR-Schwellenwert, dann geht der Algorithmus zum Schritt 112 über. Wenn andererseits das SNR nicht kleiner als der erste SNR-Schwellenwert ist, dann geht der Algorithmus zum Schritt 114 über. Im Schritt 114 wird der Parameter GAP geleert bzw. gelöscht und der Parameter LENGTH wird um eins erhöht. Dann kehrt der Algorithmus zum Schritt 106 zurück.
  • Im Schritt 112 wird der Parameter GAP um eins erhöht. Der Algorithmus geht dann zum Schritt 116 über. Im Schritt 116 wird der Parameter GAP mit einem Parameter verglichen, der als GAP_THRESHOLD bezeichnet wird. Der Parameter GAP_THRESHOLD repräsentiert die Lücke zwischen Wörtern während einer Konversation. Der Parameter GAP_THRESHOLD kann vorteilhafterweise auf 200 bis 400 Millisekunden eingestellt werden. Wenn GAP größer als GAP_THRESHOLD ist, dann geht der Algorithmus zum Schritt 118. Ferner wird im Schritt 116 der Parameter LENGTH mit einem Parameter, der als MAX_LENGTH bezeichnet wird verglichen, was nachfolgend in Verbindung mit dem Schritt 154 näher erläutert wird. Wenn LENGTH größer ist als oder gleich zu MAX_LENGTH ist, dann geht der Algorithmus zum Schritt 118 über. Wenn jedoch im Schritt 116 GAP nicht größer als GAP_THRESHOLD ist, und LENGHT nicht größer als oder gleich MAX_LENGTH ist, dann geht der Algorithmus zum Schritt 120 über. Im Schritt 120 wird der Parameter LENGTH um eins erhöht. Der Algorithmus kehrt dann zum Schritt 106 zurück, um den nächsten Rahmen aus Sprachdaten zu laden.
  • Im Schritt 118 beginnt der Algorithmus nach hinten nach dem Startpunkt der Äußerung zu schauen. Der Algorithmus schaut nach hinten in die Rahmen, die im HEADER gespeichert sind, der vorteilhafterweise zwanzig Rahmen enthält. Ein als PRE_START bezeichneter Parameter wird gleich HEADER gesetzt. Der Algorithmus beginnt auch nach dem Endpunkt der Äußerung zu schauen, wobei ein Parameter, der als PRE_END bezeichnet wird, gleich auf LENGTH minus GAP gesetzt wird. Der Algorithmus geht dann zu den Schritten 122, 124.
  • Im Schritt 122 wird ein Pointer i gleich auf PRE_START minus eins gesetzt, und ein als GAP_START bezeichneter Parameter wird geleert bzw. gelöscht (d.h. GAP_START wird gleich null gesetzt). Der Pointer i repräsentiert den Startpunkt der Äußerung. Der Algorithmus geht dann zum Schritt 126 über. In gleicher Weise wird im Schritt 124 ein Pointer j gesetzt, und zwar gleich PRE_END, und ein als GAP_END bezeichneter Parameter wird gelöscht. Der Pointer j repräsentiert den Endpunkt der Äußerung. Der Algorithmus geht dann zum Schritt 128 über. Wie in 3 gezeigt ist, illustriert ein erstes Liniensegment mit Pfeilen an entgegengesetzten Enden die Länge einer Äußerung. Die Enden der Linie repräsentieren die tatsächlichen Start- und Endpunkte der Äußerung (d.h. END minus START). Ein zweites Liniensegment mit Pfeilen an entgegengesetzten Enden, das unterhalb des ersten Liniensegments gezeigt ist, repräsentiert den Wert PRE_END minus PRE_START, wobei das linksseitige Ende den Anfangswert des Pointers i repräsentiert und das rechtsseitige Ende den Anfangswert des Pointers j.
  • Im Schritt 126 lädt der Algorithmus das derzeitige SNR des Rahmens mit der Nummer i. Der Algorithmus geht dann zum Schritt 130 über. In gleicher Weise lädt im Schritt 128 das derzeitige SNR des Rahmens j. Der Algorithmus geht dann zum Schritt 132 über.
  • Im Schritt 130 vergleicht der Algorithmus das derzeitige SNR des Rahmens Nummer i mit dem zweiten SNR-Schwellenwert. Wenn das derzeitige SNR kleiner ist als der zweite SNR-Schwellenwert, dann geht der Algorithmus zum Schritt 134 über. Wenn andererseits das derzeitige SNR nicht kleiner ist als der zweite SNR-Schwellenwert, dann geht der Algorithmus zum Schritt 136 über. In gleicher Weise vergleicht der Algorithmus im Schritt 132 das derzeitige SNR des Rahmens Nummer j mit dem zweiten SNR-Schwellenwert. Wenn das derzeitige SNR kleiner ist als der zweite SNR-Schwellenwert, dann geht der Algorithmus zum Schritt 138 über. Wenn andererseits das derzeitige SNR nicht kleiner ist als der zweite SNR-Schwellenwert, dann geht der Algorithmus zum Schritt 140 über.
  • Im Schritt 136 wird GAP_START geleert bzw. gelöscht, und der Pointer i wird um eins verringert. Der Algorithmus geht dann zum Schritt 126 zurück. In gleicher Weise wird im Schritt 140 GAP_END geleert bzw. gelöscht und der Pointer j wird um eins erhöht. Der Algorithmus geht dann zum Schritt 128 zurück.
  • Im Schritt 124 wird GAP_START um eins erhöht. Der Algorithmus geht dann zum Schritt 142 über. In gleicher Weise wird im Schritt 138 GAP_END um eins verringert. Der Algorithmus geht dann zum Schritt 144 über.
  • Im Schritt 142 wird GAP_START mit einem Parameter, der als GAP_START_THRESHOLD bezeichnet wird, verglichen. Der Parameter GAP_START_THRESHOLD repräsentiert die Lücke zwischen Phonemen innerhalb gesprochener Wörter, oder die Lücke zwischen benachbarten Wörtern in einer Konversation, die in rascher aufeinander Folge gesprochen wird. Wenn GAP_START größer als GAP_START_THRESHOLD ist, oder wenn der Pointer i kleiner als oder gleich null ist, dann geht der Algorithmus zum Schritt 146 über. Wenn andererseits GAP_START nicht größer als GAP_START_THRESHOLD ist, und der Pointer i nicht kleiner als oder gleich null ist, dann geht der Algorithmus zum Schritt 148 über. In gleicher Weise wird im Schritt 144 GAP_END mit einem Parameter der als GAP_END_THRESHOLD bezeichnet wird, verglichen. Der Parameter GAP_END_THRESHOLD repräsentiert die Lücke zwischen Phonemen innerhalb gesprochener Wörter oder die Lücke zwischen benachbarten Wörtern in einer, in rascher aufeinander Folge gesprochenen Konversation. Wenn GAP_END größer als GAP_END_THRESHOLD ist, oder wenn der Pointer j größer als oder gleich LENGTH ist, dann geht der Algorithmus zum Schritt 150 über. Wenn andererseits GAP_END nicht größer als GAP_END_THRESHOLD ist, und der Pointer j nicht größer als oder gleich LENGTH ist, dann geht der Algorithmus zum Schritt 152 über.
  • Im Schritt 148 wird der Pointer i um eins verringert. Der Algorithmus geht dann zum Schritt 126 zurück. In gleicher Weise wird im Schritt 152 der Pointer j um eins erhöht. Der Algorithmus geht dann zum Schritt 128 zurück.
  • Im Schritt 146 wird ein als START bezeichneter Parameter, der den tatsächlichen Startpunkt der Äußerung repräsentiert, gleich dem Pointer i minus GAP_START gesetzt. Der Algorithmus geht dann zum Schritt 154 über. In gleicher Weise wird im Schritt 150 ein als END bezeichneter Parameter, der den tatsächlichen Endpunkt der Äußerung repräsentiert, gleich dem Pointer j minus GAP_END gesetzt. Der Algorithmus geht dann zum Schritt 154 über.
  • Im Schritt 154 wird die Differenz END minus START mit einem als MIN_LENGTH bezeichneten Parameter verglichen, der ein vordefinierter Wert ist, der eine Länge repräsentiert, die kleiner ist als die Länge des kürzesten Worts in dem Vokabular der VR-Vorrichtung. Die Differenz END minus START wird auch mit dem Parameter MAX_LENGTH verglichen, der ein vorbestimmter Wert ist, der eine Länge repräsentiert, die größer ist als das längste Wort in dem Vokabular der VR-Vorrichtung. Bei einem Ausführungsbeispiel beträgt MIN_LENGTH 100 Millisekunden und MAX_LENGTH 2,5 Sekunden. Wenn die Differenz END minus START größer als oder gleich MIN_LENGTH ist, und kleiner als oder gleich MAX_LENGTH, dann wurde eine gültige Äußerung eingefangen. Wenn andererseits die Differenz END minus START entweder kleiner als MIN_LENGTH oder größer als MAX_LENGTH ist, dann ist die Äußerung nicht gültig.
  • In 5 werden SNR-Schätzungen (dB) gegen derzeitige SNR (dB) für einen Endpunktdetektor aufgetragen, der in einem Mobiltelefon vorhanden ist, und ein beispielhafter Satz von ersten und zweiten SNR-Schwellenwerten, basierend auf den SNR-Schätzungen, ist gezeigt. Wenn die SNR-Schätzung beispielsweise bei 40 dB läge, wäre der erste Schwellenwert bei 19 dB und der zweite Schwellenwert wäre bei ungefähr 8,9 dB. In 6 sind SNR-Schätzungen (dB) gegen derzeitige SNR (dB) für einen Endpunktdetektor aufgetragen, der in einer Freisprechanlage für ein Fahrzeug vorgesehen ist, und ein beispielhafter Satz von ersten und zweiten SNR-Schwellenwerten, basierend auf den SNR-Schätzungen, ist gezeigt. Wenn z.B. das derzeitige SNR bei 15 dB liegt, dann wäre der erste Schwellenwert bei ungefähr 15 dB und der zweite Schwellenwert würde bei ungefähr 8,2 dB liegen.
  • Bei einer Ausführungsform werden die Schätzschritte 102, 106 und die Vergleichsschritte 104, 110, 130 und 132, die in Verbindung mit 3 beschrieben wurden, gemäß den Schritten durchgeführt, die in dem Flussdiagramm von 4 dargestellt sind. In 4 wird der Schritt des Schätzens des SNR (entweder Schritt 102 oder Schritt 106 gemäß 3) durch die folgenden Schritte durchgeführt, die durch gestrichelte Linien eingeschlossen sind, und mit dem Bezugszeichen 102 (zur Vereinfachung) bezeichnet sind. Im Schritt 200 wird eine Bandenergie (BE)-Wert und ein geglätteter Bandenergiewert (ESM) für den vorhergehenden Rahmen verwendet, um einen geglätteten Bandenergiewert (ESM) für den derzeitigen Rahmen zu berechnen, und zwar wie folgt: ESM = 0,6 ESM + 0,4 BE
  • Nachdem die Berechnung im Schritt 200 beendet ist, wird der Schritt 202 durchgeführt. Im Schritt 202 wird ein geglätteter Hintergrundenergiewert (BSM) für den derzeitigen Rahmen bestimmt auf das Minimum von 1,03 mal dem geglätteten Hintergrundenergiewert (BSM) für den vorhergehenden Rahmen und den geglätteten Bandenergiewert (ESM) für den derzeitigen Rahmen, und zwar wie folgt: BSM = min(1,03 BSM, ESM)
  • Nachdem die Berechnung im Schritt 202 beendet ist, wird der Schritt 204 durchgeführt. Im Schritt 204 wird ein geglätteter Signalenergiewert (SSM) für den derzeitigen Rahmen bestimmt auf das Maximum von 0,97 mal dem geglätteten Signalenergiewert (SSM) für den vorhergehenden Rahmen und den geglätteten Bandenergiewert (ESM) für den derzeitigen Rahmen, und zwar wie folgt: SSM = max(0,97 SSM, ESM)
  • Nachdem die Berechnung im Schritt 204 beendet ist, wird der Schritt 206 durchgeführt. Im Schritt 206 wird eine SNR-Schätzung (SNREST) für den derzeitigen Rahmen berechnet aus dem geglätteten Signalenergiewert (SSM) für den derzeitigen Rahmen und den geglätteten Hintergrundenergiewert (BSM) für den derzeitigen Rahmen, und zwar wie folgt: SNREST = 10log10(SSM/BSM)
  • Nachdem die Berechnung im Schritt 206 beendet ist, wird der Schritt des Vergleichs des derzeitigen SNR mit dem geschätzten SNR (SNREST) durchgeführt zum Etablieren eines ersten oder zweiten SNR-Schwellenwerts (entweder Schritt 104 oder Schritt 110 gemäß 3 für den ersten SNR-Schwellenwert oder Schritt 130 oder Schritt 132 gemäß 3 für den zweiten SNR-Schwellenwert), indem der Vergleich des Schritts 208 durchgeführt wird, der durch die gestrichelten Linien umschlossen ist und mit dem Bezugszeichen 104 (zur Vereinfachung) versehen ist. Der Vergleich des Schritts 208 verwendet die folgende Gleichung für das derzeitige SNR (SNRINST): SNRINST = 10log10(BE/BSM)
  • Demgemäß wird im Schritt 208 das derzeitige SNR (SNRINST) für den derzeitigen Rahmen mit einem ersten oder zweiten SNR-Schwellenwert verglichen, und zwar gemäß der folgenden Gleichung. SNRINST > Schwellenwert(SNREST)?
  • Bei einer Ausführungsform, bei der ein VR-System in einem Mobiltelefon ist, können die ersten und zweiten SNR-Schwellenwerte aus dem Graph gemäß 5 erhalten werden durch Lokalisieren der SNR-Schätzung (SNREST) für den derzeitigen Rahmen auf der Horizontalachse und Behandeln der ersten und zweiten Schwellenwerte als die Schnittpunkte mit den gezeigten ersten und zweiten Schwellenwertkurven. Bei einer weiteren Ausführungsform, bei der ein VR-System in einer Freisprechanlage eines Autos enthalten ist, können die ersten und zweiten SNR-Schwellenwerte aus dem Graph gemäß 6 erhalten werden durch Lokalisieren der SNR-Schätzung (SNREST) für den derzeitigen Rahmen auf der Horizontalachse und durch Behandeln der ersten und zweiten Schwellenwerte als die Schnittpunkte mit den ersten oder zweiten dargestellten Schwellenwertkurven.
  • Das derzeitige SNR (SNRINST) kann gemäß irgendeinem bekannten Verfahren berechnet werden, einschließlich z.B. der Verfahren der SNR-Berechnung, die in den US-Patenten Nr. 5,742,734 und 5,341,456 beschrieben sind, die dem Anmelder der vorliegenden Erfindung gehören, und hier vollständig durch Bezugnahme aufgenommen sind. Die SNR-Schätzung (SNREST) könnte auf irgendeinen Wert initialisiert werden, kann aber vorteilhafterweise, wie nachfolgend beschrieben, initialisiert werden.
  • Bei einer Ausführungsform bei der ein VR-System in einem Mobiltelefon aufgenommen ist, ist der Anfangs- bzw. Initialwert (d.h. der Wert in dem ersten Rahmen) der geglätteten Bandenergie (ESM) für das Niedrigfrequenzband (0,3 bis 2 kHz) gleich der Eingangssignalbandenergie (BE) für den ersten Rahmen gesetzt. Der Initialwert der geglätteten Bandenergie (ESM) für das Hochfrequenzband (2 bis 4 kHz) ist auch gleich der Eingangssignalbandenergie (BE) für den ersten Rahmen gesetzt. Der Initialwert der geglätteten Hintergrundenergie (BSM) ist auf gleich 5059644 für das Niedrigfrequenzband und 5059644 für das Hochfrequenzband gesetzt (die Einheiten sind Quantisierungsniveaus der Signalenergie, welche berechnet wird aus der Summe der Quadrate der digitalisierten Proben des Eingangssignals). Der Initialwert der geglätteten Signalenergie (SSM) wird auf 3200000 für das Niedrigfrequenzband und 320000 für das Hochfrequenzband gesetzt.
  • Bei einer weiteren Ausführungsform, bei der ein VR-System in einer Freisprechanlage für ein Auto aufgenommen ist, führt der Initialwert (d.h. der Wert in dem ersten Rahmen) der geglätteten Bandenergie (ESM) für das Niedrigfrequenzband (0,3 bis 2 kHz) gleich der Eingangssignalbandenergie (BE) für den ersten Rahmen gesetzt. Die Anfangswerte der geglätteten Bandenergie (ESM) für das Mittelfrequenzband (2 bis 3 kHz) und das Hochfrequenzband (3 bis 4 kHz) werden auch gleich der Eingangssignalbandenergie (BE) für den ersten Rahmen gesetzt. Der Initialwert für die geglättete Hintergrundenergie (BSM) wird auf 5059644 für das Niedrigfrequenzband, 5059644 für das Mittelfrequenzband und 5059644 für das Hochfrequenzband gesetzt. Der Initialwert für die geglättete Signalenergie (SSM) wird auf 3200000 für das Niedrigfrequenzband, 250000 für das Mittelfrequenzband und 70000 für das Hochfrequenzband gesetzt.
  • Somit wurden ein neues und verbessertes Verfahren und eine Vorrichtung für eine akkurate Endpunktierung von Sprache in der Gegenwart von Rauschen bzw. Störgeräuschen beschrieben. Die beschriebenen Ausführungsformen vermeiden vorteilhafterweise entweder eine falsche Auslösung eines Endpunktdetektors indem ein in geeigneter Weise hoher erster SNR- Schwellenwert gesetzt wird, oder er verpasst keine schwachen Sprachsegmente durch Einstellen eines geeignet niedrigen zweiten SNR-Schwellenwerts.
  • Der Fachmann wird erkennen, dass unterschiedliche illustrative Logikblöcke und Algorithmusschritte, die in Verbindung mit den Ausführungsformen beschrieben wurden, mit einem Digitalsignalprozessor (DSP), einer anwendungsspezifischen integrierten Schaltung (ASIC), einer diskreten Gate- oder Transistorlogik, diskreten Hardwarekomponenten, wie beispielsweise Register und FIFO, einem Prozessor, der einen Satz von Firmwareinstruktionen durchführt, oder irgendeinem herkömmlichen programmierbaren Softwaremodul und einem Prozessor implementiert oder durchgeführt werden können. Der Prozessor kann vorteilhafterweise ein Mikroprozessor sein, in der Alternative kann der Prozessor aber irgendein herkömmlicher Prozessor, Controller, Mikrocontroller oder eine Zustandsmaschine sein. Das Softwaremodul könnte sich im RAM-Speicher, Flashspeicher, Registern oder irgendeiner anderen Form von beschreibbarem Speichermedium befinden, wie es in der Technik bekannt ist. Der Fachmann wird ferner erkennen, dass die Daten, Instruktionen, Befehle, Informationen, Signale, Bits, Symbole und Chips, auf die sich über die obige Beschreibung hinweg bezogen wird, vorteilhafterweise durch Spannungen, Ströme, elektromagnetische Wellen, Magnetfelder oder Partikel, optische Felder oder Partikel oder irgendeine Kombination davon, repräsentiert werden.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung wurden hiermit gezeigt und beschrieben. Es ist für den Fachmann jedoch offensichtlich, dass zahlreiche Änderungen an den Ausführungsbeispielen, die hier beschrieben wurden, durchgeführt werden können, ohne vom Wesen oder Umfang der Erfindung abzuweichen. Daher soll die vorliegende Erfindung mit der Ausnahme der folgenden Ansprüche nicht beschränkt werden.

Claims (6)

  1. Eine Vorrichtung zum Detektieren von Endpunkten einer Äußerung bzw. eines Sprachelements in Rahmen eines empfangenen Signals; wobei die Vorrichtung Folgendes aufweist: einen Prozessor (14, 22); und ein Softwaremodul, das durch den Prozessor (14, 22) ausführbar ist, um eine Äußerung mit einem ersten Schwellenwert zu vergleichen, um einen ersten Startpunkt und einen ersten Endpunkt der Äußerung (104, 118) zu bestimmen, und um einen Teil der Äußerung, der dem ersten Startpunkt vorausgeht, mit einem zweiten Schwellenwert, der niedriger ist als der erste Schwellenwert, zu vergleichen, um einen zweiten Startpunkt der Äußerung (122, 126, 130, 134, 142,148) zu bestimmen, und zum Vergleichen eines Teils der Äußerung, der dem ersten Endpunkt nachfolgt, mit dem zweiten Schwellenwert, um einen zweiten Endpunkt der Äußerung (124, 128, 132, 138, 144, 152) zu bestimmen, wobei die ersten und zweiten Schwellenwerte pro Rahmen von einem Signal-zu-Rauschverhältnis der Äußerung (4, 5, 6), das ebenfalls pro Rahmen berechnet wird, berechnet werden.
  2. Vorrichtung nach Anspruch 1, wobei eine Differenz zwischen dem zweiten Endpunkt und dem zweiten Startpunkt beschränkt wird durch vordefinierte maximale und minimale Längengrenzen (110, 154).
  3. Ein Verfahren zum Detektieren von Endpunkten einer Äußerung bzw. eines Sprachelements in Rahmen eines empfangenen Signals, wobei das Verfahren die folgenden Schritte aufweist: Vergleichen einer Äußerung mit einem ersten Schwellenwert um einen ersten Startpunkt und einen ersten Endpunkt der Äußerung (104, 118) zu bestimmen; Vergleichen eines Teils der Äußerung, der dem ersten Startpunkt vorausgeht, mit einem zweiten Schwellenwert, der niedriger ist als der erste Schwellenwert, um einen zweiten Startpunkt der Äußerung zu bestimmen (122, 126, 130, 134, 142, 148); und Vergleichen eines Teils der Äußerung, der dem ersten Endpunkt nachfolgt, mit dem zweiten Schwellenwert, um einen zweiten Endpunkt der Äußerung zu bestimmen (124, 128, 132, 138, 144, 152), wobei die ersten und zweiten Schwellenwerte pro Rahmen von einem Signal-zu-Rauschverhältnis der Äußerung (106, 4, 5, 6), das ebenfalls pro Rahmen berechnet wird, berechnet werden.
  4. Verfahren nach Anspruch 3, das weiterhin den Schritt des Beschränkens einer Differenz zwischen dem zweiten Endpunkt und dem zweiten Startpunkt durch vordefinierte maximale und minimale Längengrenzen (110, 154) aufweist.
  5. Eine Vorrichtung zum Detektieren von Endpunkten einer Äußerung in Rahmen eines empfangenen Signals (3), wobei die Vorrichtung Folgendes aufweist: Mittel zum Vergleichen einer Äußerung mit einer ersten Schwelle, um einen ersten Startpunkt und einen ersten Endpunkt der Äußerung (104, 118) zu bestimmen; Mittel zum Vergleichen mit einem zweiten Schwellenwert, der geringer ist als der erste Schwellenwert, eines Teils der Äußerung, der dem ersten Startpunkt vorausgeht, um einen zweiten Startpunkt der Äußerung (122, 126, 130, 134, 142,148) zu bestimmen; und Mittel zum Vergleichen eines Teils der Äußerung, der dem ersten Endpunkt nachfolgt, mit dem zweiten Schwellenwert, um einen zweiten Endpunkt der Äußerung (124, 128, 132, 138, 144, 152) zu bestimmen, wobei die ersten und zweiten Schwellenwerte pro Rahmen von einem Signal-zu-Rauschverhältnis für die Äußerung (106, 4, 5, 6), das ebenfalls pro Rahmen berechnet wird, berechnet werden.
  6. Vorrichtung nach Anspruch 5, die weiterhin Mittel aufweist zum Beschränken einer Differenz zwischen dem zweiten Endpunkt und dem zweiten Startpunkt, durch vordefinierte maximale und minimale Längengrenzen (110, 154).
DE60024236T 1999-02-08 2000-02-08 Sprach endpunktbestimmung in einem rauschsignal Expired - Lifetime DE60024236T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US246414 1994-05-20
US09/246,414 US6324509B1 (en) 1999-02-08 1999-02-08 Method and apparatus for accurate endpointing of speech in the presence of noise
PCT/US2000/003260 WO2000046790A1 (en) 1999-02-08 2000-02-08 Endpointing of speech in a noisy signal

Publications (2)

Publication Number Publication Date
DE60024236D1 DE60024236D1 (de) 2005-12-29
DE60024236T2 true DE60024236T2 (de) 2006-08-17

Family

ID=22930583

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024236T Expired - Lifetime DE60024236T2 (de) 1999-02-08 2000-02-08 Sprach endpunktbestimmung in einem rauschsignal

Country Status (11)

Country Link
US (1) US6324509B1 (de)
EP (1) EP1159732B1 (de)
JP (1) JP2003524794A (de)
KR (1) KR100719650B1 (de)
CN (1) CN1160698C (de)
AT (1) ATE311008T1 (de)
AU (1) AU2875200A (de)
DE (1) DE60024236T2 (de)
ES (1) ES2255982T3 (de)
HK (1) HK1044404B (de)
WO (1) WO2000046790A1 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19939102C1 (de) * 1999-08-18 2000-10-26 Siemens Ag Verfahren und Anordnung zum Erkennen von Sprache
WO2001050459A1 (en) * 1999-12-31 2001-07-12 Octiv, Inc. Techniques for improving audio clarity and intelligibility at reduced bit rates over a digital network
JP4201471B2 (ja) 2000-09-12 2008-12-24 パイオニア株式会社 音声認識システム
US20020075965A1 (en) * 2000-12-20 2002-06-20 Octiv, Inc. Digital signal processing techniques for improving audio clarity and intelligibility
DE10063079A1 (de) * 2000-12-18 2002-07-11 Infineon Technologies Ag Verfahren zum Erkennen von Identifikationsmustern
US20030023429A1 (en) * 2000-12-20 2003-01-30 Octiv, Inc. Digital signal processing techniques for improving audio clarity and intelligibility
US7277853B1 (en) * 2001-03-02 2007-10-02 Mindspeed Technologies, Inc. System and method for a endpoint detection of speech for improved speech recognition in noisy environments
US7236929B2 (en) * 2001-05-09 2007-06-26 Plantronics, Inc. Echo suppression and speech detection techniques for telephony applications
GB2380644A (en) * 2001-06-07 2003-04-09 Canon Kk Speech detection
JP4858663B2 (ja) * 2001-06-08 2012-01-18 日本電気株式会社 音声認識方法及び音声認識装置
US7433462B2 (en) * 2002-10-31 2008-10-07 Plantronics, Inc Techniques for improving telephone audio quality
JP4265908B2 (ja) * 2002-12-12 2009-05-20 アルパイン株式会社 音声認識装置及び音声認識性能改善方法
DE112004000782T5 (de) * 2003-05-08 2008-03-06 Voice Signal Technologies Inc., Woburn Signal-zu-Rausch-Verhältnis vermittelter Spracherkennungs-Algorithmus
US20050285935A1 (en) * 2004-06-29 2005-12-29 Octiv, Inc. Personal conferencing node
US20050286443A1 (en) * 2004-06-29 2005-12-29 Octiv, Inc. Conferencing system
JP4460580B2 (ja) * 2004-07-21 2010-05-12 富士通株式会社 速度変換装置、速度変換方法及びプログラム
US7610199B2 (en) * 2004-09-01 2009-10-27 Sri International Method and apparatus for obtaining complete speech signals for speech recognition applications
US20060074658A1 (en) * 2004-10-01 2006-04-06 Siemens Information And Communication Mobile, Llc Systems and methods for hands-free voice-activated devices
WO2006077626A1 (ja) * 2005-01-18 2006-07-27 Fujitsu Limited 話速変換方法及び話速変換装置
US20060241937A1 (en) * 2005-04-21 2006-10-26 Ma Changxue C Method and apparatus for automatically discriminating information bearing audio segments and background noise audio segments
US8170875B2 (en) * 2005-06-15 2012-05-01 Qnx Software Systems Limited Speech end-pointer
US8311819B2 (en) 2005-06-15 2012-11-13 Qnx Software Systems Limited System for detecting speech with background voice estimates and noise estimates
JP4804052B2 (ja) * 2005-07-08 2011-10-26 アルパイン株式会社 音声認識装置、音声認識装置を備えたナビゲーション装置及び音声認識装置の音声認識方法
JP5388447B2 (ja) * 2005-07-15 2014-01-15 ヤマハ株式会社 発音期間を特定する音信号処理装置および音信号処理方法
US20070033042A1 (en) * 2005-08-03 2007-02-08 International Business Machines Corporation Speech detection fusing multi-class acoustic-phonetic, and energy features
US7962340B2 (en) * 2005-08-22 2011-06-14 Nuance Communications, Inc. Methods and apparatus for buffering data for use in accordance with a speech recognition system
JP2007057844A (ja) * 2005-08-24 2007-03-08 Fujitsu Ltd 音声認識システムおよび音声処理システム
US8204754B2 (en) * 2006-02-10 2012-06-19 Telefonaktiebolaget L M Ericsson (Publ) System and method for an improved voice detector
JP4671898B2 (ja) * 2006-03-30 2011-04-20 富士通株式会社 音声認識装置、音声認識方法、音声認識プログラム
US7680657B2 (en) * 2006-08-15 2010-03-16 Microsoft Corporation Auto segmentation based partitioning and clustering approach to robust endpointing
JP4840149B2 (ja) * 2007-01-12 2011-12-21 ヤマハ株式会社 発音期間を特定する音信号処理装置およびプログラム
CN101636784B (zh) * 2007-03-20 2011-12-28 富士通株式会社 语音识别系统及语音识别方法
CN101320559B (zh) * 2007-06-07 2011-05-18 华为技术有限公司 一种声音激活检测装置及方法
US8103503B2 (en) * 2007-11-01 2012-01-24 Microsoft Corporation Speech recognition for determining if a user has correctly read a target sentence string
KR101437830B1 (ko) * 2007-11-13 2014-11-03 삼성전자주식회사 음성 구간 검출 방법 및 장치
US20090198490A1 (en) * 2008-02-06 2009-08-06 International Business Machines Corporation Response time when using a dual factor end of utterance determination technique
ES2371619B1 (es) * 2009-10-08 2012-08-08 Telefónica, S.A. Procedimiento de detección de segmentos de voz.
CN102073635B (zh) * 2009-10-30 2015-08-26 索尼株式会社 节目端点时间检测装置和方法以及节目信息检索系统
HUE053127T2 (hu) * 2010-12-24 2021-06-28 Huawei Tech Co Ltd Eljárás és berendezés hang aktivitás adaptív detektálására egy bemeneti audiójelben
KR20130014893A (ko) * 2011-08-01 2013-02-12 한국전자통신연구원 음성 인식 장치 및 방법
CN102522081B (zh) * 2011-12-29 2015-08-05 北京百度网讯科技有限公司 一种检测语音端点的方法及系统
US20140358552A1 (en) * 2013-05-31 2014-12-04 Cirrus Logic, Inc. Low-power voice gate for device wake-up
US9418650B2 (en) * 2013-09-25 2016-08-16 Verizon Patent And Licensing Inc. Training speech recognition using captions
US8843369B1 (en) 2013-12-27 2014-09-23 Google Inc. Speech endpointing based on voice profile
CN103886871B (zh) * 2014-01-28 2017-01-25 华为技术有限公司 语音端点的检测方法和装置
CN107086043B (zh) * 2014-03-12 2020-09-08 华为技术有限公司 检测音频信号的方法和装置
US9607613B2 (en) 2014-04-23 2017-03-28 Google Inc. Speech endpointing based on word comparisons
CN106297795B (zh) * 2015-05-25 2019-09-27 展讯通信(上海)有限公司 语音识别方法及装置
CN105989849B (zh) * 2015-06-03 2019-12-03 乐融致新电子科技(天津)有限公司 一种语音增强方法、语音识别方法、聚类方法及装置
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing
US10269341B2 (en) 2015-10-19 2019-04-23 Google Llc Speech endpointing
KR101942521B1 (ko) 2015-10-19 2019-01-28 구글 엘엘씨 음성 엔드포인팅
CN105551491A (zh) * 2016-02-15 2016-05-04 海信集团有限公司 语音识别方法和设备
EP4083998A1 (de) 2017-06-06 2022-11-02 Google LLC Erkennung des endes einer abfrage
US10929754B2 (en) 2017-06-06 2021-02-23 Google Llc Unified endpointer using multitask and multidomain learning
RU2761940C1 (ru) 2018-12-18 2021-12-14 Общество С Ограниченной Ответственностью "Яндекс" Способы и электронные устройства для идентификации пользовательского высказывания по цифровому аудиосигналу

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5533A (en) * 1978-06-01 1980-01-05 Idemitsu Kosan Co Ltd Preparation of beta-phenetyl alcohol
US4567606A (en) 1982-11-03 1986-01-28 International Telephone And Telegraph Corporation Data processing apparatus and method for use in speech recognition
FR2571191B1 (fr) 1984-10-02 1986-12-26 Renault Systeme de radiotelephone, notamment pour vehicule automobile
JPS61105671A (ja) 1984-10-29 1986-05-23 Hitachi Ltd 自然言語処理装置
US4821325A (en) * 1984-11-08 1989-04-11 American Telephone And Telegraph Company, At&T Bell Laboratories Endpoint detector
US4991217A (en) 1984-11-30 1991-02-05 Ibm Corporation Dual processor speech recognition system with dedicated data acquisition bus
JPH07109559B2 (ja) * 1985-08-20 1995-11-22 松下電器産業株式会社 音声区間検出方法
JPS6269297A (ja) 1985-09-24 1987-03-30 日本電気株式会社 話者確認タ−ミナル
JPH0711759B2 (ja) * 1985-12-17 1995-02-08 松下電器産業株式会社 音声認識等における音声区間検出方法
JPH06105394B2 (ja) * 1986-03-19 1994-12-21 株式会社東芝 音声認識方式
US5231670A (en) 1987-06-01 1993-07-27 Kurzweil Applied Intelligence, Inc. Voice controlled system and method for generating text from a voice controlled input
DE3739681A1 (de) * 1987-11-24 1989-06-08 Philips Patentverwaltung Verfahren zum bestimmen von anfangs- und endpunkt isoliert gesprochener woerter in einem sprachsignal und anordnung zur durchfuehrung des verfahrens
JPH01138600A (ja) * 1987-11-25 1989-05-31 Nec Corp 音声ファイル方式
US5321840A (en) 1988-05-05 1994-06-14 Transaction Technology, Inc. Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal
US5054082A (en) 1988-06-30 1991-10-01 Motorola, Inc. Method and apparatus for programming devices to recognize voice commands
US5040212A (en) 1988-06-30 1991-08-13 Motorola, Inc. Methods and apparatus for programming devices to recognize voice commands
US5325524A (en) 1989-04-06 1994-06-28 Digital Equipment Corporation Locating mobile objects in a distributed computer system
US5212764A (en) * 1989-04-19 1993-05-18 Ricoh Company, Ltd. Noise eliminating apparatus and speech recognition apparatus using the same
JPH0754434B2 (ja) * 1989-05-08 1995-06-07 松下電器産業株式会社 音声認識装置
US5012518A (en) 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
US5146538A (en) 1989-08-31 1992-09-08 Motorola, Inc. Communication system and method with voice steering
JP2966460B2 (ja) * 1990-02-09 1999-10-25 三洋電機株式会社 音声切り出し方法及び音声認識装置
US5280585A (en) 1990-09-28 1994-01-18 Hewlett-Packard Company Device sharing system using PCL macros
ATE294441T1 (de) 1991-06-11 2005-05-15 Qualcomm Inc Vocoder mit veränderlicher bitrate
WO1993001664A1 (en) 1991-07-08 1993-01-21 Motorola, Inc. Remote voice control system
US5305420A (en) 1991-09-25 1994-04-19 Nippon Hoso Kyokai Method and apparatus for hearing assistance with speech speed control function
JPH05130067A (ja) * 1991-10-31 1993-05-25 Nec Corp 可変閾値型音声検出器
US5305422A (en) * 1992-02-28 1994-04-19 Panasonic Technologies, Inc. Method for determining boundaries of isolated words within a speech signal
JP2907362B2 (ja) * 1992-09-17 1999-06-21 スター精密 株式会社 電気音響変換器
US5692104A (en) * 1992-12-31 1997-11-25 Apple Computer, Inc. Method and apparatus for detecting end points of speech activity
DE69421911T2 (de) * 1993-03-25 2000-07-20 British Telecomm Spracherkennung mit pausedetektion
DE4422545A1 (de) * 1994-06-28 1996-01-04 Sel Alcatel Ag Start-/Endpunkt-Detektion zur Worterkennung
JP3297346B2 (ja) * 1997-04-30 2002-07-02 沖電気工業株式会社 音声検出装置

Also Published As

Publication number Publication date
HK1044404B (zh) 2005-04-22
JP2003524794A (ja) 2003-08-19
WO2000046790A1 (en) 2000-08-10
KR20010093334A (ko) 2001-10-27
EP1159732A1 (de) 2001-12-05
CN1354870A (zh) 2002-06-19
KR100719650B1 (ko) 2007-05-17
US6324509B1 (en) 2001-11-27
EP1159732B1 (de) 2005-11-23
ATE311008T1 (de) 2005-12-15
ES2255982T3 (es) 2006-07-16
CN1160698C (zh) 2004-08-04
AU2875200A (en) 2000-08-25
DE60024236D1 (de) 2005-12-29
HK1044404A1 (en) 2002-10-18

Similar Documents

Publication Publication Date Title
DE60024236T2 (de) Sprach endpunktbestimmung in einem rauschsignal
DE60125542T2 (de) System und verfahren zur spracherkennung mit einer vielzahl von spracherkennungsvorrichtungen
DE69433593T2 (de) Aufgeteiltes spracherkennungssystem
US6411926B1 (en) Distributed voice recognition system
DE69916255T2 (de) System und verfahren zur geräuschkompensierten spracherkennung
DE10134908B4 (de) Spracherkennungsvorrichtung und Verfahren, welche zwei gegenteilige Wörter verwenden
EP1352389B1 (de) Vorrichtung und verfahren für speicherung von spracherkennungsmodellen
DE60124551T2 (de) Verfahren und vorrichtung zur erzeugung der referenzmuster für ein sprecherunabhängiges spracherkennungssystem
DE602005001995T2 (de) Basisband-Modem und Verfahren zur Spracherkennung und verwendendes Mobilkommunikationsendgerät
DE60034772T2 (de) Zurückweisungsverfahren in der spracherkennung
DE60014583T2 (de) Verfahren und vorrichtung zur integritätsprüfung von benutzeroberflächen sprachgesteuerter geräte
US6694294B1 (en) System and method of mu-law or A-law compression of bark amplitudes for speech recognition
US6792405B2 (en) Bitstream-based feature extraction method for a front-end speech recognizer
US20080228477A1 (en) Method and Device For Processing a Voice Signal For Robust Speech Recognition
Fohr et al. The automatic speech recognition engine ESPERE: experiments on telephone speech
Li et al. An auditory system-based feature for robust speech recognition
Brancaccio et al. Experiments on noise reduction techniques with robust voice detector in car environment.
Dobler et al. Design and use of speech recognition algorithms for a mobile radio telephone

Legal Events

Date Code Title Description
8364 No opposition during term of opposition