-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung beansprucht den Vorteil der vorläufigen
US-Anmeldung mit der Nr. 62/673,238 , eingereicht am 18. Mai 2018, die hierin in ihrer Gesamtheit durch Bezugnahme aufgenommen wird.
-
HINTERGRUND
-
Die Verfügbarkeit und der Gebrauch sprachgestützter Einrichtungen finden zunehmend Verbreitung. Eine genaue Spracherkennung und genaues Sprachverständnis ist für eine zufriedenstellende Benutzererfahrung wichtig. Sprachsignale, die im Fernfeld eines Mikrofons aufgenommen werden, besitzen häufig jedoch aufgrund von Rauschen und Nachhall keine ausreichend hohe Qualität, um die Anforderungen von automatischen Spracherkennungssystemen und anderen Sprachverarbeitungsanwendungen zu erfüllen, die für eine akzeptable Leistungsfähigkeit eine relativ geringe Wortfehlerrate bereitstellen müssen. Bestehende Fernfeld-Sprachvorverarbeitungstechniken versuchen, die Qualität der empfangenen Signale zu erhöhen, leiden aber unter einer Anzahl nicht trivialer Probleme, einschließlich Latenz, Komplexität und der Notwendigkeit für ein Mikrofonarray, das eine relativ große Anzahl von Mikrofonen enthält. Zusätzlich dazu sind viele bestehende Techniken auf eine Sprachaktivitätsdetektion angewiesen, die bei niedrigen Rauschabständen allgemein nicht gut arbeitet.
-
Figurenliste
-
Die Patent- oder Anmeldungsschrift enthält mindestens eine in Farbe ausgeführte Zeichnung. Kopien dieser Patent- oder Patentanmeldungsveröffentlichung mit Farbzeichnung(en) werden auf Anforderung und gegen Entrichtung der notwendigen Gebühr vom Patentamt bereitgestellt.
-
Merkmale und Vorteile von Ausführungsformen des beanspruchten Gegenstands werden, während die folgende ausführliche Beschreibung dargelegt wird, und unter Bezugnahme auf die Zeichnungen, bei denen gleiche Ziffern gleiche Teile abbilden, ersichtlich.
- 1 ist ein Blockdiagramm oberster Ebene eines Mehrkanal-Sprachverarbeitungssystems, das gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
- 2 ist ein ausführlicheres Blockdiagramm der Mehrkanal-Sprachvorverarbeitungs-Pipeline, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
- 3 ist ein Blockdiagramm oberster Ebene eines Einkanal-Sprachverarbeitungssystems, das gemäß gewissen anderen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
- 4 ist ein ausführlicheres Blockdiagramm der Einkanal-Sprachvorverarbeitungs-Pipeline, die gemäß gewissen anderen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
- 5 ist ein Blockdiagramm einer Zeit-Frequenz(TF: Time-Frequency)-Maskenschätzungsschaltung, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
- 6 veranschaulicht Sprachspektrogramme und assoziierte TF-Masken gemäß gewissen Ausführungsformen der vorliegenden Offenbarung.
- 7 ist ein Blockdiagramm einer RNN-Trainingsschaltung, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist.
- 8 veranschaulicht ein Histogramm von Verstärkungsfaktoren gemäß gewissen Ausführungsformen der vorliegenden Offenbarung.
- 9 veranschaulicht Ergebnisse einer Sprachvorverarbeitung gemäß gewissen Ausführungsformen der vorliegenden Offenbarung.
- 10 ist ein Flussdiagramm, das eine Methodik zur Sprachvorverarbeitung gemäß gewissen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
- 11 ist ein Blockdiagramm, das eine sprachgestützte Einrichtungsplattform, die zum Durchführen einer Sprachvorverarbeitung konfiguriert ist, gemäß gewissen Ausführungsformen der vorliegenden Offenbarung schematisch veranschaulicht.
-
Obwohl die folgende ausführliche Beschreibung unter Bezugnahme auf veranschaulichende Ausführungsformen fortgesetzt wird, werden viele Alternativen, Modifikationen und Variationen davon hinsichtlich dieser Offenbarung ersichtlich werden.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es werden Techniken zur Vorverarbeitung von Sprachsignalen, die im Fernfeld eines Mikrofons aufgenommen werden, unter Verwendung von Deep-Learning (tiefgehendem Lernen) (z. B. einem Neuronalnetzwerk) basierend auf einer Zeit-Frequenz-Maskenschätzung und Strahlformung bereitgestellt, um die Qualität der Sprachkomponente des Signals bezüglich der möglicherweise vorhandenen störenden Rausch- und Nachhalleffekte zu verbessern oder zu steigern. Bei einer Ausführungsform kann die offenbarte Vorverarbeitungs-Pipeline als ein Frontend für ein Spracherkennungssystem oder andere Sprachverarbeitungsanwendungen dienen, um die Erkennungswortfehlerrate zu verbessern. Andere Anwendungen werden ersichtlich werden.
-
Audiostrahlformung wird eingesetzt, um Rauschen aus einem Signal räumlich herauszufiltern, aber viele, wenn nicht die meisten Einrichtungen und Plattformen, einschließlich Personal-Computern, Tablets und Smartphones, sind allgemein mit nur einem oder zwei Mikrofonen ausgestattet, was die Effektivität traditioneller Strahlformungstechniken beschränkt. Eine Ausführungsform der vorliegenden Offenbarung stellt jedoch eine Vorverarbeitungs-Pipeline bereit, die ein trainiertes rekurrentes Neuronalnetzwerk (RNN) zum Schätzen von Zeit-Frequenz(TF)-Masken verwendet, die Rauschen vom Signal sowohl in der Zeit als auch in der Frequenz unterscheiden, was im Gegenzug die Berechnung von Strahlformerlenkvektoren mit verbesserter Leistungsfähigkeit mit relativ wenig Mikrofonen (z. B. einem oder zwei) ermöglicht, wie unten ausführlicher erläutert wird, obwohl die Vorverarbeitungs-Pipeline auch eine verbesserte Leistungsfähigkeit für Arrays mit einer größeren Anzahl von Mikrofonen bereitstellen wird. Bei manchen derartigen Ausführungsformen beinhaltet die Vorverarbeitungs-Pipeline auch Enthallungs- und Nachfilterungsoperationen. Zusätzlich dazu werden Verfahren zum Trainieren des RNN offenbart. Wie angesichts dieser Offenbarung erkannt wird, können die Techniken in Verbindung mit einem Array von Mikrofonen verwendet werden, und das Array kann gemäß manchen Ausführungsformen so wenig wie zwei Mikrofone beinhalten. Andere Ausführungsformen können mit einem einzigen Mikrofon arbeiten und die TF-Masken zur Rauschminderung ohne Strahlformung einsetzen, wie unten erläutert wird.
-
Somit stellt diese Offenbarung Techniken zur Verbesserung der Vorverarbeitung eines Sprachsignals bereit, um zum Beispiel die Wortfehlerrate von nachgeschalteten Verarbeitungsmodulen einschließlich Automatische-Spracherkennung(ASR: Automatic Speech Recognition)-Engines zu verbessern. Die offenbarten Techniken können zum Beispiel in einem Rechensystem oder einem Softwareprodukt, das durch derartige Systeme ausführbar oder anderweitig steuerbar ist, implementiert werden, obwohl andere Ausführungsformen ersichtlich werden. Das System oder Produkt ist dazu ausgelegt, eine Vorverarbeitung von Fernfeldsprache unter Verwendung von Deep-Learningbasierter Zeit-Frequenz-Maskenschätzung und Strahlformung durchzuführen. Gemäß einer Ausführungsform beinhaltet eine Methodik zum Implementieren dieser Techniken ein Durchführen einer Enthallungsverarbeitung an Signalen, die von einem Array von Mikrofonen empfangen werden, wobei die Signale Sprache und Rauschen umfassen. Das Verfahren beinhaltet auch ein Erzeugen von TF-Masken für jedes der Signale. Die TF-Masken geben die Wahrscheinlichkeit an, dass eine Zeit-Frequenz-Komponente des mit diesem TF-Maskenelement assoziierten Signals Sprache enthält. Die TF-Maskenerzeugung basiert auf einer Anwendung eines trainierten rekurrenten Neuronalnetzwerks an den Signalen. Das Verfahren beinhaltet ferner ein Erzeugen von Lenkvektoren basierend auf Sprachkovarianzmatrizen und Rauschkovarianzmatrizen. Die TF-Masken werden zum Filtern von Sprachkomponenten der Signale zur Berechnung der Sprachkovarianz und zum Filtern von Rauschkomponenten der Signale zur Berechnung der Rauschkovarianz eingesetzt. Das Verfahren beinhaltet ferner ein Durchführen einer Strahlformung an den Signalen basierend auf den Lenkvektoren, um das verbesserte Sprachsignal zu erzeugen, indem auf die Quelle der Sprache räumlich fokussiert und der Einfluss von Rauschen und Nachhall, die aus anderen Richtungen eingehen, reduziert wird.
-
Wie gewürdigt wird, können die hierin beschriebenen Techniken eine verbesserte Benutzererfahrung mit einer sprachgestützten Einrichtung ermöglichen, indem ein verbessertes Sprachsignal für anschließende Anwendungen, wie etwa zum Beispiel automatische Spracherkennung (ASR), Schlüsselworterkennung, Wake-on-Voice (WoV - Aufwecken mit Sprache) und/oder VOIP(Voice over Internet Protocol - Sprache-über-Internet-Protokoll)-Kommunikationen, bereitgestellt wird. Das verbesserte Sprachsignal führt zu verringerten Wortfehlerraten bei diesen Anwendungen und zu einem insgesamt verbesserten Betrieb.
-
Die offenbarten Techniken können auf einem breiten Bereich von Plattformen implementiert werden, einschließlich Laptops, Tablets, Smartphones, Arbeitsstationen, Videokonferenzsystemen, Gaming-Systemen, Smart-Home-Steuersystemen, Robotersystemen und eingebetteten Niederleistung-DSP/CPU-Systemen oder -Einrichtungen. Zusätzlich dazu können die Daten bei manchen Ausführungsformen vollständig auf einer lokalen Plattform verarbeitet werden oder Teile der Verarbeitung können zu einer entfernten Plattform abgeladen werden (die z. B. Cloud-basierte Verarbeitung oder einen Cloud-basierten sprachgestützten Dienst oder eine Cloud-basierte sprachgestützte Anwendung einsetzt, auf den bzw. die verschiedene lokale Rechensysteme eines Benutzers zugreifen können). Die Techniken können ferner in Hardware oder Software oder einer Kombination davon implementiert werden.
-
1 ist ein Blockdiagramm oberster Ebene eines Mehrkanal-Sprachverarbeitungssystems 100, das gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Das System 100 ist ein Mikrofonarray 110 enthaltend dargestellt, das zwei oder mehr Mikrofone umfasst und dazu ausgelegt ist, Audiosignale aufzunehmen. Die Audiosignale können Sprache, Rauschen und Nachhall oder andere Umgebungseffekte enthalten, insbesondere wenn sie im Fernfeld 105 des Mikrofons (z. B. mehr als ein halber Meter oder mehr als ein Meter vom Mikrofon) aufgenommen werden. Das Mikrofonarray stellt der Mehrkanal-Sprachvorprozessor-Pipeline 120 ein Mehrkanal-Eingangssignal 115 bereit. Die Pipeline 120 ist dazu ausgelegt, ein verbessertes Sprachsignal 145 zu erzeugen, wie unten ausführlicher besprochen wird, das einer beliebigen Anzahl von Sprachverarbeitungsanwendungen 150 bereitzustellen ist. Diese Anwendungen können zum Beispiel eine ASR-Engine 160, einen WoV- oder Schlüsselworterkennungs-Prozessor 170 und/oder ein VOIP-Kommunikationssystem 180 beinhalten, um nur einige zu nennen.
-
2 ist ein ausführlicheres Blockdiagramm der Mehrkanal-Sprachvorverarbeitungs-Pipeline 120, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Die Mehrkanal-Sprachvorverarbeitungs-Pipeline 120 ist eine Signalkonditionierungsschaltung 210, eine AEC-Schaltung 220 (AEC: Acoustic Echo Cancellation - Akustische-Echounterdrückung), eine DRV-Schaltung 230 (DRV: De-Reverberation - Enthallung), eine Zeit-Frequenz-Maskenschätzungsschaltung 240, eine Strahlformungsschaltung 250, eine IMCRA-Nachfilterungsschaltung 260 (IMCRA: Improved Minima Controlled Recursive Averaging - verbesserte minimumgesteuerte rekursive Mittelung), eine SPM-Schaltung 270 (SPM: Spectral Profile Matching - Spektralprofilabgleich) und eine AGC-Schaltung 280 (AGC: Automatic Gain Control - automatische Verstärkungssteuerung) enthaltend dargestellt. Die TF-Maskenschätzungsschaltung 240 wird als ein rekursives Neuronalnetzwerk (RNN) implementiert.
-
Die Signalkonditionierungsschaltung 210 ist dazu ausgelegt, jegliche benötigten Verstärkungsanpassungen und eine Entfernung von DC-Bias, der in den Mehrkanalsignalen 115 vorhanden sein kann, durchzuführen. Diese Anpassungen bereiten die Signale für anschließende Operationen in der Vorverarbeitung-Pipeline vor. Die optionale AEC-Schaltung 220 ist dazu ausgelegt, einen ersten Durchlauf zur Entfernung oder Minderung von Echos im Signal unter Verwendung bekannter Echounterdrückungstechniken hinsichtlich der vorliegenden Offenbarung durchzuführen. Die DRV-Schaltung 230 ist dazu ausgelegt, eine Enthallungsoperation an den Signalen auch unter Verwendung bekannter Techniken hinsichtlich der vorliegenden Offenbarung durchzuführen, um die Genauigkeit der anschließenden TF-Maskenschätzung zu verbessern.
-
Die TF-Maskenschätzungsschaltung (RNN) 240 ist dazu ausgelegt, eine geschätzte Zeit-Frequenz-Maske für jedes der DRV-verarbeitenden Signale zu erzeugen. Die TF-Maske ist eine 2-dimensionale Datenstruktur (wobei die Dimensionen Zeit und Frequenz sind), die Elemente, die Zeitfenstern und Frequenz-Bins entsprechen, auf Art und Weise eines Spektrogramms umfasst. 6 veranschaulicht Sprachspektrogramme und assoziierte TF-Masken gemäß gewissen Ausführungsformen der vorliegenden Offenbarung. Ein Spektrogramm einer klaren Sprachprobe 610 ist zusammen mit der resultierenden TF-Maske 630 dargestellt. Die Leistungspegel jedes Elements im Spektrogramm sind mit Gelb, das den höchsten Pegel bei 0 dB repräsentiert, bis hinunter zum niedrigsten Pegel, der bei -60 dB als Blau codiert ist, farbcodiert. Die Werte in der TF-Maske, die die geschätzte Wahrscheinlichkeit, dass Sprache bei dieser entsprechenden Zeit und Frequenz vorhanden ist, repräsentieren, sind auch mit Gelb, das eine normierte Wahrscheinlichkeit von 1 repräsentiert, bis hinunter zu Blau, das eine normierte Wahrscheinlichkeit von 0 repräsentiert, farbcodiert. Somit gibt ein Wert von 1 an, dass die Komponente als Sprache erkannt wird, während ein Wert von 0 angibt, dass die Komponente als Rauschen erkannt wird. Wie gesehen werden kann, gibt es eine starke Korrelation zwischen dem Spektrogramm der klaren Sprache und der resultierenden geschätzten TF-Maske. Ein anderes Spektrogramm einer rauschbehafteten Sprachprobe 620 ist zusammen mit der resultierenden TF-Maske 640 dargestellt. In diesem Fall zeigt das Spektrogramm 620 aufgrund des hinzugefügten Rauschens erhebliche Energie über einen breiteren Bereich von Zeit- und Frequenz-Bins. Die TF-Maske 640 der rauschbehafteten Sprache bleibt der TF-Maske 630 der klaren Sprache jedoch relativ ähnlich und dient als Orientierung, wo das Sprachsignal in Zeit und Frequenz wahrscheinlich vorhanden sein wird.
-
Eine geschätzte TF-Maske wird für jeden Kanal des Signals durch ein trainiertes RNN erzeugt, das an den empfangenen Signalen arbeitet. Der Trainingsprozess wird unten ausführlicher beschrieben. 5 veranschaulicht ein Blockdiagramm der Zeit-Frequenz-Maskenschätzungsschaltung 240, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Die RNN-Schaltung 510 ist als 5 Schichten umfassend dargestellt. Die erste Schicht 520 und die zweite Schicht 530 sind affine (vollständig verknüpfte) Schichten mit Tangens-Hyperbolicus-Aktivierungsfunktionen. Die dritte Schicht 540 und die vierte Schicht 550 sind LSTM-Schichten (LSTM: Long Short-Term Memory - langes Kurzzeitgedächtnis) mit Sigmoid-Aktivierungsfunktionen. Die fünfte Schicht 560 ist eine affine Schicht mit einer Sigmoid-Aktivierungsfunktion. Bei manchen Ausführungsformen können die Schichten 1, 2 und 5 jeweils 256 Knoten aufweisen, während die Schichten 3 und 4 jeweils 128 Knoten aufweisen können. Es versteht sich, dass andere Konfigurationen mit unterschiedlichen Anzahlen und Typen von Schichten, Aktivierungsfunktionen und Knotenzählungen möglich sind. Allgemein wird das RNN jedoch mindestens eine rekurrente Schicht beinhalten, um eine Historie oder einen Speicher vorheriger Daten bereitzustellen, um zeitliche Abhängigkeiten ohne die Notwendigkeit für eine tatsächliche Speicherung vergangener Daten zu modellieren.
-
Erneut unter Bezugnahme auf
2 ist die Strahlformungsschaltung
250 dazu ausgelegt, Lenkvektoren basierend auf Sprachkovarianzmatrizen und Rauschkovarianzmatrizen zu erzeugen. Die zuvor geschätzten TF-Masken werden eingesetzt, um Sprachkomponenten der DRV-verarbeiteten Signale zur Berechnung der Sprachkovarianzmatrizen zu filtern und Rauschkomponenten der DRV-verarbeiteten Signale zur Berechnung der Rauschkovarianzmatrizen zu filtern. Die Rauschkovarianzmatrix
ΦNN kann basierend auf einer Anwendung der TF-Maske wie folgt berechnet/aktualisiert werden:
wobei X das komplexe Spektrum des aufgenommenen Signals für das Frequenz-Bin k ist und α ein ausgewählter Speicherabklingfaktor ist. Die t- und k-Parameter spezifizieren das Zeitfenster und Frequenz-Bin jedes Elements. Gleichermaßen kann die Sprachkovarianzmatrix
ΦSS basierend auf einer Anwendung der TF-Maske wie folgt berechnet/aktualisiert werden:
-
Bei manchen Ausführungsformen kann die Größe des Spektrums anstatt des vollen komplexen Spektrums verwendet werden, um den Rechenaufwand der Berechnungen zu vereinfachen und zu reduzieren.
-
Die Strahlformungsschaltung ist ferner dazu ausgelegt, eine Strahlformung an den DRV-verarbeiteten Signalen basierend auf den Lenkvektoren durchzuführen, um ein Einkanal-Sprachsignal zu erzeugen, das zu der Quelle der Sprache gelenkt wird. Bei manchen Ausführungsformen setzt die Strahlformung eine Strahlformung mit generalisiertem Eigenwert mit blind-analytischer Normierung ein. Die Lenkvektoren oder Strahlformergewichtungen W(k) können als der maximale Eigenvektor berechnet werden, der dem größten Eigenwert von
entspricht. Die Strahlformerausgabe kann dann wie folgt berechnet werden:
wobei M die Anzahl von Kanälen des Eingangssignals ist (z. B. die Anzahl von Mikrofonen im Array
110).
-
Die IMCRA-Nachfilterungsschaltung 260 ist dazu ausgelegt, eine verbesserte minimumgesteuerte rekursive Mittelung durchzuführen, um stationäre Rauschkomponenten des Einkanal-Sprachsignals unter Verwendung bekannter Techniken hinsichtlich der vorliegenden Offenbarung zu reduzieren.
-
Die SPM-Schaltung 270 ist dazu ausgelegt, eine Spektralformung an dem IMCRA-gefilterten Einkanal-Sprachsignal basierend auf mit einer ausgewählten ASR-Engine assoziierten Heuristik durchzuführen. Unterschiedliche ASR-Engines, die durch unterschiedliche Verkäufer bereitgestellt werden, sind häufig so abgestimmt, dass sie am besten mit Signalen arbeiten, die auf eine spezielle Art und Weise spektral geformt sind. Eine gegebene ASR-Engine kann zum Beispiel erwarten, dass das Eingangssprachsignal mit einer hohen Grenzfrequenz bei 6 kHz gefiltert ist.
-
Die AGC-Schaltung 280 ist dazu ausgelegt, eine beliebige Endverstärkungssteuerung durchzuführen, um das verbesserte Sprachsignal 145 basierend auf den Anforderungen der anschließenden Sprachverarbeitungsanwendungen in einen geeigneten Amplitudenbereich zu skalieren.
-
3 ist ein Blockdiagramm oberster Ebene eines Einkanal-Sprachverarbeitungssystems 300, das gemäß gewissen anderen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Das System 300 ist ein einzelnes Mikrofon 310 enthaltend dargestellt, das dazu ausgelegt ist, Audiosignale aufzunehmen. Die Audiosignale können Sprache, Rauschen und Nachhall und andere Umgebungseffekte enthalten, insbesondere, wenn sie im Fernfeld 105 des Mikrofons aufgenommen werden (z. B. mehr als ein halber Meter oder ein Meter vom Mikrofon). Das Mikrofon stellt der Einkanal-Sprachvorprozessor-Pipeline 320 ein Einkanal-Eingangssignal 315 bereit, die dazu ausgelegt ist, ein verbessertes Sprachsignal 345 zu erzeugen, wie unten ausführlicher beschrieben wird, das den Sprachverarbeitungsanwendungen 150 bereitzustellen ist.
-
4 ist ein ausführlicheres Blockdiagramm der Einkanal-Sprachvorverarbeitungs-Pipeline 320, die gemäß gewissen anderen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Die Einkanal-Sprachvorverarbeitungs-Pipeline 320 ist eine Signalkonditionierungsschaltung 210, eine AEC-Schaltung 220 (AEC: akustische Echounterdrückung), eine DRV-Schaltung 230 (DRV: Enthallung), eine Zeit-Frequenz-Maskenschätzungsschaltung 240, eine Rauschminderungsschaltung 450, eine SPM-Schaltung 270 (SPM: Spektralprofilabgleich) und eine AGC-Schaltung 280 (AGC: automatische Verstärkungssteuerung) enthaltend dargestellt. Die TF-Maskenschätzungsschaltung 240 wird als ein rekursives Neuronalnetzwerk (RNN) implementiert.
-
Die Signalkonditionierungsschaltung 210, die AEC-Schaltung 220, die DRV-Schaltung 230 und die TF-Maskenschätzungsschaltung (RNN) 240 sind dazu ausgelegt, die Funktionen durchzuführen, wie zuvor bezüglich der Mehrkanal-Pipeline 120 beschrieben, diese werden jedoch auf dem einzigen verfügbaren Kanal durchgeführt.
-
Anstelle der Strahlformungsschaltung
250 der Mehrkanal-Vorverarbeitungs-Pipeline
120 ist die Rauschminderungsschaltung
450 der Einkanal-Vorverarbeitungs-Pipeline dazu ausgelegt, die TF-Maske direkt an dem Spektrum des aufgenommenen Signals anzuwenden. Dies kann durch die folgende Formel ausgedrückt werden:
wobei X das komplexe Spektrum des aufgenommenen Signals ist (z. B. des im Frequenzbereich repräsentierten Signals), TFM die Zeit-Frequenz-Maske ist und Y das komplexe Spektrum des verbesserten Signals nach der Rauschminderung ist. Die t- und k-Parameter spezifizieren das Zeitfenster und Frequenz-Bin jedes Elements. Bei manchen Ausführungsformen kann das komplexe Spektrum zu Größen- und Phasenkomponenten umgewandelt werden und die Modifikation (z. B. Anwendung der Maske) kann an nur dem Größenspektrum durchgeführt werden, um den Rechenaufwand der Berechnungen zu vereinfachen und zu reduzieren.
-
Bei manchen Ausführungsformen kann die Rauschminderungsschaltung
450 auch dazu ausgelegt sein, zusätzliche Signalverarbeitungsoperationen an der TF-Maske durchzuführen, wie etwa zum Beispiel die Anwendung eines gleitenden Durchschnitts, um die Maske zu glätten, und Schwellenwertbildung, um Maskenwerte zu einem gewünschten Bereich zu beschränken. Die Maske kann zum Beispiel zu Null gesetzt werden, wenn das Eingangssignal unter einer ausgewählten Schwelle liegt. Bei manchen Ausführungsformen kann die Maske zu einem ausgewählten Intervall (z. B. [0,1]) zugeschnitten werden. In einem rekurrenten Neuronalnetzwerk kann dies implizit durch die Verwendung einer Sigmoid-Aktivierungsfunktion erzielt werden. Bei manchen weiteren Ausführungsformen kann eine gewichtete Summe des ursprünglichen und verarbeiteten Spektrums verwendet werden, um den Grad an Rauschminderung zu steuern. Dies kann zum Beispiel durch die folgende Formel ausgedrückt werden:
wobei w
X und w
TF ausgewählte Gewichtungsfaktoren sind.
-
Die SPM-Schaltung 270 und die AGC-Schaltung 280 sind dazu ausgelegt, die Funktionen durchzuführen, wie zuvor bezüglich der Mehrkanal-Pipeline 120 beschrieben.
-
7 ist ein Blockdiagramm einer RNN-Trainingsschaltung 700, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist. Die RNN-Trainingsschaltung 700 ist eine Faltungsschaltung 750, eine Merkmalsextraktionsschaltung 740, eine Summierungsschaltung 760, eine IRM-Berechnungsschaltung 770 (IRM: Ideal Ratio Mask - Maske mit idealem Verhältnis), eine RNN-Schaltung 510, eine MSE-Berechnungsschaltung 780 (MSE: Mean Squared Error - mittlerer quadrierter Fehler) und eine RNN-Parameteraktualisierungsschaltung 790 enthaltend dargestellt. Außerdem sind Datenbanken für klare Sprachproben 710, Nachhallfilter 720 und Rauschproben 730 dargestellt.
-
Für jede Trainingsiteration wird eine klare Sprachsignalprobe s(t) aus der Datenbank 710 ausgewählt, ein Nachhallfilter h(t) wird aus der Datenbank 720 ausgewählt und eine Rauschsignalprobe n(t) wird aus der Datenbank 730 ausgewählt. Das Nachhallfilter modelliert die akustischen Echos oder Reflexionen, die mit einer Umgebung (z. B. Räumen verschiedener Größen und Geometrien) assoziiert sind, die ein vom Fernfeld der Mikrofone aufgenommenes Signal verfälschen können. Die Rauschproben können eine beliebige Art von Störrauschen beinhalten, einschließlich weißem Rauschen, farbigem Rauschen und Babble(Störgeräusch)-Rauschen (z. B. Stücke von Hintergrundsprache oder -musik). Die Faltungsschaltung 750 ist dazu ausgelegt, das Nachhallfilter an der klaren Sprachsignalprobe anzuwenden, um s(t)*h(t) zu erzeugen, wobei * den Faltungsoperator repräsentiert. Die Summierungsschaltung 760 ist dazu ausgelegt, die Rauschsignalprobe nach der Anwendung eines Verstärkungsfaktors g, der zum Erzielen eines gewünschten Rauschabstands (SNR: Signal-to-Noise Ratio) ausgewählt wird, zu addieren, was zu x(t) = s(t)*h(t) + g · n(t) führt. Die Merkmalsextraktionsschaltung 740 ist dazu ausgelegt, eine Frequenzbereich-Merkmalsrepräsentation X(k) des rauschbehafteten Signals x(t) zu erzeugen. Bei manchen Ausführungsformen kann X(k) extrahierte Merkmalsvektoren des rauschbehafteten Signals, eine Rohwellenform des rauschbehafteten Signals oder Spektralkoeffizienten der rauschbehafteten Wellenform repräsentieren. Die Frequenzbereich-Merkmalsrepräsentation X(k) des rauschbehafteten Signals wird der zu trainierenden RNN-Schaltung 510 bereitgestellt, und eine geschätzte TF-Maske wird für diese Iteration erzeugt.
-
Die Merkmalsextraktionsschaltung 740 ist auch dazu ausgelegt, eine Frequenzbereich-Merkmalsrepräsentation S(k) des klaren Sprachsignals s(t) zu erzeugen. Die IRM-Berechnungsschaltung 770 ist dazu ausgelegt, eine Maske mit idealem Verhältnis als ein Trainingsziel für das RNN zu erzeugen, zum Beispiel IRM(k) = S(k) / X(k). Dieser Prozess ermöglicht, dass die rauschbehaftete Sprache X präzise der klaren Sprache S angepasst wird, was ein verbessertes Training des Neuronalnetzwerks ermöglicht. Bei manchen Ausführungsformen kann eine ideale Binärmaske als eine Alternative für die IRM eingesetzt werden. Bei manchen Ausführungsformen kann eine zusätzliche Verarbeitung an der IRM durchgeführt werden, einschließlich zum Beispiel Glättungs- und Schwellenwertbildungsoperationen, wie zuvor in Verbindung mit der Berechnung der TF-Maske beschrieben.
-
Die MSE-Berechnungsschaltung 780 ist dazu ausgelegt, den mittleren quadrierten Fehler (oder eine beliebige andere gewünschte Fehlermessung) zwischen der IRM und der geschätzten TF-Maske zu berechnen. Die RNN-Parameteraktualisierungsschaltung 790 ist dazu ausgelegt, die Parameter zum Trainieren des Neuronalnetzwerks für diese Iteration basierend auf dem Fehler unter Verwendung bekannter Techniken hinsichtlich der vorliegenden Offenbarung zu aktualisieren.
-
Die Verfügbarkeit einer großen Menge an klaren Sprachproben und einer Datenbank von Impulsantworten und Rauschaufzeichnungen ermöglicht die Erzeugung eines Trainingsdatensatzes mit einer großen Anzahl von Äußerungen und einem hohen Maß an Variation der Art von Störungen. Dies führt zu einem robusteren Neuronalnetzwerk, das in der Lage ist, die TF-Maske unter anspruchsvollen Rauschbedingungen und Fernfeldbedingungen korrekt zu folgern.
-
8 veranschaulicht ein Histogramm 800 von Verstärkungsfaktoren gemäß gewissen Ausführungsformen der vorliegenden Offenbarung. Aufgrund der Tatsache, dass klare Sprachsignale in der Datenbank 710 typischerweise bei höheren Pegeln aufgenommen werden als die Signale, die durch die Mikrofone in der Zieleinrichtung aufgenommen werden, kann das Training des TF-Maskenschätzers eine Abhängigkeit von der Eingangsverstärkung entwickeln. Um diesem Effekt entgegenzuwirken, kann bei manchen Ausführungsformen ein zusätzlicher zufälliger Verstärkungsfaktor aus dem Histogramm 800 ausgewählt und am Trainingssignal X(k) für die RNN-Schaltung 510 angewendet werden. Das Histogramm 800 ist als asymmetrisch, mit einem Mittelwert von -7 dB dargestellt, obwohl andere Verteilungen möglich sind.
-
9 veranschaulicht Ergebnisse einer Sprachvorverarbeitung gemäß gewissen Ausführungsformen der vorliegenden Offenbarung. Ein Spektrogramm des Eingangssignals 910 ist zusammen mit einem Spektrogramm des durch die Vorverarbeitungs-Pipeline verbesserten Signals 920 unter Verwendung eines 2-Mikrofonarrays dargestellt. Wie gesehen werden kann, führt die Vorverarbeitung zu einer Verbesserung der Minderung des Rauschens, wofür manche Beispiele durch Bezugsnummer 930 angegeben sind.
-
Methodik
-
10 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 1000 zur Vorverarbeitung von Fernfeldsprache unter Verwendung von Deep-Learningbasierter Zeit-Frequenz-Maskenschätzung und Strahlformung gemäß gewissen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Wie gesehen werden kann, beinhaltet das beispielhafte Verfahren eine Anzahl von Phasen und Teilprozessen, deren Abfolge von einer Ausführungsform zu einer anderen variieren kann. Wenn sie jedoch im Ganzen angesehen werden, bilden diese Phasen und Teilprozesse einen Prozess zur Sprachvorverarbeitung gemäß gewissen der hierin offenbarten Ausführungsformen. Diese Ausführungsformen können zum Beispiel unter Verwendung der in den 1-5 und 7 veranschaulichten Systemarchitektur implementiert werden, wie oben beschrieben. Bei anderen Ausführungsformen können jedoch andere Systemarchitekturen verwendet werden, wie hinsichtlich dieser Offenbarung ersichtlich wird. Zu diesem Zweck wird nicht beabsichtigt, dass die Korrelation der verschiedenen in 10 dargestellten Funktionen zu den spezifischen Komponenten, die in den anderen Figuren veranschaulicht sind, irgendwelche Struktur- und/oder Verwendungsbeschränkungen andeuten soll. Stattdessen können andere Ausführungsformen zum Beispiel variierende Integrationsgrade beinhalten, bei denen mehrere Funktionalitäten effektiv durch ein System durchgeführt werden. Bei einer alternativen Ausführungsform kann zum Beispiel ein einziges Modul mit entkoppelten Untermodulen verwendet werden, um alle Funktionen des Verfahrens 1000 durchzuführen. Somit können andere Ausführungsformen in Abhängigkeit von der Granularität der Implementierung weniger oder mehr Module und/oder Untermodule aufweisen. Bei noch anderen Ausführungsformen kann die abgebildete Methodik als ein Computerprogrammprodukt implementiert werden, das ein oder mehrere nichtflüchtige maschinenlesbare Medien beinhaltet, die bei Ausführung durch einen oder mehrere Prozessoren bewirken, dass die Methodik ausgeführt wird. Zahlreiche Variationen und alternative Konfigurationen werden hinsichtlich dieser Offenbarung ersichtlich.
-
Wie in 10 veranschaulicht, beginnt das Verfahren 1000 zur Sprachsignalvorverarbeitung bei einer Ausführungsform mit Durchführen, bei Vorgang 1010, eine Enthallungs(DRV)-Verarbeitung an jedem mehrerer Signale, die von einem Array von Mikrofonen empfangen werden. Die Signale, die eine Kombination von Sprache und Rauschen beinhalten, können vom Fernfeld der Mikrofone (z. B. mehr als ein Meter von den Mikrofonen) erhalten werden. Der DRV-Prozess entfernt oder reduziert Fernfeld-Umgebungseffekte, wie etwa Nachhall, vor anschließenden Vorverarbeitungsoperationen und verbessert die Leistungsfähigkeit von diesen.
-
Als Nächstes werden bei Vorgang 1020 mehrere Zeit-Frequenz-Masken erzeugt. Jede der TF-Masken ist mit einem der DRV-verarbeiteten Signale assoziiert. Die TF-Masken sind 2-dimensional und umfassen Elemente entsprechend Zeit- und Frequenz-Bins. Jedes TF-Maskenelement gibt eine Wahrscheinlichkeit an, dass die Zeit-Frequenz-Komponente des mit diesem Element assoziierten DRV-verarbeiteten Signals Sprache enthält. Die TF-Maskenerzeugung basiert auf einer Anwendung eines trainierten rekurrenten Neuronalnetzwerks (RNN) an den DRV-verarbeiteten Signalen.
-
Bei manchen Ausführungsformen umfasst das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid - Akti vierungsfunktion .
-
Bei Vorgang 1030 werden Strahlformungslenkvektoren basierend auf Sprachkovarianzmatrizen und Rauschkovarianzmatrizen der DRV-verarbeiteten Signale erzeugt. Die TF-Masken werden eingesetzt, um Sprachkomponenten der DRV-verarbeiteten Signale zur Berechnung der Sprachkovarianzmatrizen zu filtern und Rauschkomponenten der DRV-verarbeiteten Signale zur Berechnung der Rauschkovarianzmatrizen zu filtern.
-
Bei Vorgang 1040 wird eine Strahlformung an den mehreren DRV-verarbeiteten Signalen basierend auf den Lenkvektoren durchgeführt, um ein verbessertes Einkanal-Sprachsignal zu erzeugen. Bei manchen Ausführungsformen setzt die Strahlformung eine Strahlformung mit generalisiertem Eigenwert mit blind-analytischer Normierung ein.
-
Bei manchen Ausführungsformen können natürlich zusätzliche Vorgänge durchgeführt werden, wie zuvor in Verbindung mit dem System beschrieben. Zum Beispiel kann eine verbesserte minimumgesteuerte rekursive Mittelung (IMCRA) durchgeführt werden, um stationäre Rauschkomponenten des Einkanal-Sprachsignals, das durch die Strahlformung erzeugt wird, zu reduzieren. Bei manchen Ausführungsformen wird das verbesserte Einkanal-Sprachsignal einer Sprachverarbeitungsanwendung bereitgestellt, wie etwa zum Beispiel einer ASR(Automatische Spracherkennung)-Engine, einer Schlüsselworterkennungsanwendung, einer Wake-on-Voice(WoV)-Anwendung und/oder VOIP(Sprache-über-Internet-Protokoll)-Anwendung.
-
Beispielhaftes System
-
11 veranschaulicht eine beispielhafte sprachgestützte Einrichtungsplattform 1100, die gemäß gewissen Ausführungsformen der vorliegenden Offenbarung konfiguriert ist, eine Sprachvorverarbeitung zur Verbesserung des Sprachsignals vor der Verwendung durch eine Sprachverarbeitungsanwendung durchzuführen. Bei manchen Ausführungsformen kann die Plattform 1100 auf einem Personal Computer, einer Arbeitsstation, einem Serversystem, einem Smart-Home-Verwaltungssystem, einem Laptop-Computer, einem Ultra-Laptop-Computer, einem Tablet, einem Touchpad, einem portablen Computer, einem handgehaltenen Computer, einem Palmtop-Computer, einem Personal Digital Assistant (PDA), einem Funktelefon, einem kombinierten Funktelefon und PDA, einer intelligenten Einrichtung (zum Beispiel Smartphone oder Smart-Tablet), einer mobilen Interneteinrichtung (MID: Mobile Internet Device), einer Messaging-Einrichtung, einer Datenkommunikationseinrichtung, einer Wearable-Einrichtung, einem eingebetteten System und so weiter gehostet werden oder anderweitig in diese integriert sein. Bei gewissen Ausführungsformen kann eine beliebige Kombination unterschiedlicher Einrichtungen verwendet werden.
-
Bei manchen Ausführungsformen kann die Plattform 1100 eine beliebige Kombination aus einem Prozessor 1120, einem Speicher 1130, Sprachvorprozessorschaltungen 120 und/oder 320, Sprachverarbeitungsanwendungen 160, 170, 180, einer Netzwerkschnittstelle 1140, einem Eingabe/Ausgabe(E/A)-System 1150, einer Benutzeroberfläche 1160, einem Mikrofonarray 110 und einem Speicherungssystem 1170 umfassen. Wie ferner gesehen werden kann, ist außerdem ein Bus und/oder Interconnect 1192 bereitgestellt, um eine Kommunikation zwischen den verschiedenen oben aufgelisteten Komponenten und/oder anderen nicht dargestellten Komponenten zu ermöglichen. Die Plattform 1100 kann über die Netzwerkschnittstelle 1140 mit einem Netzwerk 1194 gekoppelt sein, um Kommunikationen mit anderen Recheneinrichtungen, Plattformen, zu steuernden Einrichtungen oder anderen Ressourcen zu ermöglichen. Andere Komponenten und Funktionalitäten, die nicht im Blockdiagramm von 11 widergespiegelt sind, werden hinsichtlich dieser Offenbarung ersichtlich, und es versteht sich, dass andere Ausführungsformen nicht auf irgendeine spezielle Hardwarekonfiguration beschränkt sind.
-
Der Prozessor 1020 kann ein beliebiger geeigneter Prozessor sein und kann einen oder mehrere Coprozessoren oder eine oder mehrere Steuerungen, wie etwa einen Audioprozessor, eine Grafikverarbeitungseinheit oder einen Hardwarebeschleuniger, beinhalten, um bei der Steuerung und der Verarbeitung von Vorgängen, die mit der Plattform 1100 assoziiert sind, zu helfen. Bei manchen Ausführungsformen kann der Prozessor 1120 als eine beliebige Anzahl von Prozessorkernen implementiert werden. Der Prozessor (oder die Prozessorkerne) können ein beliebiger Typ von Prozessor sein, wie etwa zum Beispiel ein Mikroprozessor, ein eingebetteter Prozessor, ein Digitalsignalprozessor (DSP), ein Grafikprozessor (GPU), ein Netzwerkprozessor, ein feldprogrammierbares Gate-Array oder eine andere Einrichtung, die zur Ausführung von Code konfiguriert ist. Die Prozessoren können in dem Sinne Multithread-Kerne sein, dass sie mehr als einen Hardware-Thread-Kontext (oder „Logikprozessor“) pro Kern beinhalten können. Der Prozessor 1120 kann als ein CISC- (Complex Instruction Set Computer - Computer mit komplexem Befehlssatz) oder RISC-Prozessor (Reduced Instruction Set Computer - Computer mit reduziertem Befehlssatz) implementiert werden. Bei manchen Ausführungsformen kann der Prozessor 1120 als ein x86-Befehlssatz-kompatibler Prozessor konfiguriert sein.
-
Der Speicher 1130 kann unter Verwendung eines beliebigen geeigneten Typs von digitaler Speicherung implementiert werden, einschließlich zum Beispiel Flash-Speicher und/oder Direktzugriffsspeicher (RAM: Random Access Memory). Bei manchen Ausführungsformen kann der Speicher 1130 verschiedene Schichten von Speicherhierarchie und/oder Speicher-Caches beinhalten, wie Fachleuten bekannt sind. Der Speicher 1130 kann als eine unbeständige Speichereinrichtung implementiert werden, wie etwa unter anderem eine RAM-, dynamische RAM(DRAM)- oder statische RAM(SRAM)-Einrichtung. Das Speicherungssystem 1170 kann als eine beständige Speicherungseinrichtung implementiert werden, wie etwa unter anderem ein Festplattenlaufwerk (HDD: Hard Disk Drive) und/oder ein Halbleiterlaufwerk (SSD: Solid-State Drive) und/oder ein USB(Universal Serial Bus)-Laufwerk und/oder ein optisches Plattenlaufwerk und/oder ein Bandlaufwerk und/oder eine interne Speicherungseinrichtung und/oder eine angeschlossene Speicherungseinrichtung und/oder ein Flash-Speicher und/oder ein batteriegesicherter synchroner DRAM (SDRAM) und/oder eine netzwerkzugängliche Speicherungseinrichtung. Bei manchen Ausführungsformen kann die Speicherung 1170 Technologie zur Erhöhung der Speicherungsperformanz mit erweitertem Schutz für wertvolle digitale Medien umfassen, wenn mehrere Festplatten enthalten sind.
-
Der Prozessor 1120 kann dazu ausgelegt sein, ein Betriebssystem (OS: Operating System) 1180 auszuführen, das ein beliebiges geeignetes Betriebssystem umfassen kann, wie etwa Google Android (Google Inc., Mountain View, Kalifornien), Microsoft Windows (Microsoft Corp., Redmond, Washington), Apple OS X (Apple Inc., Cupertino, Kalifornien), Linux oder ein Echtzeit-Betriebssystem (RTOS: Real-Time Operating System). Wie hinsichtlich dieser Offenbarung gewürdigt wird, können die hierin bereitgestellten Techniken ungeachtet des speziellen Betriebssystems, das in Verbindung mit der Plattform 1100 bereitgestellt ist, implementiert werden, und können daher auch unter Verwendung einer beliebigen geeigneten bestehenden oder anschließend entwickelten Plattform implementiert werden.
-
Die Netzwerkschnittstellenschaltung 1140 kann ein beliebiger geeigneter Netzwerkchip oder -chipsatz sein, der eine verdrahtete und/oder drahtlose Verbindung zwischen anderen Komponenten der Einrichtungsplattform 1100 und/oder des Netzwerks 1194 ermöglicht, wodurch der Plattform 1100 ermöglicht wird, mit anderen lokalen und/oder entfernten Rechensystemen, Servern, Cloud-basierten Servern und/oder anderen Ressourcen zu kommunizieren. Eine verdrahtete Kommunikation kann bestehenden (oder noch zu entwickelnden) Standards entsprechen, wie etwa zum Beispiel Ethernet. Eine drahtlose Kommunikation kann bestehenden (oder noch zu entwickelnden) Standards entsprechen, wie etwa zum Beispiel Mobilfunkkommunikationen einschließlich LTE (Long Term Evolution), Wireless Fidelity (WiFi), Bluetooth und/oder Nahfeldkommunikation (NFC: Near Field Communication). Beispielhafte Drahtlosnetze beinhalten unter anderem drahtlose Lokalnetze, drahtlose persönliche Netze, drahtlose städtische Netze, Funknetze und Satellitennetze.
-
Das E/A-System 1150 kann dazu ausgelegt sein, zwischen verschiedenen E/A-Einrichtungen und anderen Komponenten der Einrichtungsplattform 1100 eine Schnittstelle zu erstellen. E/A-Einrichtungen können unter anderem die Benutzeroberfläche 1160 und das Mikrofonarray 110 beinhalten. Die Benutzeroberfläche 1160 kann Einrichtungen (nicht dargestellt), wie etwa einen Lautsprecher, ein Anzeigeelement, ein Touchpad, eine Tastatur und eine Maus usw., beinhalten. Das E/A-System 1150 kann ein Grafikuntersystem beinhalten, das dazu ausgelegt ist, eine Verarbeitung von Bildern zur Wiedergabe auf dem Anzeigeelement durchzuführen. Das Grafikuntersystem kann zum Beispiel eine Grafikverarbeitungseinheit oder eine visuelle Verarbeitungseinheit (VPU: Visual Processing Unit) sein. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Grafikuntersystem und das Anzeigeelement kommunikativ zu koppeln. Die Schnittstelle kann zum Beispiel eine beliebige von HDMI (High Definition Multimedia Interface), DisplayPort, Drahtlos-HDMI und/oder eine beliebige andere geeignete Schnittstelle sein, die Drahtlos-High-Definitionkonforme Techniken verwendet. Bei manchen Ausführungsformen könnte das Grafikuntersystem in den Prozessor 1120 oder einen beliebigen Chipsatz der Plattform 1100 integriert sein.
-
Es versteht sich, dass die verschiedenen Komponenten der Plattform 1100 bei manchen Ausführungsformen in einer System-auf-Chip(SoC)-Architektur kombiniert oder integriert werden können. Bei manchen Ausführungsformen können die Komponenten Hardwarekomponenten, Firmwarekomponenten, Softwarekomponenten oder eine beliebige geeignete Kombination von Hardware, Firmware oder Software sein.
-
Die Sprachvorprozessorschaltungen 120, 320 sind dazu ausgelegt, die Qualität eines empfangenen Sprachsignals über eine TF-Masken-basierte Strahlformung (im Fall eines Mikrofonarrays) oder eine TF-Masken-basierte Rauschminderung (im Fall eines einzigen Mikrofons) zu verbessern, wie zuvor beschrieben. Die Sprachvorprozessorschaltungen 120, 320 können beliebige oder alle der in den 1-5 und 7 veranschaulichten Schaltungen/Komponenten beinhalten, wie oben beschrieben. Diese Komponenten können mit einer Vielfalt geeigneter Software und/oder Hardware, die mit der Plattform 1100 gekoppelt ist oder anderweitig einen Teil von dieser bildet, implementiert oder anderweitig in Verbindung mit diesen verwendet werden. Diese Komponenten können zusätzlich oder alternativ mit Benutzer-E/A-Einrichtungen implementiert oder anderweitig in Verbindung mit diesen verwendet werden, die in der Lage sind, einem Benutzer Informationen bereitzustellen und Informationen und Befehle von diesem zu empfangen.
-
Bei manchen Ausführungsformen können diese Schaltungen lokal zur Plattform 1100 installiert sein, wie im Ausführungsbeispiel von 11 dargestellt. Alternativ dazu kann die Plattform 1100 in einer Client-Server-Anordnung implementiert werden, bei der zumindest ein Teil der Funktionalität, die mit diesen Schaltungen assoziiert ist, der Plattform 1100 unter Verwendung eines Applets, wie etwa eines JavaScript-Applets, oder eines anderen herunterladbaren Moduls oder Satzes von Untermodulen bereitgestellt wird. Derartige entfernt zugängliche Module oder Untermodule können als Reaktion auf eine Anforderung von einem Client-Rechensystem für einen Zugriff auf einen gegebenen Server mit Ressourcen, die für den Benutzer des Client-Rechensystems von Interesse sind, in Echtzeit zur Verfügung gestellt werden. Bei derartigen Ausführungsformen kann sich der Server lokal zum Netzwerk 1194 befinden oder durch ein oder mehrere andere Netzwerke und/oder einen oder mehrere andere Kommunikationskanäle entfernt mit dem Netzwerk 1194 gekoppelt sein. In manchen Fällen kann ein Zugriff auf Ressourcen auf einem gegebenen Netzwerk oder Rechensystem Anmeldedaten erfordern, wie etwa Benutzernamen, Passwörter und/oder eine Erfüllung eines beliebigen anderen geeigneten Sicherheitsmechanismus.
-
Bei verschiedenen Ausführungsformen kann die Plattform 1100 als ein drahtloses System, ein verdrahtetes System oder eine Kombination von beiden implementiert werden. Wenn sie als ein drahtloses System implementiert wird, kann die Plattform 1100 Komponenten und Schnittstellen beinhalten, die sich zur Kommunikation über ein drahtloses gemeinsam genutztes Medium eignen, wie etwa eine oder mehrere Antennen, einen oder mehrere Sender, Empfänger, Sendeempfänger, Verstärker, ein oder mehrere Filter, Steuerlogik und so weiter. Ein Beispiel für drahtlose gemeinsam genutzte Medien können Teile eines Drahtlosspektrums beinhalten, wie etwa das Hochfrequenzspektrum und so weiter. Wenn sie als ein verdrahtetes System implementiert wird, kann die Plattform 1100 Komponenten und Schnittstellen beinhalten, die sich zur Kommunikation über verdrahtete Kommunikationsmedien eignen, wie etwa Eingabe/Ausgabe-Adapter, physische Verbinder, um den Eingabe/Ausgabe-Adapter mit einem entsprechenden verdrahteten Kommunikationsmedium zu verbinden, eine Netzwerkschnittstellenkarte (NIC: Network Interface Card), eine Plattensteuerung, eine Videosteuerung, eine Audiosteuerung und so weiter. Beispiele für verdrahtete Kommunikationsmedien können einen Draht, Kabelmetallleitungen, eine Leiterplatte (PCB: Printed Circuit Board), eine Backplane, ein Switch-Fabric, ein Halbleitermaterial, einen Twisted-Pair-Draht, ein Koaxialkabel, eine Glasfaser und so weiter beinhalten.
-
Verschiedene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination von beiden implementiert werden. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (zum Beispiel Transistoren, Widerstände, Kondensatoren, Induktivitäten und so weiter), integrierte Schaltungen, ASICs, programmierbare Logikeinrichtungen, Digitalsignalprozessoren, FPGAs, Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze und so weiter beinhalten. Beispiele für Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen, Befehlssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon beinhalten. Die Bestimmung, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann gemäß einer beliebigen Anzahl von Faktoren variieren, wie etwa gewünschte Rechenrate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Konstruktions- oder Leistungsfähigkeitsbeschränkungen.
-
Manche Ausführungsformen können unter Verwendung des Ausdrucks „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen beschrieben werden. Es wird nicht beabsichtigt, dass diese Begriffe synonym füreinander sind. Manche Ausführungsformen können zum Beispiel unter Verwendung der Begriffe „verbunden“ und/oder „gekoppelt“ beschrieben werden, um anzugeben, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander stehen. Der Begriff „gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch weiterhin miteinander kooperieren oder interagieren.
-
Die verschiedenen hierin offenbarten Ausführungsformen können in verschiedenen Formen von Hardware, Software, Firmware und/oder Spezialprozessoren implementiert werden. Bei einer Ausführungsform weist zum Beispiel mindestens ein nichtflüchtiges computerlesbares Speicherungsmedium darauf codierte Anweisungen auf, die bei Ausführung durch einen oder mehrere Prozessoren bewirken, dass eine oder mehrere der hierin offenbarten Sprachvorverarbeitungsmethodiken implementiert werden. Die Anweisungen können unter Verwendung einer geeigneten Programmiersprache, wie etwa C, C++, objektorientiertes C, Java, JavaScript, Visual Basic .NET, BASIC (Beginner's All-Purpose Symbolic Instruction Code), oder alternativ dazu unter Verwendung von benutzerdefinierten oder proprietären Befehlssätzen codiert sein. Die Anweisungen können in Form einer oder mehrerer Computersoftwareanwendungen und/oder Applets bereitgestellt werden, die greifbar auf einer Speichereinrichtung umgesetzt sind und durch einen Computer mit einer beliebigen geeigneten Architektur ausgeführt werden können. Bei einer Ausführungsform kann das System auf einer gegebenen Webseite gehostet werden und zum Beispiel unter Verwendung von JavaScript oder einer anderen geeigneten browserbasierten Technologie implementiert werden. Bei gewissen Ausführungsformen kann das System beispielsweise Verarbeitungsressourcen, die durch ein über das Netzwerk 1194 zugängliches entferntes Computersystem bereitgestellt werden, wirksam einsetzen. Bei anderen Ausführungsformen können die hierin offenbarten Funktionalitäten in andere sprachunterstützte Einrichtungen und sprachbasierte Softwareanwendungen integriert werden, wie etwa zum Beispiel Kraftfahrzeugsteuerung/-navigation, Smart-Home-Verwaltung, Entertainment und Roboteranwendungen. Die hierin offenbarten Computersoftwareanwendungen können eine beliebige Anzahl unterschiedlicher Module, Untermodule oder anderer Komponenten mit verschiedener Funktionalität beinhalten und können noch anderen Komponenten Informationen bereitstellen oder Informationen von diesen empfangen. Diese Module können zum Beispiel zur Kommunikation mit Eingabe- und/oder Ausgabeeinrichtungen verwendet werden, wie etwa einem Anzeigebildschirm, einer berührungsempfindlichen Oberfläche, einem Drucker und/oder einer beliebigen anderen geeigneten Einrichtung. Andere Komponenten und Funktionalitäten, die in den Veranschaulichungen nicht widergespiegelt sind, werden hinsichtlich dieser Offenbarung ersichtlich, und es wird gewürdigt werden, dass andere Ausführungsformen nicht auf irgendeine spezielle Hardware- oder Softwarekonfiguration beschränkt sind. Somit kann die Plattform 1100 bei anderen Ausführungsformen zusätzliche, weniger oder alternative Teilkomponenten im Vergleich zu jenen, die in dem Ausführungsbeispiel von 11 enthalten sind, umfassen.
-
Das vorgenannte nichtflüchtige computerlesbare Medium kann ein beliebiges geeignetes Medium zur Speicherung von digitalen Informationen sein, wie etwa eine Festplatte, ein Server, ein Flash-Speicher und/oder Direktzugriffsspeicher (RAM) oder eine Kombination von Speichern. Bei alternativen Ausführungsformen können die hierin offenbarten Komponenten und/oder Module mit Hardware implementiert werden, einschließlich Logik auf Gate-Ebene, wie etwa einem feldprogrammierbaren Gate-Array (FPGA), oder alternativ einem zweckbestimmten Halbleiter, wie etwa einer anwendungsspezifischen integrierten Schaltung (ASIC: Application-Specific Integrated Circuit). Noch andere Ausführungsformen können mit einem Mikrocontroller implementiert werden, der eine Anzahl von Eingangs-/Ausgangsports zum Empfangen und Ausgeben von Daten und eine Anzahl von eingebetteten Routinen zum Ausführen der verschiedenen hierin offenbarten Funktionalitäten aufweist. Es versteht sich, dass eine beliebige geeignete Kombination von Hardware, Software und Firmware verwendet werden kann, und dass andere Ausführungsformen nicht auf irgendeine spezielle Systemarchitektur beschränkt sind.
-
Manche Ausführungsformen können zum Beispiel unter Verwendung eines maschinenlesbaren Mediums oder Artikels implementiert werden, das bzw. der eine Anweisung oder einen Satz von Anweisungen speichern kann, die bzw. der bei Ausführung durch eine Maschine bewirken kann, dass die Maschine ein Verfahren, einen Prozess und/oder Vorgänge gemäß den Ausführungsformen durchführt. Eine derartige Maschine kann zum Beispiel eine beliebige geeignete Verarbeitungsplattform, Rechenplattform, Recheneinrichtung, Verarbeitungseinrichtung, ein beliebiges geeignetes Rechensystem, Verarbeitungssystem, einen beliebigen geeigneten Computer, Prozess oder dergleichen beinhalten und kann unter Verwendung einer beliebigen geeigneten Kombination von Hardware und/oder Software implementiert werden. Das maschinenlesbare Medium oder der maschinenlesbare Artikel kann zum Beispiel einen beliebigen geeigneten Typ von Speichereinheit, Speichereinrichtung, Speicherartikel, Speichermedium, Speicherungseinrichtung, Speicherungsartikel, Speicherungsmedium und/oder Speicherungseinheit beinhalten, wie etwa Speicher, entfernbare oder nicht entfernbare Medien, löschbare oder nicht löschbare Medien, beschreibbare oder wiederbeschreibbare Medien, digitale oder analoge Medien, eine Festplatte, eine Diskette, eine CD-ROM (Compact Disk Read Only Memory), einen CD-R(Compact Disk Recordable)-Speicher, einen CD-RW(Compact Disk Rewritable)-Speicher, eine optische Platte, magnetische Medien, magnetooptische Medien, entfernbare Speicherkarten oder Platten, verschiedene Arten von DVD (Digital Versatile Disk), ein Band, eine Kassette oder dergleichen. Die Anweisungen können einen beliebigen geeigneten Typ von Code beinhalten, wie etwa Quellcode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, verschlüsselten Code und dergleichen, der unter Verwendung einer beliebigen geeigneten Programmiersprache hoher Ebene oder niedriger Ebene, objektorientierter, visueller, kompilierter und/oder interpretierter Programmiersprache implementiert wird.
-
Insofern nicht spezifisch anderweitig angegeben, kann gewürdigt werden, dass sich Begriffe, wie etwa „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ oder dergleichen auf die Handlung und/oder den Prozess eines Computers oder Rechensystems oder einer ähnlichen elektronischen Recheneinrichtung beziehen, der/die/das Daten, die als physische Größen (zum Beispiel Elektronik) in den Registern und/oder Speichereinheiten des Computersystems repräsentiert sind, manipuliert und/oder in andere Daten transformiert, die gleichermaßen als physische Entitäten in den Registern, Speichereinheiten oder einer anderen derartigen Informationsspeicherungsübertragung oder Anzeigen des Computersystems repräsentiert werden. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
-
Die Begriffe „Schaltung“ oder „Schaltkreis“, wie in einer beliebigen Ausführungsform hierin verwendet, sind funktionell und können zum Beispiel einzeln oder in einer beliebigen Kombination einen fest verdrahteten Schaltkreis, einen programmierbaren Schaltkreis, wie etwa Computerprozessoren, die eine oder mehrere individuelle Anweisungsverarbeitungskerne umfassen, einen Zustandsmaschinenschaltkreis und/oder Firmware, die durch einen programmierbaren Schaltkreis ausgeführte Anweisungen speichert, umfassen. Der Schaltkreis kann einen Prozessor und/oder eine Steuerung beinhalten, der bzw. die dazu ausgelegt ist, eine oder mehrere Anweisungen zum Durchführen eines oder mehrerer hierin beschriebener Vorgänge auszuführen. Die Anweisungen können zum Beispiel als eine Anwendung, Software, Firmware usw. umgesetzt sein, die dazu ausgelegt ist, zu bewirken, dass der Schaltkreis beliebige der vorgenannten Vorgänge durchführt. Software kann als ein Softwarepaket, Code, Anweisungen, Datensätze und/oder Daten, die auf einer computerlesbaren Speicherungseinrichtung aufgezeichnet sind, umgesetzt sein. Software kann umgesetzt oder implementiert sein, um eine beliebige Anzahl von Prozessen zu enthalten, und Prozesse können im Gegenzug umgesetzt oder implementiert sein, um eine beliebige Anzahl von Threads usw. auf eine hierarchische Weise zu enthalten. Firmware kann als Code, Anweisungen oder Befehlssätze und/oder Daten, die in Speichereinrichtungen fest codiert (z. B. beständig) sind, umgesetzt sein. Der Schaltkreis kann, zusammengefasst oder einzeln, als ein Schaltkreis umgesetzt sein, der einen Teil eines größeren Systems bildet, zum Beispiel eine integrierte Schaltung (IC: Integrated Circuit), eine anwendungsspezifische integrierte Schaltung (ASIC), ein System-auf-Chip (SoC), Desktop-Computer, Laptop-Computer, Tablet-Computer, Server, Smartphones usw. Andere Ausführungsformen können als Software implementiert werden, die durch eine programmierbare Steuereinrichtung ausgeführt wird. Bei derartigen Fällen wird beabsichtigt, dass die Begriffe „Schaltung“ oder „Schaltkreis“ eine Kombination von Software und Hardware beinhalten, wie etwa eine programmierbare Steuereinrichtung oder einen Prozessor, die bzw. der in der Lage ist, die Software auszuführen. Wie hierin beschrieben, können verschiedene Ausführungsformen unter Verwendung von Hardwareelementen, Softwareelementen oder einer beliebigen Kombination davon implementiert werden. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktivitäten und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikeinrichtungen (PLD: Programmable Logic Devices), Digitalsignalprozessoren (DSP), ein feldprogrammierbares Gate-Array (FPGA), Logikgatter, Register, eine Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter beinhalten.
-
Zahlreiche spezifische Einzelheiten sind hierin dargelegt worden, um ein ausführliches Verständnis der Ausführungsformen bereitzustellen. Ein Durchschnittsfachmann wird jedoch verstehen, dass die Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen sind wohlbekannte Vorgänge, Komponenten und Schaltungen nicht ausführlich beschrieben worden, sodass die Ausführungsformen nicht unklar gemacht werden. Es kann gewürdigt werden, dass die spezifischen hierin offenbarten strukturellen und funktionellen Einzelheiten repräsentativ sein können und nicht notwendigerweise den Schutzumfang der Ausführungsformen beschränken. Zusätzlich dazu ist zu verstehen, dass der in den angehängten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die spezifischen hierin beschriebenen Merkmale oder Handlungen beschränkt ist, obwohl der Gegenstand in einer für strukturelle Merkmale und/oder methodische Handlungen spezifischen Sprache beschrieben worden ist. Stattdessen werden die spezifischen hierin beschriebenen Merkmale und Handlungen als beispielhafte Formen zur Implementierung der Ansprüche offenbart.
-
Weitere Ausführungsbeispiele
-
Die folgenden Beispiele betreffen weitere Ausführungsformen, aus denen zahlreiche Permutationen und Konfigurationen ersichtlich werden.
-
Beispiel 1 ist mindestens ein nichtflüchtiges computerlesbares Speicherungsmedium mit darauf codierten Anweisungen, die bei Ausführung durch einen oder mehrere Prozessoren bewirken, dass ein Prozess zur Verbesserung eines Sprachsignals ausgeführt wird, wobei der Prozess Folgendes umfasst: Durchführen einer Enthallungs(DRV)-Verarbeitung an einem ersten und zweiten Signal, die von einem ersten bzw. zweiten Mikrofon empfangen werden, wobei das erste und zweite Signal jeweils eine Kombination von Sprache und Rauschen umfassen; Erzeugen einer ersten und zweiten Zeit-Frequenz-Maske (TFM), wobei sowohl die erste als auch zweite TFM mit einem entsprechenden des DRV-verarbeiteten ersten und zweiten Signals assoziiert ist, wobei sowohl die erste als auch zweite TFM Elemente umfasst, die eine Wahrscheinlichkeit angeben, dass eine Zeit-Frequenz-Komponente des mit diesem TFM-Element assoziierten DRV-verarbeiteten Signals Sprache enthält, wobei die TFM-Erzeugung auf einer Anwendung eines rekurrenten Neuronalnetzwerks (RNN) an dem DRV-verarbeiteten ersten und zweiten Signal basiert; Erzeugen von Lenkvektoren basierend auf Sprachkovarianzmatrizen und Rauschkovarianzmatrizen, wobei die erste und zweite TFM eingesetzt werden, um Sprachkomponenten des DRV-verarbeiteten ersten bzw. zweiten Signals zur Berechnung der Sprachkovarianzmatrizen zu filtern und Rauschkomponenten des DRV-verarbeiteten ersten und zweiten Signals zur Berechnung der Rauschkovarianzmatrizen zu filtern; und Durchführen einer Strahlformung an dem DRV-verarbeiteten ersten und zweiten Signal basierend auf den Lenkvektoren, um ein Einkanal-Sprachsignal zu erzeugen.
-
Beispiel 2 beinhaltet den Gegenstand des Beispiels 1, wobei der Prozess ferner Durchführen einer verbesserten minimumgesteuerten rekursiven Mittelung umfasst, um stationäre Rauschkomponenten des Einkanal-Sprachsignals zu reduzieren.
-
Beispiel 3 beinhaltet den Gegenstand der Beispiele 1 oder 2, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Beispiel 4 beinhaltet den Gegenstand eines der Beispiele 1-3, wobei die Strahlformung eine Strahlformung mit generalisiertem Eigenwert mit blind-analytischer Normierung einsetzt.
-
Beispiel 5 beinhaltet den Gegenstand eines der Beispiele 1-4, wobei das erste und zweite Signal von einem Fernfeld des ersten und zweiten Mikrofons empfangen werden.
-
Beispiel 6 beinhaltet den Gegenstand eines der Beispiele 1-5, wobei der Prozess ferner Bereitstellen des Einkanal-Sprachsignals an eine ASR(Automatische Spracherkennung)-Engine und/oder eine Schlüsselworterkennungsanwendung und/oder eine Wake-on-Voice(WoV)-Anwendung und/oder eine VOIP(Sprache-über-Internet-Protokoll)-Anwendung umfasst.
-
Beispiel 7 ist ein System zur Vorverarbeitung eines Sprachsignals, wobei das System Folgendes umfasst: eine Enthallungs(DRV)-Schaltung zum Durchführen einer DRV-Verarbeitung an mehreren Signalen, die von einem Array von Mikrofonen empfangen werden, wobei die Signale eine Kombination von Sprache und Rauschen umfassen; eine Zeit-Frequenz-Masken(TFM)-Schätzungsschaltung zum Erzeugen mehrerer TFMs, wobei jede der TFMs mit einem der DRV-verarbeiteten Signale assoziiert ist, die TFMs Elemente umfassen, die eine Wahrscheinlichkeit angeben, dass eine Zeit-Frequenz-Komponente des mit diesem TFM-Element assoziierten DRV-verarbeiteten Signals Sprache enthält, wobei die TFM-Erzeugung auf einer Anwendung eines rekurrenten Neuronalnetzwerks (RNN) an den DRV-verarbeiteten Signalen basiert; eine Strahlformungsschaltung zum Erzeugen von Lenkvektoren basierend auf Sprachkovarianzmatrizen und Rauschkovarianzmatrizen, wobei die TFMs eingesetzt werden, um Sprachkomponenten der DRV-verarbeiteten Signale zur Berechnung der Sprachkovarianzmatrizen zu filtern und Rauschkomponenten der DRV-verarbeiteten Signale zur Berechnung der Rauschkovarianzmatrizen zu filtern; und wobei die Strahlformungsschaltung ferner eine Strahlformung an den mehreren DRV-verarbeiteten Signalen basierend auf den Lenkvektoren durchführen soll, um ein Einkanal-Sprachsignal zu erzeugen.
-
Beispiel 8 beinhaltet den Gegenstand des Beispiels 7, ferner umfassend eine Nachfilterungsschaltung zum Durchführen einer verbesserten minimumgesteuerten rekursiven Mittelung, um stationäre Rauschkomponenten des Einkanal-Sprachsignals zu reduzieren.
-
Beispiel 9 beinhaltet den Gegenstand der Beispiele 7 oder 8, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Beispiel 10 beinhaltet den Gegenstand eines der Beispiele 7-9, wobei die Strahlformung eine Strahlformung mit generalisiertem Eigenwert mit blind-analytischer Normierung einsetzt.
-
Beispiel 11 beinhaltet den Gegenstand eines der Beispiele 7-10, wobei die mehreren empfangenen Signale von einem Fernfeld der Mikrofone empfangen werden.
-
Beispiel 12 beinhaltet den Gegenstand eines der Beispiele 7-12, wobei das Einkanal-Sprachsignal einer ASR(Automatische Spracherkennung)-Engine und/oder einer Schlüsselworterkennungsanwendung und/oder einer Wake-on-Voice(WoV)-Anwendung und/oder einer VOIP(Sprache-über-Internet-Protokoll)-Anwendung bereitgestellt wird.
-
Beispiel 13 ist mindestens ein nichtflüchtiges computerlesbares Speicherungsmedium mit darauf codierten Anweisungen, die bei Ausführung durch einen oder mehrere Prozessoren bewirken, dass ein Prozess zur Verbesserung eines Sprachsignals ausgeführt wird, wobei der Prozess Folgendes umfasst: Durchführen einer Enthallungs(DRV)-Verarbeitung an einem Signal, das von einem Mikrofon empfangen wird, wobei das Signal eine Kombination von Sprache und Rauschen umfasst; Erzeugen einer Zeit-Frequenz-Maske (TFM), die mit dem DRV-verarbeiteten Signal assoziiert ist, wobei die TFM Elemente umfasst, die eine Wahrscheinlichkeit angeben, dass eine Zeit-Frequenz-Komponente des mit diesem TFM-Element assoziierten DRV-verarbeiteten Signals Sprache enthält, wobei die TFM-Erzeugung auf einer Anwendung eines rekurrenten Neuronalnetzwerks (RNN) an dem DRV-verarbeiteten Signal basiert; und Durchführen einer Rauschminderung an dem DRV-verarbeiteten Signal, um ein verbessertes Sprachsignal zu erzeugen, wobei die Rauschminderung die TFM einsetzt, um zu filterndes Rauschen zu identifizieren.
-
Beispiel 14 beinhaltet den Gegenstand des Beispiels 13, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Beispiel 15 beinhaltet den Gegenstand der Beispiele 13 oder 14, wobei das empfangene Signal von einem Fernfeld des Mikrofons empfangen wird.
-
Beispiel 16 beinhaltet den Gegenstand eines der Beispiele 13-15, wobei der Prozess ferner Bereitstellen des verbesserten Sprachsignals an eine ASR(Automatische Spracherkennung)-Engine und/oder eine Schlüsselworterkennungsanwendung und/oder eine Wake-on-Voice(WoV)-Anwendung und/oder eine VOIP(Sprache-über-Internet-Protokoll)-Anwendung umfasst.
-
Beispiel 17 ist ein prozessorimplementiertes Verfahren zum Trainieren eines rekursiven Neuronalnetzwerks (RNN), um eine Zeit-Frequenz-Maske (TFM) zu erzeugen, wobei das Verfahren Folgendes umfasst: Auswählen, durch ein prozessorbasiertes System, einer klaren Sprachsignalprobe aus einer Sprachdatenbank; Auswählen, durch das prozessorbasierte System, eines Nachhallfilters aus einer Filterdatenbank; Auswählen, durch das prozessorbasierte System, einer Rauschsignalprobe aus einer Rauschdatenbank; Skalieren, durch das prozessorbasierte System, der Rauschsignalprobe basierend auf einem ausgewählten Rauschabstand (SNR); Anwenden, durch das prozessorbasierte System, des Nachhallfilters an der klaren Sprachsignalprobe und Addieren der skalierten Rauschsignalprobe zu dem Ergebnis der Nachhallfilteranwendung, um ein rauschbehaftetes Sprachsignal zu erzeugen; Erzeugen, durch das prozessorbasierte System, einer geschätzten TFM basierend auf einer Anwendung des RNN an Merkmalen, die aus dem rauschbehafteten Sprachsignal extrahiert werden; Erzeugen, durch das prozessorbasierte System, einer Ziel-TFM basierend auf einem Verhältnis von Merkmalen, die aus der klaren Sprachsignalprobe extrahiert werden, zu den Merkmalen, die aus dem rauschbehafteten Sprachsignal extrahiert werden; und Trainieren, durch das prozessorbasierte System, des RNN basierend auf einem berechneten Fehler zwischen der geschätzten TFM und der Ziel-TFM.
-
Beispiel 18 beinhaltet den Gegenstand des Beispiels 17, ferner umfassend Iterieren des Verfahrens zum Trainieren des RNN, um die TFM basierend auf zusätzlichen Auswahlen der klaren Sprachsignalprobe, des Nachhallfilters, der Rauschsignalprobe und des SNR zu erzeugen.
-
Beispiel 19 beinhaltet den Gegenstand der Beispiele 17 oder 18, wobei das Nachhallfilter Fernfeld-Umgebungseffekte an einem Signal, das durch ein Mikrofon im Fernfeld des Mikrofons aufgenommen wird, simulieren soll.
-
Beispiel 20 beinhaltet den Gegenstand eines der Beispiele 17-19, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Beispiel 21 ist ein System zur Verbesserung eines Sprachsignals, wobei das System Folgendes umfasst: Mittel zum Durchführen einer Enthallungs(DRV)-Verarbeitung an einem ersten und zweiten Signal, die von einem ersten bzw. zweiten Mikrofon empfangen werden, wobei das erste und zweite Signal jeweils eine Kombination von Sprache und Rauschen umfassen; Mittel zum Erzeugen einer ersten und zweiten Zeit-Frequenz-Maske (TFM), wobei sowohl die erste als auch zweite TFM mit einem entsprechenden des DRV-verarbeiteten ersten und zweiten Signals assoziiert ist, wobei sowohl die erste als auch zweite TFM Elemente umfasst, die eine Wahrscheinlichkeit angeben, dass eine Zeit-Frequenz-Komponente des mit diesem TFM-Element assoziierten DRV-verarbeiteten Signals Sprache enthält, wobei die TFM-Erzeugung auf einer Anwendung eines rekurrenten Neuronalnetzwerks (RNN) an dem DRV-verarbeiteten ersten und zweiten Signal basiert; Mittel zum Erzeugen von Lenkvektoren basierend auf Sprachkovarianzmatrizen und Rauschkovarianzmatrizen, wobei die erste und zweite TFM eingesetzt werden, um Sprachkomponenten des DRV-verarbeiteten ersten bzw. zweiten Signals zur Berechnung der Sprachkovarianzmatrizen zu filtern und Rauschkomponenten des DRV-verarbeiteten ersten und zweiten Signals zur Berechnung der Rauschkovarianzmatrizen zu filtern; und Mittel zum Durchführen einer Strahlformung an dem DRV-verarbeiteten ersten und zweiten Signal basierend auf den Lenkvektoren, um ein Einkanal-Sprachsignal zu erzeugen.
-
Beispiel 22 beinhaltet den Gegenstand des Beispiels 21, wobei das System ferner Mittel zum Durchführen einer verbesserten minimumgesteuerten rekursiven Mittelung umfasst, um stationäre Rauschkomponenten des Einkanal-Sprachsignals zu reduzieren.
-
Beispiel 23 beinhaltet den Gegenstand der Beispiel 21 oder 22, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Beispiel 24 beinhaltet den Gegenstand eines der Beispiele 21-23, wobei die Strahlformung eine Strahlformung mit generalisiertem Eigenwert mit blind-analytischer Normierung einsetzt.
-
Beispiel 25 beinhaltet den Gegenstand eines der Beispiele 21-24, wobei das erste und zweite Signal von einem Fernfeld des ersten und zweiten Mikrofons empfangen werden.
-
Beispiel 26 beinhaltet den Gegenstand eines der Beispiele 21-25, wobei das System ferner Mittel zum Bereitstellen des Einkanal-Sprachsignals an eine ASR(Automatische Spracherkennung)-Engine und/oder eine Schlüsselworterkennungsanwendung und/oder eine Wake-on-Voice(WoV)-Anwendung und/oder eine VOIP(Sprache-über-Internet-Protokoll)-Anwendung umfasst.
-
Beispiel 27 ist ein System zur Verbesserung eines Sprachsignals, wobei das System Folgendes umfasst: Mittel zum Durchführen einer Enthallungs(DRV)-Verarbeitung an einem Signal, das von einem Mikrofon empfangen wird, wobei das Signal eine Kombination von Sprache und Rauschen umfasst; Mittel zum Erzeugen einer Zeit-Frequenz-Maske (TFM), die mit dem DRV-verarbeiteten Signal assoziiert ist, wobei die TFM Elemente umfasst, die eine Wahrscheinlichkeit angeben, dass eine Zeit-Frequenz-Komponente des mit diesem TFM-Element assoziierten DRV-verarbeiteten Signals Sprache enthält, wobei die TFM-Erzeugung auf einer Anwendung eines rekurrenten Neuronalnetzwerks (RNN) an dem DRV-verarbeiteten Signal basiert; und Mittel zum Durchführen einer Rauschminderung an dem DRV-verarbeiteten Signal, um ein verbessertes Sprachsignal zu erzeugen, wobei die Rauschminderung die TFM einsetzt, um zu filterndes Rauschen zu identifizieren.
-
Beispiel 28 beinhaltet den Gegenstand des Beispiels 27, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Beispiel 29 beinhaltet den Gegenstand der Beispiele 27 oder 28, wobei das empfangene Signal von einem Fernfeld des Mikrofons empfangen wird.
-
Beispiel 30 beinhaltet den Gegenstand eines der Beispiele 27-29, wobei der Prozess ferner Mittel zum Bereitstellen des verbesserten Sprachsignals an eine ASR(Automatische Spracherkennung)-Engine und/oder eine Schlüsselworterkennungsanwendung und/oder eine Wake-on-Voice(WoV)-Anwendung und/oder eine VOIP(Sprache-über-Internet-Protokoll)-Anwendung umfasst.
-
Beispiel 31 ist ein System zum Trainieren eines rekursiven Neuronalnetzwerks (RNN), um eine Zeit-Frequenz-Maske (TFM) zu erzeugen, wobei das System Folgendes umfasst: Mittel zum Auswählen einer klaren Sprachsignalprobe aus einer Sprachdatenbank; Mittel zum Auswählen eines Nachhallfilters aus einer Filterdatenbank; Mittel zum Auswählen einer Rauschsignalprobe aus einer Rauschdatenbank; Mittel zum Skalieren der Rauschsignalprobe basierend auf einem ausgewählten Rauschabstand (SNR); Mittel zum Anwenden des Nachhallfilters an der klaren Sprachsignalprobe und Addieren der skalierten Rauschsignalprobe zu dem Ergebnis der Nachhallfilteranwendung, um ein rauschbehaftetes Sprachsignal zu erzeugen; Mittel zum Erzeugen einer geschätzten TFM basierend auf einer Anwendung des RNN an Merkmalen, die aus dem rauschbehafteten Sprachsignal extrahiert werden; Mittel zum Erzeugen einer Ziel-TFM basierend auf einem Verhältnis von Merkmalen, die aus der klaren Sprachsignalprobe extrahiert werden, zu den Merkmalen, die aus dem rauschbehafteten Sprachsignal extrahiert werden; und Mittel Zum Trainieren des RNN basierend auf einem berechneten Fehler zwischen der geschätzten TFM und der Ziel-TFM.
-
Beispiel 32 beinhaltet den Gegenstand des Beispiels 31, ferner umfassend Mittel zum Iterieren des Verfahrens zum Trainieren des RNN, um die TFM basierend auf zusätzlichen Auswahlen der klaren Sprachsignalprobe, des Nachhallfilters, der Rauschsignalprobe und des SNR zu erzeugen.
-
Beispiel 33 beinhaltet den Gegenstand der Beispiele 31 oder 32, wobei das Nachhallfilter Fernfeld-Umgebungseffekte an einem Signal, das durch ein Mikrofon im Fernfeld des Mikrofons aufgenommen wird, simulieren soll.
-
Beispiel 34 beinhaltet den Gegenstand eines der Beispiele 31-33, wobei das RNN eine erste affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine zweite affine Schicht mit einer Tangens-Hyperbolicus-Aktivierungsfunktion, eine dritte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion, eine vierte LSTM(langes Kurzzeitgedächtnis)-Schicht mit einer Sigmoid-Aktivierungsfunktion und eine fünfte affine Schicht mit einer Sigmoid-Aktivierungsfunktion umfasst.
-
Die Begriffe und Ausdrücke, die hierin eingesetzt worden sind, werden als Begriffe der Beschreibung und nicht der Beschränkung verwendet, und es wird durch die Verwendung derartiger Begriffe und Ausdrücke nicht beabsichtigt, dass irgendwelche Äquivalente der dargestellten und beschriebenen Merkmale (oder von Teilen davon) ausgeschlossen werden, und es wird erkannt, dass verschiedene Modifikationen im Schutzumfang der Ansprüche möglich sind. Dementsprechend wird beabsichtigt, dass die Ansprüche alle derartigen Äquivalente abdecken. Verschiedene Merkmale, Aspekte und Ausführungsformen sind hierin beschrieben worden. Die Merkmale, Aspekte und Ausführungsformen können einer gegenseitigen Kombination sowie einer Variationen und Modifikation unterzogen werden, wie Fachleute verstehen werden. Die vorliegende Offenbarung sollte daher so angesehen werden, dass sie derartige Kombinationen, Variationen und Modifikationen einschließt. Es wird beabsichtigt, dass der Schutzumfang der vorliegenden Offenbarung nicht durch diese ausführliche Beschreibung, sondern stattdessen durch die hier angehängten Ansprüche beschränkt wird. Zukünftig eingereichte Anmeldungen, die die Priorität auf diese Anmeldung beanspruchen, können den offenbarten Gegenstand auf eine andere Art und Weise beanspruchen und können allgemein einen beliebigen Satz eines oder mehrerer Elemente, wie hierin verschiedenartig offenbart oder anderweitig dargelegt, beinhalten.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-