DE69923997T2 - Fehlerverschleierung in einem verteilten spracherkennungsprozess - Google Patents

Fehlerverschleierung in einem verteilten spracherkennungsprozess Download PDF

Info

Publication number
DE69923997T2
DE69923997T2 DE69923997T DE69923997T DE69923997T2 DE 69923997 T2 DE69923997 T2 DE 69923997T2 DE 69923997 T DE69923997 T DE 69923997T DE 69923997 T DE69923997 T DE 69923997T DE 69923997 T2 DE69923997 T2 DE 69923997T2
Authority
DE
Germany
Prior art keywords
speech recognition
vector
vectors
replaced
recognition parameters
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
DE69923997T
Other languages
English (en)
Other versions
DE69923997D1 (de
Inventor
John David Basingstoke PEARCE
Alastair Jon Southampton GIBBS
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.)
Motorola Solutions UK Ltd
Original Assignee
Motorola Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Ltd filed Critical Motorola Ltd
Application granted granted Critical
Publication of DE69923997D1 publication Critical patent/DE69923997D1/de
Publication of DE69923997T2 publication Critical patent/DE69923997T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren zum Mildern von Fehlern in einem verteilten Spracherkennungssystem. Die vorliegende Erfindung betrifft auch eine Vorrichtung zum Mildern von Fehlern in einem verteilten Spracherkennungssystem. Die vorliegende Erfindung ist, ohne darauf beschränkt zu sein, geeignet für das Mildern von Übertragungsfehlern, die sich auf Spracherkennungsparameter auswirken, wenn sie über eine Funkkommunikationsverbindung übertragen werden.
  • Hintergrund der Erfindung
  • Die Spracherkennung ist ein Prozess zum automatischen Erkennen von Klängen, Teilen von Wörtern, Wörtern oder Satzteilen von Sprache. Ein derartiger Prozess kann als Schnittstelle zwischen Mensch und Maschine verwendet wer den, zusätzlich oder anstelle der üblicherweise verwendeten Mittel wie etwa Schalter, Tastaturen, der Maus usw. Ein Spracherkennungsprozess kann auch verwendet werden, um automatisch Informationen aus einer gesprochenen Kommunikation oder Nachricht zu erlangen.
  • Es wurden verschiedene Verfahren entwickelt und werden noch verbessert, um eine automatische Spracherkennung zur Verfügung zu stellen. Einige Verfahren basieren auf einem erweiterten Wissen mit entsprechenden heuristischen Strategien, andere verwenden statistische Modelle.
  • In typischen Spracherkennungsprozessen wird die zu verarbeitende Sprache mehrere Male im Verlauf eines Samplingzeitframees abgetastet, beispielsweise 50 oder 100 Mal pro Sekunde. Die abgetasteten Werte werden unter der Verwendung von Algorithmen verarbeitet, um Spracherkennungsparameter zur Verfügung zu stellen. Beispielsweise besteht eine Art von Spracherkennungsparameter aus einem Koeffizienten, der als Mel-Cepstral-Koeffizient bekannt ist. Derartige Spracherkennungsparameter werden in der Form von Vektoren angeordnet, auch als Felder bekannt, was als eine mit einem bestimmten Ordnungsgrad angeordnete Parametergruppe oder -menge aufgefasst werden kann. Der Abtastprozess wird für weitere Samplingzeitframes wiederholt. Ein typisches Format besteht darin, dass für jeden Samplingzeitframe ein Vektor erstellt wird.
  • Die obige Parametrisierung und Platzierung in Vektoren stellt das dar, was als Frontend-Verarbeitung eines Spracherkennungsprozesses bezeichnet werden kann. Die oben be schriebenen in Vektoren angeordneten Spracherkennungsparameter werden dann entsprechend der Spracherkennungstechniken analysiert, was als Backend-Verarbeitung des Spracherkennungsprozesses bezeichnet werden kann. In einem Spracherkennungsprozess, in dem der Frontend-Prozess und der Backend-Prozess am gleichen Ort oder im gleichen Bauteil durchgeführt werden, ist die Wahrscheinlichkeit, Fehler in die Spracherkennungsparameter beim Weiterleiten vom Frontend in das Backend einzuführen, minimal.
  • In einem als verteilten Spracherkennungsprozess bekannten Prozess jedoch wird der Frontend-Teil des Spracherkennungsprozesses vom Backend-Teil entfernt durchgeführt. An einem ersten Ort wird die Sprache abgetastet, parametrisiert und die Spracherkennungsparameter in Vektoren angeordnet. Die Spracherkennungsparameter werden quantisiert und dann an einen zweiten Ort, beispielsweise über eine Kommunikationsverbindung eines eingerichteten Kommunikationssystems, übertragen. Oft kann der erste Ort ein Fernendgerät und der zweite Ort eine zentrale Verarbeitungsstation sein. Die empfangenen Spracherkennungsparameter werden dann entsprechend der Spracherkennungstechniken am zweiten Ort analysiert.
  • Viele Arten von Kommunikationsverbindungen in vielen Arten von Kommunikationssystemen können zur Verwendung in einem verteilten Spracherkennungsprozess in Betracht gezogen werden. Ein Beispiel ist ein konventionelles drahtgebundenes Kommunikationssystem, beispielsweise ein öffentliches leitungsvermitteltes Telefonnetz. Ein anderes Beispiel ist ein Funkkommunikationssystem, wie beispielsweise TETRA. Ein an deres Beispiel ist ein zellulares Funkkommunikationssystem. Ein Beispiel eines geeigneten zellularen Kommunikationssystems ist ein globales System für mobile Kommunikationssysteme (GSM), ein anderes Beispiel sind Systeme wie etwa das universale Mobiltelekommunikationssystem (UMTS), das sich momentan in der Standardisierung befindet.
  • Die Verwendung beliebiger Kommunikationsverbindungen in einem beliebigen Kommunikationssystem verursacht die Möglichkeit, dass Fehler in die Spracherkennungsparameter eingeführt werden, wenn sie von einem ersten Ort zu dem zweiten Ort über die Kommunikationsverbindung übertragen werden.
  • Es ist bekannt, Fehlererkennungstechniken in Kommunikationssystemen zur Verfügung zu stellen, wie etwa, dass das Vorhandensein eines Fehlers in einem gegebenen Abschnitt übertragener Information detektierbar ist. Eine gut bekannte Technik ist das zyklische Redundanzcodieren.
  • Wenn das Vorhandensein eines Fehlers detektiert wird, werden unterschiedliche Milderungstechniken gemäß der Eigenart der übertragenen Information eingesetzt. Techniken zur Milderung von Fehlern, die bei anderen Informationsarten angewendet werden, sind insbesondere nicht zum Mildern von Fehlern in Spracherkennungsparametern aufgrund der spezialisierten Spracherkennungstechniken geeignet, denen die Parameter unterliegen und demzufolge ist es wünschenswert, Mittel zum Mildern von Fehlern in einem verteilten Spracherkennungsprozess zur Verfügung zu stellen.
  • Im Stand der Technik ist in der europäischen Patentanmeldung EP0459358 ein Verfahren zur Fehlermilderung, das auf Sprachcodierung angewendet wird, offenbart, wobei beschädigte Frames mittels Interpolation korrigiert werden, aber ein Betrieb, wie in der jetzt zu beschreibenden Erfindung, ist nicht offenbart noch im Stand der Technik nahegelegt.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung stellt Mittel zum Mildern der Auswirkungen von Übertragungsfehlern, wie etwa solchen wie oben beschrieben, zur Verfügung.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Mildern von Fehlern in einem verteilten Spracherkennungssystem zur Verfügung gestellt, wie in Anspruch 1 beansprucht.
  • Gemäß einem weiteren Aspekt der Erfindung wird eine Vorrichtung zum Mildern von Fehlern in einem verteilten Spracherkennungssystem zur Verfügung gestellt, wie in Anspruch 12 beansprucht.
  • Weitere Aspekte der Erfindung sind in den abhängigen Ansprüchen der Erfindung beansprucht.
  • Die vorliegende Erfindung ist darauf gerichtet, Mittel zum Mildern von Fehlern zur Verfügung zu stellen, die insbesondere für die Eigenart eines verteilten Spracherkennungsprozesses, für die Eigenschaften der Spracherkennungsparame ter, die darin eingesetzt werden und für die Vektoren, in denen sie angeordnet werden, geeignet sind.
  • Insbesondere wird die Möglichkeit, eine Latenz in einem Spracherkennungsprozess zu ermöglichen, dann vorteilhaft ausgenützt, wenn gemäß einem Aspekt der vorliegenden Erfindung ein oder mehrere Spracherkennungsparameter in einer identifizierten Gruppe von Vektoren durch entsprechende Ersetzungsparameter ersetzt werden, die durch Bezugnahme auf einen oder mehrere Spracherkennungsparameter aus einem Vektor bestimmt werden, der nach der identifizierten Gruppe von Vektoren empfangen wurde.
  • Darüber hinaus ergibt sich, wenn gemäß einem anderen Aspekt der vorliegenden Erfindung die Bestimmung, welche(r) Spracherkennungsparameter zu ersetzen sind (ist), durch das Vorhersagen eines vorhergesagten Wertes für jeden Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren aus Vektoren, die ohne Fehler empfangen wurden, und durch das Ersetzen derjenigen Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren, die sich außerhalb eines vorgegebenen Grenzwertes bezüglich ihrer entsprechenden vorhergesagten Werte befinden, durchgeführt wird, das dann vorteilhaft die unabhängige Beziehung hinsichtlich der Fehler zwischen unterschiedlichen Parametern innerhalb eines Spracherkennungsvektors ausnützt.
  • Zusätzliche spezielle Vorteile werden aus der folgenden Beschreibung und den Figuren ersichtlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine schematische Darstellung von in Vektoren angeordneten Spracherkennungsparametern, die Samplingzeitframes einer Ausführungsform der vorliegenden Erfindung entsprechen.
  • 2 ist ein Prozessablaufdiagramm einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist eine schematische Darstellung von aufeinanderfolgend empfangenen Vektoren einer Ausführungsform der vorliegenden Erfindung.
  • Beschreibung von Ausführungsformen der Erfindung
  • In den unten beschriebenen beispielhaften Ausführungsformen werden die Spracherkennungsparameter in Vektoren arrangiert, die Samplingzeitframes, wie schematisch in 1 dargestellt, entsprechen.
  • Ein Abschnitt eines zu verarbeitenden Sprachsignals 110 ist in 1 abgebildet. Das Sprachsignal 100 ist in stark vereinfachter Form dargestellt, da es in der Praxis aus einer wesentlich komplizierteren Sequenz von Abtastwerten besteht.
  • Die Samplingzeitframes, von denen in 1 ein erster Samplingzeitframe 121, ein zweiter Samplingzeitframe 122, ein dritter Samplingzeitframe 123 und ein vierter Samplingzeitframe 124 gezeigt sind, sind über das Sprachsignal gelegt, wie in 1 abgebildet. In der unten beschriebenen Ausführungsform gibt es 100 Samplingzeitframes pro Sekunde. Das Sprachsignal wird wiederholt im Verlauf jedes Samplingzeitframes abgetastet.
  • In den unten beschriebenen Ausführungsformen ist der Spracherkennungsprozess einer, in dem insgesamt vierzehn Spracherkennungsparameter eingesetzt werden. Die ersten zwölf davon sind die ersten zwölf statischen Mel-Cepstral-Koeffizienten, d.h. c(m) = [c1(m), c2(m), ..., c12(m)]T,wobei m die Samplingzeitframenummer bezeichnet. Der dreizehnte eingesetzte Spracherkennungsparameter ist der nullte Cepstralkoeffizient, d.h. c0(m). Der vierzehnte eingesetzte Spracherkennungsparameter ist ein logarithmischer Energieterm, d.h. log[E(m)]. Die Details dieser Koeffizienten und ihre Verwendung in Spracherkennungsprozessen sind im Stand der Technik wohlbekannt und bedürfen hier keiner weiteren Beschreibung. Des weiteren sei es vermerkt, dass die Erfindung in anderen Kombinationen von Cepstralkoeffizienten, die Spracherkennungsparameter bilden, durchgeführt werden kann, gleichermaßen mit einer anderen Auswahl oder anderen Schemata von Spracherkennungsparametern als die Cepstralkoeffizienten.
  • Die vierzehn Parameter werden für jeden Samplingzeitframe in einen entsprechenden Vektor angeordnet oder formatiert, der auch als Feld bekannt ist, wie in 1 dargestellt. Der Vektor 131 entspricht dem Samplingzeitframe 121, der Vektor 132 entspricht dem Samplingzeitframe 122, der Vektor 133 entspricht dem Samplingzeitframe 123 und der Vektor 134 entspricht dem Samplingzeitframe 124. Ein derartiger Vektor kann allgemein dargestellt werden durch
  • Figure 00090001
  • Die Spracherkennungsparameter werden vor der Übertragung von einem ersten Ort an einen zweiten Ort verarbeitet. In der unten beschriebenen Ausführungsform wird dies wie folgt durchgeführt. Die Parameter des Vektors 131 werden quantisiert. Dies ist durch das direkte Quanitisieren des Vektors mit einem geteilten Vektorquantisierer ("split vector quantizer") realisiert. Die Koeffizienten werden in Paare gruppiert und jedes Paar wird unter Verwendung eines für dieses entsprechende Paar vorbestimmten Vektorquantisierungscodebuchs (VQ) quantisiert. Die sich ergebende Menge von Indexwerten wird dann verwendet, um den Sprachframe darzustellen. Die Koeffizientenpaarungen von Frontend-Parametern stellen sich wie in Tabelle 1 abgebildet dar, zusammen mit der für jedes Paar verwendeten Codebuchgröße.
  • Tabelle 1 Eigenschaftspaarungen der geteilten Vektorquantisierung
    Figure 00100001
  • Man findet den nähesten VQ-Schwerpunkt unter Verwendung eines gewichteten euklidischen Abstandes, um den Index zu bestimmen,
    Figure 00100002
    wobei q i,i+1 / j den j-ten Codevektor im Codebuch Qi,i+1 bezeichnet, Ni,i+1 die Größe des Codebuchs ist, Wi,i+1 die (möglicherweise Identität) gewichtete Matrix, die für das Codebuch Qi,i+1 anzuwenden ist und idxi,i+1(m) den Codebuchindex bezeichnet, der zur Darstellung des Vektors [yi(m), yi+1(m)]T gewählt wurde.
  • Die erstellten Indizes werden dann in der Form von 44 Bits dargestellt. Diese 44 Bits werden in den ersten 44 Schlitzen eines Bitstromframes 150 platziert, wie es vom Bezugszeichen 141 der 1 dargestellt wird. Die entsprechenden für den folgenden Vektor, nämlich den Vektor 132, erstellten 44 Bits werden in den nächsten 44 Schlitzen des Bitstromframes 150 platziert, wie vom Bezugszeichen 142 der 1 dargestellt. Die verbleibenden Bits des Bitstromframes 150 bestehen aus 4 Bits zyklischem Redundanzcode, wie vom Bezugszeichen 146 der 1 dargestellt, wobei der Wert der Bits so bestimmt wird, dass eine Fehlerdetektion in bekannter Weise für die Gesamtheit der vorausgehenden 88 Bits des Bitstromframes 150 zur Verfügung gestellt wird. In ähnlicher Weise werden die vom Vektor 133 zur Verfügung gestellten 44 Bits in den ersten 44 Schlitzen eines zweiten Bitstromframes 155, wie vom Bezugszeichen 143 der 1 dargestellt, platziert. Ebenso werden die für den folgenden Vektor, nämlich den Vektor 134, erstellten entsprechenden 44 Bits in den nächsten 44 Schlitzen des Bitstromframes 155, wie vom Bezugszeichen 144 der 1 dargestellt, platziert. Die verbleibenden Bits des Bitstromframes 155 bestehen aus 4 Bits zyklischem Redundanzcode, wie vom Bezugszeichen 148 der 1 dargestellt. Diese Anordnung wird für die folgenden Vektoren wiederholt. Das oben beschriebene Format des Bitstromframes, in dem Bitdaten zweier Vektoren in einem einzigen kombinierten Bitstromframe angeordnet werden, ist lediglich beispielhaft. Beispielsweise könnten die Daten eines jeden Vektors stattdessen in einem einzigen Bitstromframe angeordnet werden, der seine eigenen Fehlerdetektionsbits enthält. In ähnlicher Weise ist die Anzahl von Schlitzen pro Bitstromframe lediglich beispielhaft.
  • Um jegliche Verwirrung zu vermeiden, wird betont, dass die oben beschriebenen Bitstromframes nicht mit den Übertragungsframes verwechselt werden sollen, die in der Übertragung der Bitstromdaten über die Kommunikationsverbindung des Kommunikationssystems verwendet werden, in denen die Daten von einem ersten Ort an einen zweiten Ort übertragen werden, beispielsweise die TDMA-Zeitframes ("TDMA = Time Division Multiple Access"/Vielfachzugriff im Zeitmultiplex) eines zellularen GSM-Funkkommunikationssystems, welches das Kommunikationssystem ist, das in den hier beschriebenen Ausführungsformen eingesetzt wird. In dem vorliegenden Beispiel besteht der erste Ort aus einer Fernbenutzerstation und der zweite, d.h. der Empfangsort, besteht aus einer zentralen Verarbeitungsstation, die beispielsweise bei einer Basisstation des zellularen Kommunikationssystems lokalisiert sein kann. Folglich werden in den hier beschriebenen Ausführungsformen die Spracherkennungsparameter vom ersten Ort an den zweiten Ort über eine Funkkommunikationsverbindung übertragen. Es ist jedoch erwünscht, dass die Eigenschaften des ersten Ortes und des zweiten Ortes von der Art des in Betrachtung stehenden Kommunikationssystems und von der Anordnung des Prozesses zur verteilten Spracherkennung darin abhängen.
  • Die Bitrstromframes werden aus ihrem Übertragungsformat am zweiten Ort wiederhergestellt, nachdem sie dort empfangen wurden.
  • Demnach ist obenstehend ein verteilter Spracherkennungsprozess beschrieben, in dem Spracherkennungsparameter in Vektoren entsprechend Samplingzeitframes angeordnet werden und die Spracherkennungsparameter an einem zweiten Ort empfangen werden, nachdem sie von einem ersten Ort gesendet wurden. Das Verfahren zum Mildern von Fehlern in einem derartigen Spracherkennungsprozess gemäß einer ersten Ausführungsform ist in dem Prozessablaufdiagramm 200 der 2 gezeigt. Bezugnehmend auf 2 zeigt der Funktionskasten 210 den Schritt des Identifizierens einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben. In der vorliegenden Ausführungsform wird die Fehlerdetektion durch das Vergleichen der zyklischen Redundanzcodierbits, wie etwa 146, 148, mit den Inhalten der entsprechenden Bitstromframes 150, 155 unter Verwendung bekannter Verfahren zur zyklischen Redundanzcodierung durchgeführt. Dies identifiziert in dem vorliegenden Beispiel einen beliebigen einzelnen Bitstromframe, der einen Übertragungsfehler erlitten hat. Demnach besteht in dem vorliegenden Beispiel die identifizierte Gruppe von Vektoren aus zwei Vektoren, nämlich dem Vektorpaar von dem einzelnen Bitstromframe. Wenn in einem anderen Beispiel jeder Bitstromframe mit Fehlerdetektionsmitteln lediglich einen Vektor enthalten würde, wäre die identifizierte Gruppe von Vektoren ein einzelner Vektor. Man sollte erkennen, dass die genaue Form und technische Gründe bestimmen, wie viele Vektoren in einer derartigen identifizierten Gruppe von den unterschiedlichen Arten abhängen, auf die die Vektoren in Bitströmen angeordnet werden und darüber hinaus wie ein Fehlerdetektionsverfahren darüber gelegt wurde. Insbesondere aber können Fehlerdetektionsverfahren außer dem zyklischen Redundanzcodieren, die in der vorliegenden Ausführungsform eingesetzt werden, eine andere Anzahl an Vektoren in einer identifizierten Gruppe zur Verfügung stellen. Auch für eine beliebige gegebene Bitstromanordnung kann eine untergeordnete Konstruktionsentscheidung darüber, wie die Fehlerinformation verarbeitet wird, eine Rolle beim Bestimmen der Anzahl an Vektoren in einer identifizierten Gruppe spielen. Beispielsweise mit Bezug auf die vorliegende Ausführungsform könnte es aus Gründen der Einsparung von Verarbeitungsleistung entschieden worden sein, lediglich zu berücksichtigen, ob eine Anzahl an Bitstromframes einen Fehler enthält, auch wenn die Fehlerdetektionsmittel physikalisch zu einer engeren Detektierung des Fehlers in der Lage wären.
  • Man erhält die Spracherkennungsparameter aus den Bitstromframes, indem eine zu der oben beschriebenen Vektorquantisierungsprozedur umgekehrte Version durchgeführt wird. Insbesondere werden Indizes aus dem Bitsrom extrahiert, und unter Verwendung dieser Indizes werden Vektoren der Form
    Figure 00140001
    i = 0, 2, 4, ..., 12
    wiederhergestellt.
  • Der Funktionskasten 220 zeigt den nächsten Schritt der vorliegenden Ausführungsform, nämlich den Schritt des Ersetzens eines oder mehrerer Spracherkennungsparameter in der identifizierten Gruppe von Vektoren. In der vorliegenden Ausführungsform wird die Reihenfolge der unterschiedlichen Verarbeitungsschritte so durchgeführt, dass alle empfangenen Spracherkennungsparameter aus den Bitstromframes erhalten werden und temporär vor einer Ersetzung eines oder mehrerer Spracherkennungsparameter gespeichert werden. Es wird jedoch festgehalten, dass der eine oder die mehreren Spracherkennungsparameter alternativ durch das Abändern der Bitstrominformation auf eine entsprechende Weise vor dem tatsächlichen physikalischen Erhalt in dem Spracherkennungsparameter ersetzt werden können, einschließlich der neueingeführten Ersetzungen aus dem Bitstromformat.
  • In der folgenden Beschreibung darüber, wie Ersetzungsspracherkennungsparameter bestimmt werden, wird auf 3 Bezug genommen, die die Vektoren 131134 zeigt, wie sie bereits unter Bezugnahme auf 1 beschrieben wurden plus sechs weitere Vektoren 135140, die daraufhin aufeinanderfolgend empfangen wurden. In der vorliegenden Ausführungsform werden der eine oder die mehreren Spracherkennungsparameter in der identifizierten Gruppe von Vektoren durch entsprechende Ersetzungsparameter ersetzt, die durch Bezugnahme auf einen oder mehrere Spracherkennungsparameter von einem Vektor bestimmt werden, der nach der identifizierten Gruppe von Vektoren empfangen wurde. Deshalb wird in der vorliegenden Ausführungsform, wenn ein Fehler für den Bitstromframe 155 detektiert wird und demnach die Gruppe, die aus den Vektoren 133 und 134 besteht, identifiziert wird, einer oder mehrere der Spracherkennungsparameter in den Vektoren 133 und 134 durch entsprechende Ersetzungsparameter ersetzt, die unter Bezugnahme auf einen oder mehrere Spracherkennungsparameter von einem der Vektoren 135140 oder einem Vektor, der nach dem Vektor 140 empfangen wird und in 3 nicht gezeigt ist, ersetzt. Es wird festgehalten, dass die Bestimmung unter Bezugnahme auf derartige nachfolgende Vektoren nicht die Möglichkeit einer Bezugnahme auf vorhergehende Vektoren, wie etwa 131, 132 oder anderer nicht abgebildeter in dem Bestimmungsprozess enthalten ist.
  • Eine derartige Bezugnahme auf Vektoren, die nach der identifizierten Gruppe von Vektoren empfangen werden, stellt ein Verfahren zur Verfügung, das insbesondere effektiv in Hinsicht auf die Spracherkennung durchgeführt werden kann, da die Latenz vorteilhaft ausgenützt werden kann, um eine bessere Leistung von dem Backendspracherkenner zur Verfügung zu stellen. Das Anwenden derartiger Verfahren bedingt das zeitweise Speichern der empfangenen Vektoren in einem Puffer vor der Ausgabe an das Backend. Die nach der identifizierten Gruppe von Vektoren empfangenen Vektoren werden verwendet, um Ersetzungswerte zu berechnen. Demnach wird sich die Latenz, bevor die fehlergemilderten Vektoren dem Backend verfügbar gemacht werden können, erhöhen. Diese Latenz stellt üblicherweise kein Problem für den Backenderkenner dar, der, insbesondere wenn er Teil eines zentralisierten Servers ist, ausreichende Berechnungsressourcen aufweist, um temporäre Fluktuationen in der Latenz zu überbrücken, die durch derartige Fehlermilderungsverfahren verursacht werden.
  • Insbesondere werden in der vorliegenden Ausführungsform alle Spracherkennungsparameter eines jeden Vektors der Gruppe dadurch ersetzt, dass der gesamte Vektor ersetzt wird und jeder entsprechende ersetzte ganze Vektor durch eine Kopie eines vorausgehenden oder nachfolgenden Vektors ohne Fehler ersetzt wird, der in der Empfangsreihenfolge dem zu ersetzenden Vektor am nächsten ist. Da für die momentan beschriebene Art der Übertragung und für die Art der Fehlerdetektion die Gruppe von identifizierten Vektoren aus einem Paar aufeinanderfolgender Vektoren besteht, wird der erste Vektor des Paares durch den zweiten Vektor eines vorausgehenden Vektors ohne Fehler ersetzt und der zweite Vektor des Paares durch den ersten Vektor eines folgenden Vektors ohne Fehler ersetzt. In dem vorliegenden Fall wird, wenn beispielsweise die Vektoren 135 und 136 als ein Vektorpaar mit einem Fehler identifiziert werden, der gesamte Vektor 135 durch eine Kopie des Vektors 134 ersetzt und der gesamte Vektor 136 durch eine Kopie des Vektors 137 ersetzt, vorausgesetzt, dass die Vektoren 134 und 137 nicht selbst Teile von Paaren sind, die als einen Übertragungsfehler erlitten habend identifiziert worden sind. Angenommen, das Paar aus den Vektoren 133 und 134 ist tatsächlich selbst auch ein Paar aus Vektoren mit einem Fehler, dann werden beide Vektoren 135 und 136 durch eine Kopie des Vektors 137 ersetzt, dem ersten bekannten richtigen Vektor, der diesen beiden folgt, da er in der Empfangsreihenfolge jedem dieser näher ist, als der Vektor 132, welcher der nächste bekannte richtige Vektor ist, der ihnen vorausgeht. In dem letzteren Szenario werden die Vektoren 133 und 134 beide durch Kopien des Vektors 132 ersetzt, welcher der nächste Vektor in der Empfangsreihenfolge unter denjenigen Vektoren ist, die als richtig bekannt sind.
  • In einer alternativen Version der vorliegenden Ausführungsform, in der ganze Vektoren ersetzt werden, wird, statt einfach Kopien von vorausgehenden oder nachfolgenden empfangenen Vektoren zu verwenden, die als richtig bekannt sind, jeder entsprechende ersetzte ganze Vektor durch einen Vektor ersetzt, der mittels einer Interpolationstechnik bestimmt wurde. Der Fachmann wird eine geeignete Interpolationstechnik gemäß den Anforderungen des speziellen Spracherkennungsprozesses, der betrachtet wird, wählen. Beispiele von Interpolationsverfahren, die eingesetzt werden können, sind die Folgenden:
    • (i) Lineare Interpolation – In diesem Verfahren werden für jeden Parameter Werte, von einem oder von mehreren Vektoren vor und nach den Vektoren, die bekanntermaßen Fehler enthalten, dazu verwendet, um eine Konstante und einen Gradienten zu bestimmen, die eine lineare Gleichung zwischen diesen definieren. Die interpolierten Werte, die zum Ersetzen jedes Parameters in den Vektoren mit Fehlern verwendet werden, werden dann unter Verwendung der Gleichung für die Geraden berechnet.
    • (ii) Rückwärtsvorhersage – Dieses Verfahren umfasst das Verwenden eines oder mehrerer nicht-fehlerbehafteter Vektoren nach dem Vektor, von dem bekannt ist, dass er Fehler enthält. Für jeden Parameter wird der Ersetzungswert aus einer gewichteten Summe dieser Vektorelemente in der Sequenz von Vektoren erzeugt, dieses Verfahren ist als Vorhersage bekannt. Diese Gewichtungen werden durch das Trainieren auf die Parameter von Vektoren aus Sprache ohne Fehlern vorgegeben.
    • (iii) Kurvenanpassung – Dieses Verfahren umfasst das Verwenden eines oder mehrerer Vektoren vor und nach den Vektoren, von denen bekannt ist, dass sie Fehler enthalten. Dieses Verfahren ist der linearen Interpretation ähnlich, aber statt des Anpassens an eine Gerade wird eine Anpassung durchgeführt, indem eine Kurve verwendet wird, die auf den guten Parametern basiert und die Gleichung der Kurve verwendet wird, um die Ersetzungswerte für jeden Parameter zu erzeugen.
  • In den obigen Ausführungsformen wurden die Spracherkennungsparameter mittels des Ersetzens ganzer Vektoren ersetzt. In einer weiteren Ausführungsform der vorliegenden Erfindung jedoch, wie unten stehend beschrieben, werden nicht alle Spracherkennungsparameter innerhalb eines Vektors notwendigerweise ersetzt.
  • In der im folgenden beschriebenen Ausführungsform wird die Bestimmung darüber, welche(r) Spracherkennungsparameter zu ersetzen sind (ist), durch das Vorhersagen eines vorhergesagten Wertes für jeden Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren aus Vektoren durchgeführt, die ohne Fehler empfangen wurden und durch das Ersetzen derjenigen Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren, die sich außerhalb eines vorgegebenen Grenzwertes bezüglich ihrer entsprechenden vorhergesagten Werte befinden.
  • Man betrachte den Fall, wenn Vektoren 133 und 134 als ein Vektorpaar mit einem Fehler identifiziert werden. Ein vor hergesagter Wert wird für jeden der Spracherkennungsparameter c1(3), c2(3), ..., c12(3), c0(3) sowie log [E(3)] des Vektors 133 und für jeden der Spracherkennungsparameter c1(4), c2(4), ..., c12(4), c0(4) sowie log [E(4)] des Vektors 134 bestimmt. Der vorhergesagte Wert wird durch ein beliebiges geeignetes Vorhersageverfahren bestimmt. Beispielsweise können die oben unter Bezugnahme auf ganze Vektoren beschriebenen Vorhersagetechniken, wie etwa die lineare Interpretation, die Rückwärtsvorhersage und das Kurvenanpassen auf einzelne Spracherkennungsparameter angewendet werden. Wenn diese auf einzelne Spracherkennungsparameter angewendet werden, werden die entsprechenden positionierten Parameter innerhalb der anderen Vektoren verwendet, zum Beispiel in dem Fall des Berechnens eines vorhergesagten Wertes für c1(3), werden die Werte für die entsprechenden Positionen der Spracherkennungsparameter c1(1), c1(2), c1(5), c1(6) und so weiter verwendet.
  • Demnach wird in der vorliegenden Ausführungsform die unabhängige Beziehung zwischen unterschiedlichen Parameter innerhalb eines Spracherkennungsvektors vorteilhaft ausgenützt.
  • Ein vorgegebener Grenzwert bezüglich der vorhergesagten Werte wird eingesetzt. Das Grenzwertniveau wird gemäß den Anforderungen des in Betrachtung stehenden bestimmten Prozesses festgelegt. Er kann mit der Zeit basierend auf der Erfahrung, die innerhalb des unter Betrachtung stehenden Prozesses oder anderer Prozesse oder Versuche oder Simulationen oder ähnlichem gewonnen wird, geändert werden. Das Grenzwertniveau kann auch automatisch auf einer laufenden Rückkopplungsbasis variiert werden. Beispielsweise kann es gemäß dem identifizierten Fehlerniveau variiert werden. Das Grenzwertniveau kann auch eine Funktion des vorhergesagten Wertes sein. Das Grenzwertniveau kann auch als Funktion eines beliebigen Spracherkennungsparameters variiert werden, d.h. ob der Parameter c1(m), c2(m) oder c3(m) und so weiter ist, was insbesondere vorteilhaft ist, wenn die Erfindung auf Spracherkennungsprozesse angewendet wird, in denen bestimmte Spracherkennungsparameter wichtiger für den Erfolg der Spracherkennungsprozesses sind als andere. Dies ist tatsächlich der Fall in dem vorliegenden Beispiel, in dem der Spracherkennungsprozess sensitiver auf die Mel-Cepstral-Koeffizienten mittlerer Ordnung wie etwa c3(m), c4(m) oder c5(m) ist als zu denjenigen mit höherer Ordnung wie etwa c10(m), c11(m) oder c12(m).
  • In einer Version der vorliegenden Ausführungsform werden, wenn mehr als eine spezifizierte Anzahl an Spracherkennungsparametern innerhalb der identifizierten Gruppe von Vektoren außerhalb ihrer entsprechenden vorgegebenen Grenzwerte liegt, alle Spracherkennungsparameter der identifizierten Gruppe von Vektoren ersetzt. In dem vorliegenden Fall werden, wenn mehr als vier beliebige Spracherkennungsparameter der 28 Spracherkennungsparameter, die in den Vektoren 133 und 134 enthalten sind, außerhalb ihrer entsprechenden vorgegebenen Grenzwerte liegen, alle Spracherkennungsparameter der Vektoren 133 und 134 ersetzt. Die Wahl der spezifischen Anzahl wird gemäß den Anforderungen des in Betrachtung stehenden bestimmten Spracherkennungsprozesses getroffen. Durch das Ersetzen des gesamten Vektors auf diese Weise besteht eine vorteilhafte Tendenz dahingehend, Spracherkennungsparameter zu eliminieren, die wahrscheinlich fehlerhaft sind, obwohl sie innerhalb des Niveaus der oben beschriebenen Grenzwerte fallen.
  • In der vorliegenden Ausführungsform werden die Spracherkennungsparameter durch die entsprechenden vorhergesagten Werte ersetzt, die in dem Schritt des Bestimmens verwendet werden, welche Spracherkennungsparameter zu ersetzen sind. Dies ist dahingehend effizient, dass diese Werte bereits bestimmt wurden.
  • In einer anderen Version der vorliegenden Ausführungsform werden diejenigen Spracherkennungsparameter, die sich innerhalb eines vorgegebenen Grenzwertes bezüglich ihrer entsprechenden vorhergesagten Wert befinden, mit einem Satz an Referenzvektoren verglichen, um einen am besten übereinstimmenden Vektor aus dem Satz an Referenzvektoren zu finden, und diejenigen Spracherkennungsparameter, die sich außerhalb eines vorgegebenen Grenzwertes bezüglich ihrer entsprechenden vorhergesagten Werte befinden, werden durch entsprechende Spracherkennungsparameter von dem am besten passenden Vektor ersetzt.
  • Man betrachte wiederum den Fall, wenn die Vektoren 133 und 134 als ein Vektorpaar mit einem Fehler identifiziert werden. Weiterhin sei angenommen, dass der einzige Spracherkennungsparameter der zwei Vektoren, der als außerhalb des Grenzwertniveaus liegend bestimmt wird, c1(3) des Vektors 133 ist. Dann wird durch Verwendung einer Korrelationstechnik die nächstliegende Anpassung zwischen dem Rest des Vektors 133 und einem Satz von Referenzvektoren bestimmt.
  • Innerhalb des Satzes der Referenzvektoren wird die Anzahl an Referenzvektoren und die Inhalte derselben gemäß den Anforderungen des in Betrachtung stehenden Spracherkennungsprozesses gewählt. Diese Wahl bedingt ein Abwägen zwischen Genauigkeit und Sensitivität der Fehlerkorrektur verglichen mit den benötigten Verarbeitungsniveaus. Die Kriterien für die Bestimmung, welche Referenzvektoren eine beste Anpassung an die verbleibenden Teile eines Vektors darstellen, nachdem der Ausfall durch die Grenzwertparameter abgezogen ist, ist ebenfalls gemäß den Anforderungen des in Betrachtung stehenden bestimmten Spracherkennungsprozesses implementiert. Bekannte Korrelationstechniken werden eingesetzt, wie etwa das Berechnen des euklidischen Abstandes. Sie werden an das vorliegende Verfahren dahingehend angepasst, dass lediglich die Vektorelemente, die innerhalb des Grenzwertes sind, in die Berechnung des Abstandes einbezogen werden.
  • In einer weiteren Version der vorliegenden Ausführungsform, werden auch Spracherkennungsparameter von einem oder mehreren benachbarten Vektoren mit dem Satz von Referenzvektoren verglichen und die beste Übereinstimmung bezüglich einer Mehrzahl von aufeinanderfolgenden Referenzvektoren gewählt. Man betrachte wiederum den Fall, wenn die Vektoren 133 und 134 als ein Vektorpaar mit einem Fehler identifiziert werden und weiterhin, dass der einzige Spracherkennungsparameter der zwei Vektoren, der als außerhalb des Grenzwertniveaus liegend bestimmt wird, c1(3) von Vektor 133 ist. Der Rest des Vektors 133 (d.h., die Spracherkennungsparameter c2(3), c3(3), ..., c12(3), c0(3) sowie log [E(3)]) plus die Gesamtheit der umgebenden Vektoren 132 und 134 werden im Ganzen unter Bezugnahme auf die Referenzgruppen von drei aufeinanderfolgenden Referenzvektoren verglichen.
  • In den oben beschriebenen Ausführungsformen besteht der Schritt des Identifizierens einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben, aus dem Vergleichen der vier zyklischen Redundanzcodierbits, wie etwa 146, 148, mit den Inhalten der entsprechenden Bitstromframes 150, 155 unter Verwendung bekannter Methoden zur zyklischen Redundanzcodierung. In weiteren Ausführungsformen der vorliegenden Erfindung jedoch kann der Schritt des Identifizierens einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben, das Bewerten der Spracherkennungsparameter selbst enthalten. Dies kann als ein zusätzlicher sicherheitsnetzartiger Ansatz sein, der sowohl als ein konventionelles Verfahren als auch als ein zyklisches Redundanzcodieren ausgeführt werden kann oder alternativ statt konventioneller Verfahren, wie etwa dem zyklischen Redundanzcodieren, eingesetzt werden kann, indem dieses die einzige Art des Identifizierens von Fehlergruppen von Vektoren darstellt.
  • In der ersten derartiger weiterer Ausführungsformen werden entsprechende vorhergesagte Werte für die Spracherkennungsparameter bestimmt. Dies wird in einer beliebigen der Weisen durchgeführt, die weiter oben und mit Bezug auf die Ausführungsformen beschrieben wurden, die bestimmen, welche Spracherkennungsparameter zu ersetzen sind, obwohl dies als einziges Mittel zum Identifizieren von Fehlern durchgeführt wurde, ist es dann selbstverständlich nicht möglich, das Detail zu berücksichtigen, das weiter oben stehend berücksichtigt, dass lediglich Vektoren, die ohne Fehler empfangen wurden, bei der Vorhersageberechnung verwendet werden, anders als in dem Sinn einer Eingabe für Interpolationsfunktionen. Es werden ein oder mehrere Grenzwertniveaus bezüglich der vorhergesagten Werte bestimmt. Dies wird auch in einer beliebigen der Weisen durchgeführt, die weiter oben stehend unter Bezug auf die Ausführungsformen beschrieben wurde, die bestimmen, welche Spracherkennungsparameter zu ersetzen sind. Üblicherweise werden die Grenzwerte, die hier eingesetzt werden, größer sein als diejenigen, die in der vorhergehend beschriebenen Situation verwendet wurden. Es wird auch festgehalten, dass ein oder mehrere Grenzwertniveaus bestimmt werden. Beispielsweise kann in dem Fall des Bestimmens zweier Grenzwertniveaus einer einem höchstwahrscheinlichem Fehler entsprechen, wohingegen der andere einem unwahrscheinlichem Fehler entsprechen kann. Dann werden die Vektorgruppen, von denen angenommen wird, dass sie einen Übertragungsfehler erlitten haben, als auf eine gewichtete Analyse dahingehend ansprechend identifiziert, wie viele Spracherkennungsparameter sich in einer Vektorgruppe außerhalb jeweils eines oder mehrerer Grenzwertniveaus befinden. Beispielsweise könnte in dem vorliegenden Fall die gewichtete Analyse derart sein, dass, wenn der höchstwahrscheinliche Fehlergrenzwert übertroffen wird, ein Zähler von fünf zugewiesen wird und wenn ein unwahrscheinlicher Fehlergrenzwert übertroffen wird, ein Zähler von eins zugewiesen wird und dann die Gruppe an Vektoren dahingehend identifiziert werden kann, dass sie einen Übertragungsfehler aufweist, wenn der Ge samtzähler sechs oder höher ist. Dies ist lediglich ein Beispiel für ein gewichtetes Analyseschema, das eingesetzt werden kann, und die Wahl eines bestimmten Schemas, einschließlich wesentlich aufwendigerer als das gerade beschriebene, kann gemäß den Anforderungen des in Betrachtung stehenden bestimmten verteilten Spracherkennungsprozesses durchgeführt werden.
  • Die zweite derartiger weiterer Ausführungsformen umfasst einen Schritt des Bestimmens eines Unterschiedes zwischen entsprechenden Spracherkennungsparametern aus unterschiedlichen Vektoren innerhalb einer Vektorgruppe. Bezug nehmend auf die Vektoren 133 und 134 als Beispiel, wird die Differenz zwischen c1(3) und c1(4) berechnet, die Differenz zwischen c2(3) und c2(4) wird berechnet, und die Differenz zwischen c3(3) und c3(4) wird berechnet, und so weiter. Die Vektorgruppen, von denen angenommen wird, dass sie einen Übertragungsfehler erlitten haben, werden auf eine Analyse ansprechend dahingehend analysiert, wie viele der Differenzen sich außerhalb eines vorgegebenen Grenzwertniveaus befinden. Ein geeignetes vorgegebenes Grenzwertniveau wird festgelegt und kann unter Verwendung einer beliebigen der Arten, die früher oben stehend unter Bezug auf die Ausführungsformen beschrieben wurden, geändert werden, die bestimmen, welche Spracherkennungsparameter zu ersetzen sind. In dem vorliegenden Fall wird die Gruppe an Vektoren dahingehend identifiziert, dass sie einen Übertragungsfehler erlitten hat, wenn zwei oder mehr der berechneten Differenzen außerhalb des Grenzwertniveaus liegen. Diese Wahl, wie viele außerhalb des Grenzwertniveaus liegen müssen, ist lediglich beispielhaft und wird im allgemeinen gemäß den Bedingungen des in Betrachtung stehenden bestimmten Spracherkennungsprozesses gewählt. Ein weiterer optionaler Aspekt kann auf diejenigen Ausführungsformen angewendet werden, wo als Teil des Vektorquantisierungsprozesses Spracherkennungsparameter in Paare gruppiert werden, wie früher oben stehend und mit Bezug auf Tabelle 1 beschrieben. In diesem Fall wird, wenn die Differenz für einen beliebigen der Spracherkennungsparamter in einem gegebenen Codebuchindex jenseits des Grenzwertes ist, dieser Codebuchindex als mit einem Fehler empfangen gekennzeichnet, d.h., Bezug nehmend auf Tabelle 1, wenn entweder die c3-Differenz oder die c4-Differenz jenseits des Grenzwertes ist, wird der Codebuchindex Q2,3 als mit einem Fehler empfangen gekennzeichnet. Wenn mehr als eine gegebene Anzahl, beispielsweise zwei, an Codebuchindizes der sieben in einer Vektorgruppe als mit einem Fehler empfangen gekennzeichnet sind, wird die Vektorgruppe als eine, die einen Übertragungsfehler erlitten hat, identifiziert. Offensichtlich werden, wenn die Grenzwertniveaus gewählt werden und gewählt wird, wie viele Differenzen außerhalb der Grenzwertniveaus liegen müssen, Abdeckungsbetrachtungen gemäß den Anforderung des in Betrachtung stehenden bestimmten verteilten Spracherkennungsprozesses durchgeführt.
  • In dem Fall der oben beschriebenen Ausführungsformen werden die beschriebenen Datenverarbeitungsschritte durch ein programmierbares digitales Signalverarbeitungsgerät durchgeführt, wie etwa einem ausgewählten aus der DSP56XXX-Bauteilefamilie (Warenzeichen) von Motorola. Alternativ kann ein anwendungsspezifischer integrierter Schaltkreis ("ASIC = application specific integrated circuit") eingesetzt wer den. Es existieren auch andere Möglichkeiten. Beispielsweise kann eine Schnittstelleneinheit eingesetzt werden, die zwischen einem Funkempfänger und einem Computersystem eine Schnittstelle bildet, wobei das Computersystem Teil eines Backend-Spracherkennungsprozessors ist.

Claims (24)

  1. Verfahren zum Mildern von Fehlern in einem verteilten Spracherkennungsprozess, wobei der verteilte Spracherkennungsprozess einer ist, bei dem Spracherkennungsparameter in Samplingzeitframes entsprechenden Vektoren angeordnet sind und die Spracherkennungsparameter an einem zweiten Ort empfangen werden, zu dem sie von einem ersten Ort übertragen wurden; wobei das Verfahren die Schritte umfasst: Identifizieren einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben und Bestimmen, welcher Spracherkennungsparameter oder welche Spracherkennungsparameter zu ersetzen sind, durch Vorhersagen, über Vektoren, die ohne Fehler empfangen wurden, eines vorhergesagten Wertes für jeden Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren und Ersetzen eines oder mehrerer Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren, die außerhalb eines vorherbestimmten Grenzwertes liegen, bezogen auf ihren jeweiligen vorhergesagten Wert.
  2. Verfahren nach Anspruch 1, wobei ein oder mehrere Spracherkennungsparameter in der identifizierten Gruppe von Vektoren durch jeweilige Ersetzungsparameter ersetzt werden, die durch Bezugnahme auf einen oder mehrere Spracherkennungsparameter aus einem Vektor bestimmt werden, der nach der identifizierten Gruppe von Vektoren empfangen wurde.
  3. Verfahren nach Anspruch 1 oder 2, wobei alle Spracherkennungsparameter von jedem Vektor der Gruppe durch Ersetzen des gesamten Vektors ersetzt werden und jeder entsprechend ersetzte gesamte Vektor durch eine Kopie irgendeines vorhergehenden oder nachfolgenden Vektors ohne Fehler ersetzt ist, je nachdem, welcher Vektor in der Empfangsreihenfolge dem Vektor am nächsten ist, der ersetzt wird.
  4. Verfahren nach Anspruch 3, wobei ein Übertragungsmodus und ein Fehlererkennungsmodus derart sind, dass die identifizierte Gruppe ein Paar von aufeinanderfolgenden Vektoren umfasst, so dass der erste Vektor des Paares durch den zweiten Vektor eines vorhergehenden Vektors ohne Fehler ersetzt wird und der zweite Vektor des Paares durch den ersten Vektor eines nachfolgenden Vektors ohne Fehler ersetzt wird.
  5. Verfahren nach Anspruch 1 oder 2, wobei alle Spracherkennungsparameter von jedem Vektor der Gruppe durch Ersetzen des gesamten Vektors ersetzt werden und jeder entsprechend ersetzte gesamte Vektor durch einen Vektor ersetzt ist, der mittels einer Interpolationstechnik bestimmt wurde.
  6. Verfahren nach Anspruch 1, wobei, wenn mehr als eine spezifizierte Anzahl von Spracherkennungsparametern innerhalb der identifizierten Gruppe von Vektoren außerhalb ihrer entsprechenden vorgegebenen Grenzwerte liegen, dann alle Spracherkennungsparameter der identifizierten Gruppe von Vektoren ersetzt werden.
  7. Verfahren nach Anspruch 1 oder 6, wobei die Spracherkennungsparameter durch die jeweiligen vorhergesagten Werte ersetzt werden, die in dem Schritt des Bestimmens, welche Spracherkennungsparameter zu ersetzen sind, verwendet werden.
  8. Verfahren nach Anspruch 1 oder 6, wobei diejenigen Spracherkennungsparameter, die bezüglich ihrem entsprechend vorhergesagtem Wert innerhalb eines vorgegebenen Grenzwertes liegen, mit einem Satz von Referenzvektoren verglichen werden, um einen am besten übereinstimmenden Vektor aus dem Satz von Referenzvektoren zu finden, und wobei diejenigen Spracherkennungsparameter, die bezüglich ihrem entsprechend vorhergesagtem Wert außerhalb eines vorgegebenen Grenzwertes liegen, durch entsprechende Spracherkennungsparameter des am besten übereinstimmenden Vektors ersetzt werden.
  9. Verfahren nach Anspruch 8, wobei Spracherkennungsparameter von einem oder mehreren benachbarten Vektoren ebenfalls mit dem Satz von Referenzvektoren verglichen werden und die beste Übereinstimmung bezüglich einer Mehrzahl von aufeinanderfolgenden Referenzvektoren ausgewählt wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Identifizierens einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben, einen Schritt des Vorhersagens jeweiliger vorhergesagter Werte für die Spracherkennungsparameter, des Bestimmens eines oder mehrerer Grenzwertniveaus in Bezug auf die vorhergesagten Werte und des Identifizierens von Vektorgruppen als einen Übertragungsfehler erlitten habend, als Antwort auf eine gewichtete Analyse davon, wie viele Spracherkennungsparameter in einer Vektorgruppe außerhalb jedes des einen oder der mehreren Grenzwertniveaus liegen, umfasst.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Identifizierens einen Schritt des Bestimmens einer Differenz zwischen entsprechenden Spracherkennungsparametern von unterschiedlichen Vektoren innerhalb einer Vektorgruppe und des Identifizierens einer Vektorgruppe, die einen Übertragungsfehler erlitten hat, als Antwort auf eine Analyse davon, wie viele der Differenzen außerhalb eines vorherbestimmten Grenzwertniveaus liegen, umfasst.
  12. Vorrichtung zum Mildern von Fehlern in einem verteilten Spracherkennungsprozess, wobei der verteilte Spracherkennungsprozess einer ist, bei dem Spracherkennungsparameter in Samplingzeitframes entsprechenden Vektoren angeordnet sind und die Spracherkennungsparameter an einem zweiten Ort empfangen werden, zu dem sie von einem ersten Ort übertragen wurden; wobei die Vorrichtung umfasst: Mittel zum Identifizieren einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben, wobei das Mittel zum Identifizieren dazu eingerichtet ist, zu bestimmen, welcher Spracherkennungsparameter oder welche Spracherkennungsparameter zu ersetzen sind, durch Vorhersagen, über Vektoren, die ohne Fehler empfangen wurden, eines vorhergesagten Wertes für jeden Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren; Mittel zum Ersetzen, wobei das Mittel zum Ersetzen dazu eingerichtet ist, einen oder mehrere Spracherkennungsparameter innerhalb der identifizierten Gruppe von Vektoren zu ersetzen, die außerhalb eines vorherbestimmten Grenzwertes liegen, bezogen auf ihren entsprechenden vorhergesagten Wert.
  13. Vorrichtung nach Anspruch 12, wobei ein oder mehrere Spracherkennungsparameter in der identifizierten Gruppe von Vektoren durch entsprechende Ersetzungsparameter ersetzt werden, die unter Bezugnahme auf einen oder mehrere Spracherkennungsparameter aus einem Vektor bestimmt werden, der nach der identifizierten Gruppe von Vektoren empfangen wurde.
  14. Vorrichtung nach Anspruch 12 oder 13, wobei alle Spracherkennungsparameter von jedem Vektor der Gruppe durch Ersetzen des gesamten Vektors ersetzt werden und jeder entsprechend ersetzte gesamte Vektor durch eine Kopie irgendeines vorhergehenden oder nachfolgenden Vektors ohne Fehler ersetzt ist, je nachdem, welcher Vektor in der Empfangsreihenfolge dem Vektor am nähesten ist, der ersetzt wird.
  15. Vorrichtung nach Anspruch 14, wobei ein Übertragungsmodus und ein Fehlererkennungsmodus derart sind, dass die identifizierte Gruppe ein Paar von aufeinanderfolgenden Vektoren umfasst, so dass der erste Vektor des Paares durch den zweiten Vektor eines vorhergehenden Vektors ohne Fehler ersetzt wird und der zweite Vektor des Paares durch den ersten Vektor eines nachfolgenden Vektors ohne Fehler ersetzt wird.
  16. Vorrichtung nach Anspruch 12 oder 13, wobei alle Spracherkennungsparameter von jedem Vektor der Gruppe durch das Ersetzen des gesamten Vektors ersetzt werden und jeder jeweilige ersetzte gesamte Vektor durch einen Vektor ersetzt ist, der mittels einer Interpolationstechnik bestimmt wurde.
  17. Vorrichtung nach Anspruch 12, wobei, wenn mehr als eine spezifizierte Anzahl von Spracherkennungsparametern innerhalb der identifizierten Gruppe von Vektoren außerhalb ihrer entsprechenden vorgegebenen Grenzwerte liegen, dann alle Spracherkennungsparameter der identifizierten Gruppe von Vektoren ersetzt werden.
  18. Vorrichtung nach Anspruch 12 oder 17, wobei die Spracherkennungsparameter durch die jeweiligen vorhergesagten Werte ersetzt werden, die in dem Schritt des Bestimmens, welche Spracherkennungsparameter zu ersetzen sind, verwendet werden.
  19. Vorrichtung nach Anspruch 12 oder 17, wobei diejenigen Spracherkennungsparameter, die bezüglich ihrem entsprechend vorhergesagten Wert innerhalb eines vorgegebenen Grenzwertes liegen, mit einem Satz von Referenzvektoren verglichen werden, um einen am besten übereinstimmenden Vektor aus dem Satz von Referenzvektoren zu finden, und wobei diejenigen Spracherkennungsparameter, die bezüglich ihrem entsprechend vorhergesagten Wert außerhalb eines vorgegebenen Grenzwertes liegen, durch entsprechende Spracherkennungsparameter des am besten übereinstimmenden Vektor ersetzt werden.
  20. Vorrichtung nach Anspruch 19, wobei Spracherkennungsparameter von einem oder mehreren benachbarten Vektoren ebenfalls mit dem Satz von Referenzvektoren verglichen werden und die beste Übereinstimmung bezüglich einer Mehrzahl von aufeinanderfolgenden Referenzvektoren ausgewählt wird.
  21. Vorrichtung nach einem der Ansprüche 12–20, wobei das Mittel zum Identifizieren einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben, Mittel zum Vorhersagen jeweiliger vorhergesagter Werte für die Spracherkennungsparameter, Mittel zum Bestimmen eines oder mehrerer Grenzwertniveaus in Bezug auf die vorhergesagten Werte und Mittel zum Identifizieren von Vektorgruppen als einen Übertragungsfehler erlitten habend, als Antwort auf eine gewichtete Analyse davon, wie viele Spracherkennungsparameter in einer Vektorgruppe außerhalb jedes des einen oder der mehreren Grenzwertniveaus liegen, umfasst.
  22. Vorrichtung nach einem der Ansprüche 12–20, wobei das Mittel zum Identifizieren einer Gruppe, die einen oder mehrere der Vektoren umfasst, die einen Übertragungsfehler erlitten haben, Mittel zum Bestimmen einer Differenz zwischen entsprechenden Spracherkennungsparametern von unterschiedlichen Vektoren innerhalb einer Vektorgruppe und Mittel zum Identifizieren einer Vektorgruppe, die einen Übertragungsfehler erlitten hat, als Antwort auf eine Analyse davon, wie viele der Differenzen außerhalb eines vorherbestimmten Grenzwerteniveaus liegen, umfasst.
  23. Vorrichtung nach einem der Ansprüche 12–22, wobei die Spracherkennungsparameter von dem ersten Ort zu dem zweiten Ort über eine Funkkommunikationsverbindung übertragen werden.
  24. Verfahren nach einem der Ansprüche 1–11, wobei die Spracherkennungsparameter von dem ersten Ort zu dem zweiten Ort über eine Funkkommunikationsverbindung übertragen werden.
DE69923997T 1998-11-13 1999-11-12 Fehlerverschleierung in einem verteilten spracherkennungsprozess Expired - Lifetime DE69923997T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9824894A GB2343777B (en) 1998-11-13 1998-11-13 Mitigating errors in a distributed speech recognition process
GB9824894 1998-11-13
PCT/EP1999/009028 WO2000030072A1 (en) 1998-11-13 1999-11-12 Mitigating errors in a distributed speech recognition process

Publications (2)

Publication Number Publication Date
DE69923997D1 DE69923997D1 (de) 2005-04-07
DE69923997T2 true DE69923997T2 (de) 2006-04-06

Family

ID=10842390

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69923997T Expired - Lifetime DE69923997T2 (de) 1998-11-13 1999-11-12 Fehlerverschleierung in einem verteilten spracherkennungsprozess

Country Status (12)

Country Link
US (1) US8050912B1 (de)
EP (1) EP1131814B1 (de)
JP (3) JP4510293B2 (de)
CN (1) CN1162841C (de)
AT (1) ATE290249T1 (de)
AU (1) AU1385600A (de)
CA (1) CA2350751C (de)
DE (1) DE69923997T2 (de)
ES (1) ES2242452T3 (de)
GB (1) GB2343777B (de)
WO (1) WO2000030072A1 (de)
ZA (1) ZA200103387B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2343777B (en) * 1998-11-13 2003-07-02 Motorola Ltd Mitigating errors in a distributed speech recognition process
DE19910236A1 (de) * 1999-03-09 2000-09-21 Philips Corp Intellectual Pty Verfahren zur Spracherkennung
EP1098297A1 (de) * 1999-11-02 2001-05-09 BRITISH TELECOMMUNICATIONS public limited company Spracherkennung
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
GB2363236B (en) 2000-06-05 2002-06-12 Motorola Inc Method and apparatus for mitigating the effect of transmission errors in a distributed speech recognition process and system
FR2830970B1 (fr) * 2001-10-12 2004-01-30 France Telecom Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole
CN104966513B (zh) * 2014-06-09 2018-09-04 腾讯科技(深圳)有限公司 语言命令处理方法和装置
US20160111090A1 (en) * 2014-10-16 2016-04-21 General Motors Llc Hybridized automatic speech recognition
US10453460B1 (en) * 2016-02-02 2019-10-22 Amazon Technologies, Inc. Post-speech recognition request surplus detection and prevention
US11361769B2 (en) 2019-11-05 2022-06-14 International Business Machines Corporation Assessing accuracy of an input or request received by an artificial intelligence system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5073940A (en) * 1989-11-24 1991-12-17 General Electric Company Method for protecting multi-pulse coders from fading and random pattern bit errors
JP3102015B2 (ja) * 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
DE4202140A1 (de) * 1992-01-27 1993-07-29 Thomson Brandt Gmbh Verfahren zur uebertragung digitaler audio-signale
DE69326431T2 (de) 1992-12-28 2000-02-03 Toshiba Kawasaki Kk Spracherkennungs-Schnittstellensystem, das als Fenstersystem und Sprach-Postsystem verwendbar ist
JP3725566B2 (ja) 1992-12-28 2005-12-14 株式会社東芝 音声認識インターフェース
US5903867A (en) 1993-11-30 1999-05-11 Sony Corporation Information access system and recording system
ZA948426B (en) * 1993-12-22 1995-06-30 Qualcomm Inc Distributed voice recognition system
JPH07152787A (ja) 1994-01-13 1995-06-16 Sony Corp 情報アクセスシステムおよび記録媒体
US5884261A (en) * 1994-07-07 1999-03-16 Apple Computer, Inc. Method and apparatus for tone-sensitive acoustic modeling
FI944345A (fi) * 1994-09-19 1996-03-20 Nokia Telecommunications Oy Menetelmä virheellisten puhekehysten tunnistamiseksi puhetta välittävän tietoliikennejärjestelmän vastaanottimessa, sekä tietoliikennejärjestelmän vastaanotin
KR970011728B1 (ko) * 1994-12-21 1997-07-14 김광호 음향신호의 에러은닉방법 및 그 장치
FI950917A (fi) * 1995-02-28 1996-08-29 Nokia Telecommunications Oy Puhekoodausparametrien käsittely tietoliikennejärjestelmässä
US5991725A (en) * 1995-03-07 1999-11-23 Advanced Micro Devices, Inc. System and method for enhanced speech quality in voice storage and retrieval systems
US5699478A (en) * 1995-03-10 1997-12-16 Lucent Technologies Inc. Frame erasure compensation technique
US5636231A (en) * 1995-09-05 1997-06-03 Motorola, Inc. Method and apparatus for minimal redundancy error detection and correction of voice spectrum parameters
US5774837A (en) * 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
US5917835A (en) * 1996-04-12 1999-06-29 Progressive Networks, Inc. Error mitigation and correction in the delivery of on demand audio
JPH10177468A (ja) 1996-12-16 1998-06-30 Casio Comput Co Ltd 移動端末音声認識/データベース検索通信システム
US6157830A (en) * 1997-05-22 2000-12-05 Telefonaktiebolaget Lm Ericsson Speech quality measurement in mobile telecommunication networks based on radio link parameters
US5897616A (en) * 1997-06-11 1999-04-27 International Business Machines Corporation Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases
US6092039A (en) * 1997-10-31 2000-07-18 International Business Machines Corporation Symbiotic automatic speech recognition and vocoder
US6775652B1 (en) * 1998-06-30 2004-08-10 At&T Corp. Speech recognition over lossy transmission systems
GB2343777B (en) 1998-11-13 2003-07-02 Motorola Ltd Mitigating errors in a distributed speech recognition process

Also Published As

Publication number Publication date
EP1131814B1 (de) 2005-03-02
GB2343777A (en) 2000-05-17
US8050912B1 (en) 2011-11-01
WO2000030072A1 (en) 2000-05-25
GB9824894D0 (en) 1999-01-06
JP2002530704A (ja) 2002-09-17
JP4510293B2 (ja) 2010-07-21
AU1385600A (en) 2000-06-05
EP1131814A1 (de) 2001-09-12
CN1326583A (zh) 2001-12-12
JP2010160507A (ja) 2010-07-22
ES2242452T3 (es) 2005-11-01
DE69923997D1 (de) 2005-04-07
CA2350751C (en) 2008-12-16
CN1162841C (zh) 2004-08-18
GB2343777B (en) 2003-07-02
ZA200103387B (en) 2002-06-26
CA2350751A1 (en) 2000-05-25
ATE290249T1 (de) 2005-03-15
JP2010160506A (ja) 2010-07-22

Similar Documents

Publication Publication Date Title
DE69923997T2 (de) Fehlerverschleierung in einem verteilten spracherkennungsprozess
DE60217522T2 (de) Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3783154T2 (de) Spracherkennungssystem.
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE69020269T2 (de) Sprachkodierungsgerät mit mehreren Kodierungsverfahren.
DE69814104T2 (de) Aufteilung von texten und identifizierung von themen
DE60004862T2 (de) Automatische bestimmung der genauigkeit eines aussprachewörterbuchs in einem spracherkennungssystem
DE69831991T2 (de) Verfahren und Vorrichtung zur Sprachdetektion
DE69925479T2 (de) Dynamisch konfigurierbares akustisches modell für spracherkennungssysteme
DE60222093T2 (de) Verfahren, modul, vorrichtung und server zur spracherkennung
DE3852608T2 (de) Design und Konstruktion eines binären Entscheidungsbaumsystems zur Sprachmodellierung.
DE3416238C2 (de) Extremschmalband-Übertragungssystem und Verfahren für eine Übertragung von Nachrichten
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE112018007846B4 (de) Gesprochene-sprache-separationseinrichtung, gesprochene-sprache-separationsverfahren, gesprochene-sprache separationsprogramm und gesprochene-sprache-separationssystem
DE602004003862T2 (de) Audiodekoder und Verfahren zur Audiodekodierung
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
EP1080464B1 (de) Verfahren und anordnung zur sprachcodierung
DE69920255T2 (de) Verarbeitung von empfangenen daten in einem verteilten spracherkennungssystem
WO1999040568A1 (de) Verfahren zum übermitteln von sprachdaten
DE69835948T2 (de) Verfahren und einrichtung zur übertragung von zusammengesetzten trägersignalen
EP0976216A1 (de) Verfahren und anordnung zur rahmenfehlerdetektion zwecks fehlerverdeckung insbesondere bei gsm übertragungen
DE69031786T2 (de) Digitale Signalverarbeitungsanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1131814

Country of ref document: EP

Representative=s name: SCHUMACHER & WILLSAU PATENTANWALTSGESELLSCHAFT MBH

R082 Change of representative

Ref document number: 1131814

Country of ref document: EP

Representative=s name: SCHUMACHER & WILLSAU PATENTANWALTSGESELLSCHAFT, DE