-
ERFINDUNGSGEBIET
-
Die
vorliegende Erfindung betrifft das Gebiet der Telekommunikation.
Insbesondere betrifft die vorliegende Erfindung das Bestimmen eines
Grundrauschens und Detektieren von Sprachaktivität in einem Audiosignal.
-
ALLGEMEINER
STAND DER TECHNIK
-
Fortschritte
in der Telekommunikationstechnologie verbessern ständig die
Art und Weise, auf die Menschen geschäftliche und persönliche Kommunikationen
ausführen.
Zu solchen Fortschritten gehören
Verbesserungen bei Videokonferenzen, eine erhöhte Verfügbarkeit von ISDN-Verbindungen
und Computernetzwerken und Verbesserungen des normalen Telefondiensts.
Diese technologischen Fortschritte stellen hinsichtlich des Aufbaus
viele Herausforderungen. Viele Telekommunikationssysteme erfordern
beispielsweise eine Lösung
zur Unterscheidung zwischen Sprache und Rauschen in einem Audiosignal;
eine Einrichtung, die diese Funktion ausführt, wurde als Stimmaktivitätsdetektor
(VAD) bezeichnet.
-
Eine
Anwendung für
ein VAD besteht in einem Halbduplex-Audiokommunikationssystem, welches bei „offener
Audio"-Telekonferenz
oder Telekonferenz mit Freisprechen verwendet wird. Halbduplex-Übertragung
ist eine Übertragung,
die zu einem gegebenen Zeitpunkt nur in einer Richtung erfolgt. Daher
ist es in solchen Systemen übliche
Praxis, das Mikrofon an einer gegebenen Einrichtung vorübergehend
zu deaktivieren, während
diese Einrichtung eine Übertragung
empfängt,
und den Lautsprecher an einer Einrichtung stummzuschalten, um Audiofeedback
zu entfernen, welches von der entfernten Einrichtung empfangen wird.
Zur Implementation dieser Funktionen kann daher ein VAD notwendig
sein, um das Vorhandensein von Sprache sowohl in dem von einer entfernten
Stelle empfangenen Audiosignal, als auch in dem an die entfernte
Einrichtung zu sendenden Audiosignal zu detektieren. Ein VAD kann auch
verwendet werden, um einen Echo-Unterdrückungs-Algorithmus zu signalisieren
und zwischen „stimmhafter" Sprache und „nicht
stimmhafter" Sprache
zu unterscheiden, sowie in vielen anderen Aspekten der Audiokommunikation.
-
Einige
bestehende VAD verwenden die Kommunikationsstrecke selbst, um Sprachaktivität zu detektieren.
Bestimmte Daten können
beispielsweise einem VAD an einem Ende der Strecke bereitgestellt werden,
indem sie per „Huckepackverfahren" auf anderen Audiodaten,
die von dem anderen Ende gesendet werden, transportiert werden.
Ein VAD, der beim Detektieren von Sprache von einer entfernten Stelle
abhängt,
ist jedoch aus verschiedenen Gründen
nicht wünschenswert.
Außerdem
weisen einige bestehende VAD ein unerwünscht langsames Ansprechverhalten
auf, klassifizieren Sprache häufig falsch
oder erfordern übermäßige Verarbeitungszeit.
-
Ein
weiteres Problem hinsichtlich des Aufbaus bezieht sich auf die Verwendung
von Headsets zur Implementation geschlossener Audiomikrofone und
Lautsprecher bei Videokonferenzen. Es sind Videokonferenzsoftwareanwendungen
verfügbar,
welche allgemein sowohl Audio- als auch visuelle Kommunikation zwischen
dem Nutzer eines Personal Computers und dem Nutzer eines anderen
Personal Computers über
ISDN-Leitungen, LAN oder andere Kanäle gestatten. Eine solche Anwendung
ist das ProShareTM Personal Conferencing
Video System, das von der Firma Intel, Santa Clara, Kalifornien, USA,
entwickelt wurde. Einige Videokonferenzanwendungen werden derart
vorkalibriert verkauft, dass sie ein oder mehrere bestimmte Headsetmodelle
unterstützen.
Diese Vorkalibrierung kann dadurch erfolgen, dass auf die entsprechenden
Hardwareeinstellungen bezogene Daten, beispielsweise die Verstärkung der
Mikrofoneingabe, in den Softwarecode aufgenommen werden. Wünscht der
Nutzer jedoch die Verwendung eines nicht unterstützten Headsets, muß er oder
sie im Allgemeinen die Videokonferenzanwendung verlassen und in
das Betriebssystem gehen, um die Hardwareeinstellungen anzupassen.
Dabei muß der
Nutzer die optimalen Hardwareeintellungen im Wesentlichen erraten
und die Einstellungen oftmals per Versuch-und-Irrtum neu anpassen,
um die optimalen Einstellun gen zu erzielen. Bestehende Lösungen zur
Hardwarekalibration bieten daher mit Blick auf die Fähigkeit,
verschiedene Headsets zu unterstützen,
wenig Flexibilität.
-
In
Anbetracht dieser und anderer Probleme hinsichtlich des Aufbaus
ist daher ein VAD wünschenswert,
der unabhängig
von der entfernten Stelle betrieben wird. Es ist ferner wünschenswert,
dass ein solcher VAD eine hohe Genauigkeit (seltene Fehlklassifizierungen),
schnelle Ansprechzeit, Anpassung an das fluktuierende Signal-zu-Rausch-Verhältnis der
entfernten Stelle und gleichmäßige Halbduplex-Leistung,
wenn der entfernte Nutzer zwischen offenen und geschlossenen Audiomoden übergeht, aufweist.
Außerdem
ist es wünschenswert,
einen VAD bereitzustellen, der direkt von einer Hardwarekalibrationslösung verwendet
werden kann. Schließlich
ist eine Hardwarekalibrationslösung
wünschenswert,
die die Hardwareeinstellung automatisch so anpaßt, dass sie für jedes
Headset, welches ein Nutzer zu verwenden wünscht, geeignet ist.
-
Weitere
Beispiele von Anordnungen aus dem Stand der Technik werden beschrieben
in
US 5,239,574 ,
US 4,630,304 und IBM Technical
Disclosure Bulletin, Bd. 22, Nr. 7, JOHNSON, R. J. et al. „Speech
Detector", Seiten
2624 bis 2625, XP 002047894.
-
KURZE DARSTELLUNG DER
ERFINDUNG
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zum Auffinden eines Grundrauschens
zum Qualifizieren eines Signals, wie in Anspruch 1 dargelegt, bereitgestellt.
-
Gemäß der vorliegenden
Erfindung wird auch eine Einrichtung zum Bestimmen, ob in einem Audiosignal
Stimme vorhanden ist, wie in Anspruch 5 dargelegt, bereitgestellt.
-
Ferner
wird gemäß der vorliegenden
Erfindung ein Computersystem bereitgestellt, welches die Fähigkeit
für die
Duplex-Audiokommunikation
mit einer entfernten Einrichtung aufweist, wie in Anspruch 9 dargelegt.
-
Weitere
Merkmale der vorliegenden Erfindung werden aus den beigefügten Zeichnungen
und der folgenden ausführlichen
Beschreibung ersichtlich.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
vorliegende Erfindung wird beispielhaft und nicht einschränkend in
den Figuren der beigefügten
Zeichnungen veranschaulicht, in denen ähnliche Bezugszahlen ähnliche
Elemente anzeigen und in denen:
-
1 ein
Computersystem zeigt, in dem die vorliegende Erfindung implementiert
werden kann.
-
2 den
Datenstrom zeigt, der mit der Sprachdetektion und der automatischen
Kalibration eines Mikrofons in einem Computersystem, welches Halbduplex-Audiokommunikation
verwendet.
-
3 eine
Wellenform eines Audiosignals mit Sprachaktivität zeigt.
-
4A und 4B die
Funktion eines Stimmaktivitätsdetektors
(VAD) zeigen.
-
4C ein
Blockdiagramm eines Stimmaktivitätsdetektors
ist.
-
5 ein
Ablaufdiagramm ist, das die Gesamtfunktionsweise eines Stimmaktivitätsdetektors zeigt.
-
6 eine
Rausch-Leistungsdichte-Funktion zeigt.
-
7 ein
Ablaufdiagramm ist, das einen Prozeß zum Bestimmen und Aktualisieren
eines Grundrauschens veranschaulicht.
-
8 einen
Ansatz aus dem Stand der Technik zum Berechnen der Standardabweichung
der Energie eines Eingabeaudiosignals zeigt.
-
9A einen
Ansatz zum Berechnen der Standardabweichung eines Audiosignals gemäß der vorliegenden
Erfindung zeigt.
-
9B eine
Kurve der Standardabweichung eines Eingabesignals über die
Zeit zeigt.
-
10 eine
Wellenform eines Eingabeaudiosignals und eine Kurve der mittleren
Spitze des Eingabeaudiosignals zeigt.
-
11 ein
Ablaufdiagramm ist, das den Prozeß der Berechnung eines mittleren
Spitzenwerts eines Eingabeaudiosignals zeigt.
-
12 ein
Ablaufdiagramm ist, das den Prozeß zum Bestimmen, ob ein Eingabesignal
nur Rauschen enthält,
und zum Aktualisieren einer Rausch-Leistungsdichte-Funktion, veranschaulicht.
-
13 eine
Wellenform eines Eingabeaudiosignals zeigt, welche einen Vergleich
des beim Berechnen der mittleren Energie, der Standardabweichung
und eines mittleren Spitzenwerts des Eingabeaudiosignals zeigt.
-
14 ein
Ablaufdiagramm ist, das einen Prozeß zum Bestimmen, ob Sprache
in einem Eingabeaudiosignal vorhanden ist, zeigt.
-
15 eine
Leistungsdichte-Funktion eines Eingabeaudiosignals zeigt, welches
Rauschenergie und Sprachenergie enthält.
-
16 ein
Ablaufdiagramm ist, das einen Prozeß zum automatischen Kalibrieren
eines Mikrofons eines Headsets zeigt.
-
17 ein
Ablaufdiagramm ist, das einen Prozeß zum Entfernen fehlerhafter
Daten während der
automatischen Kalibrierung eines Mikrofons zeigt.
-
18A und 18B Prozesse
zum Anpassen von Hardwareeinstellungen während der automatischen Kalibrierung
eines Mikrofons zeigen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es
werden ein Verfahren und eine Einrichtung zum Bestimmen eines Grundrauschens
und zum Detektieren von Sprachaktivität in einem Audiosignal beschrieben.
In der folgenden Beschreibung werden zu Erläuterungszwecken zahlreiche
spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der
Erfindung bereitzustellen. Einem Fachmann wird jedoch klar sein,
dass die vorliegende Erfindung ohne die spezifischen Einzelheiten
ausgeführt
werden kann. In anderen Fällen
werden wohlbekannte Strukturen und Vorrichtungen im Blockdiagramm
gezeigt, um zu vermeiden, das Verständnis der Erfindung unnötig zu erschweren.
-
Die
vorliegende Erfindung wird in einem Computersystem 1 implementiert,
welches sich über einen
Audiokanal 95, wie in 1 gezeigt,
mit mindestens einem anderen Computersystem in Halbduplex-Audiokommunikation
befindet. Bei dem Audiokanal 95 kann es sich um eine ISDN-(Integrated
Services Digital Network)-Verbindung oder ein lokales Netzwerk (LAN)
eines Standardcomputers oder ein analoges Telefonsystem handeln.
Das Computersystem 1 enthält eine zentrale Verarbeitungseinheit 10, eine
Diskettenspeichereinrichtung 20, eine Tastatur 30,
einen Speicher 40, ein Audio-Eingabe/Ausgabe-(E/A)-Subsystem 50,
eine Cursorsteuereinrichtung 60, eine Anzeige 70,
ein Video-E/A-Subsystem 80, das Eingaben von einer Videokamera 85 empfängt, und
eine Schnittstelleneinrichtung 90, wie beispielsweise ein
Modem, das eine Schnittstelle zwischen einem Computersystem 1 und
dem Audiokanal 95 bereitstellt. In der offenen Audiokommunikation
ist das Audio-E/A-Subsystem 50 mit einem Lautsprecher 52 und
einem Mikrofon 53 und in der geschlossenen Audiokommunikation
mit einem Headset 51 mit einem Lautsprecher und einem Mikrofon gekoppelt.
Bei der Cursor-Steuereinrichtung 60 kann es
sich um eine Maus, einen Trackball, einen Lichtstift, eine Stift-/Grafiktabelle
oder eine andere ähnliche
Einrichtung handeln. Die Diskettenspeichereinrichtung 20 kann
eine magnetische Diskette, CD-ROM oder eine andere alternative Datenspeichereinrichtung
sein.
-
2 zeigt
den mit dem Betrieb der vorliegenden Erfindung assoziierten Datenstrom.
Die vorliegende Erfindung ist einem Stimmaktivitätsdetektor-(VAD)-Empfangskanal 210,
einem VAD-Sendekanal 211 und einem Autokalibrator 230 implementiert,
die jeweils in Software, die im Speicher 40 oder auf der
Diskettenspeichervorrichtung 20 oder in einem äquivalenten
Speicher gespeichert ist, implementiert sein können. In 2 werden
komprimierte Audiodaten von dem Computersystem 1 von dem Audiokanal 95 empfangen
und in die Dekomprimierungseinheit 220 eingegeben. Das
Signal AUDIO RX, welches dekomprimierte Audiodaten enthält, wird
dann von der Dekomprimierungseinheit 220 an den Halbduplex-Empfangskanal 200 und
den VAD-Empfangskanal 210 ausgegeben. Die Energie E des
Signals AUDIO RX weist eine Wellenform auf, die ähnlich der in 3 dargestellten
ist. In 3 wird der Abschnitt 301 der
Wellenform, welcher ein Grundrauschen NF übersteigt, als Sprachenergie
betrachtet, wohingegen der Abschnitt 302 der Wellenform,
welcher das Grundrauschen NF nicht übersteigt, nur als Rauschenergie
betrachtet wird. Der VAD-Empfangskanal 210 empfängt Signal
AUDIO RX als Eingabe und erzeugt eine Ausgabe RXO an den Halbduplex-Empfangskanal 200,
welche anzeigt, ob das Signal AUDIO RX zu einem beliebigen gegebenen
Zeitpunkt Sprache enthält
oder nicht.
-
Der
Halbduplex-Empfangskanal 200 leitet das Signal AUDIO RX
abhängig
von der Ausgabe RXO des VAD-Empfangskanals 210 selektiv
an die Audio-Frontende-Ausgabeschaltung 252 weiter. An die
Audio-Frontende-Ausgabeschaltung 252 weitergeleitete Audiodaten
werden verarbeitet und an den Lautsprecher 52 gesendet.
Unter Bezugnahme nun auf 4A, zeigt
der VAD-Empfangskanal 210 dem Halbduplex-Empfangskanal 200 in
Schritt 401 an, dass Sprache in dem Signal AUDIO RX vorhanden ist,
dann kommuniziert der Halbduplex-Empfangskanal 200 mit
dem Halbduplex-Sendekanal 201, um zu bewirken, dass das
Mikrofon 53 in Schritt 402 stummgeschaltet wird.
Das Mikrofon 53 bleibt stummgeschaltet, bis in dem Signal
AUDIO RX nicht länger Sprache
detektiert wird.
-
Unter
Bezugnahme wiederum auf 2 wird über den Audiokanal 95 zu
sendender Ton entweder über
das Mikrofon des Headsets 51 oder über das offene Audiomikrofon 53 von
einem Nutzer in die Audio-Frontende-Eingabeschaltung 253 eingegeben, welche
das Signal AUDIO TX ausgibt. Die Energie E des Signals AUDIO TX
weist wie beim Signal AUDIO RX eine Form auf, die ähnlich der
in 3 dargestellten ist. Das Signal AUDIO TX wird
dem VAD-Sendekanal 211 und dem Halbduplex-Sendekanal 201 bereitgestellt.
Der Halbduplexkanal 201 leitet das Signal AUDIO TX abhängig von
einer von dem VAD-Sendekanal 211 empfangenen Eingabe TXO, die
anzeigt, ob in dem Signal AUDIO TX Sprache vorhanden ist oder nicht,
selektiv an die Kompressionseinheit 222 zur Sendung über den
Audiokanal 95 weiter. Wenn Halbduplex-Sendekanal 201 in
Schritt 404 eine Eingabe TXO von VAD-Sendekanal 211 empfängt, welche
anzeigt, dass in dem Signal AUDIO TX Sprache vorhanden ist, dann
kommuniziert der Halbduplex-Sendekanal 201 mit dem Halbduplex-Empfangskanal 200,
um zu bewirken, dass der Halbduplex-Empfangskanal 200 in
Schritt 405 den Lautsprecher 52 stummschaltet,
wie in 4B gezeigt. Der Lautsprecher 52 bleibt
stummgeschaltet, bis in dem Signal AUDIO TX nicht länger Sprache
detektiert wird.
-
In
Reaktion auf eine Nutzereingabe, die auf eine nicht von der besonderen
Marke oder dem Modell des Headsets 51 abhängende Weise über eine klassische
Nutzerschnittstelle (GUI) 240 eingegeben wird, kalibriert
der Autokalibrator 230 das Headset 51 automatisch,
wie in 2 gezeigt. Der Autokalibrator 230 empfängt eine
Nutzereingabe UI von der GUI 240 und das Signal TXO von
dem VAD-Sendekanal 211. Der Autokalibrator 230 gibt
ein erstes Kalibrationssignal CAL1 an die Audio-Frontend-Eingabeschaltung 253 und
ein zweites Kalibrationssignal CAL2 an den Speicher 40 und
die Diskettenspeichereinrichtung 20 aus. Das Signal CAL1
wird verwendet, um die Audiofrontendeingabeschaltung 253 zu kalibrieren,
und das Signal CAL2 wird verwendet, um die geeigneten Hardwareeinstellungen
auf die Diskettenspeichervorrichtung 20 oder in den Speicher 40 zu
speichern.
-
Obwohl
der VAD-Empfangskanal 210 und der VAD-Sendekanal 211 bisher
getrennt veranschaulicht und beschrieben worden sind, führen sie im
Wesentlichen identische Funktionen aus und werden im Folgenden durch
den in 4C gezeigten VAD 410 austauschbar
veranschaulicht. Der VAD 410 empfängt ein Eingabeaudiosignal
AUDIN, welches entweder Signal AUDIO RX oder Signal AUDIO TX wiedergibt,
und gibt ein Signal VADOUT aus, welches entweder Signal RXO oder
Signal TXO wiedergibt und welches anzeigt, ob in dem Eingabesignal AUDIN
Sprache vorhanden ist. Unter Bezugnahme nun auf 5 wird
ein Ablaufdiagramm gezeigt, das die Gesamtfunktion des VAD 410 zeigt.
Die Funktion des VAD 410 besteht allgemein aus zwei Schritten.
In Schritt 501 wird ein Grundrauschen NF bestimmt. Als nächstes bestimmt
in Schritt 502 der VRD 410, basierend auf der
Beziehung des Eingabesignals AUDIN zu dem Grundrauschen NF, ob Sprache
in dem Eingabesignal AUDIN vorhanden ist. In der bevorzugten Ausführungsform
werden die Schritte 501 und 502 jeweils einmal
alle 20 Millisekunden (ms) wiederholt.
-
Der
VAD 410 berechnet das Grundrauschen NF beim Bestimmen,
ob Sprache in dem Eingabesignal vorhanden ist, kontinuierlich neu,
wie später ausführlicher
beschrieben werden wird. Das Grundrauschen wird basierend auf einer Rausch-Leistungsdichte-Funktion NPDF generiert, welche
durch den VAD 410 erzeugt und aktualisiert wird. Der Energiepegel
des Grundrauschens basiert auf einem aktuellen Zustand der NPDF
zu einem gegebenen Zeitpunkt. Ein Beispiel einer NPDF wird in 6 dargestellt.
Das Grundrauschen NF wird als der Mittelenergiewert der NPDF genommen,
das heißt
der Mittelrauschenergiepegel (MNEL) zuzüglich eines Grenzwerts MV.
In der bevorzugten Ausführungsform
wird das Eingabesignal AUDIN bei einer Rate von 8 kHz von dem VAD 410 abgetastet
und die NPDF wird alle 20 ms aktualisiert. Folglich wird das Eingabesignal
AUDIN in einem Zeitintervall von 200 ms 160 Mal abgetastet.
-
Zur
Aktualisierung der NPDF verwendet der VAD 410 sowohl die
Standardabweichung der Energie des Eingabesignals über eine
Zeitperiode als auch den aktuellen Energiepegel des Eingabesignals an
einem bestimmten Zeitpunkt. Zur Erzeugung jedes neuen Werts der
Standardabweichung wird beim Sammeln von Abtastwerten der Energie
des Eingabesignals wird ein „gleitendes
Zeitfenster" verwendet.
Das heißt,
jeder berechnete Wert der Standardabweichung SD basiert auf einer
Abtastperiode, welche mindestens eine vorherige Abtastperiode überlappt,
wie in 9A gezeigt und im Folgenden
weiter erörtert
wird. In der bevorzugten Ausführungsform wird
zur Erzeugung jedes Standardabweichungswerts SD eine Abtastperiode
von 500 ms verwendet. Diese Periode von 500 ms wird alle 20 ms aktualisiert,
um eine schnelle Ansprechzeit des VAD 410 zu erzielen.
Da solche kurzen Zeitperioden verwendet werden, wird der aktuelle
Energiepegel E im Vergleich zu einer Einhüllenden des Eingabesignals
AUDIN untersucht, als ein Mittel, die Genauigkeit beim Aktualisieren
des Grundrauschens NF zu erhöhen, das
heißt,
die Anzahl von Vorkommen zu verringern, wenn eine geringe Standardabweichung
von Sprache inkorrekt als Rauschen interpretiert wird. In der bevorzugten
Ausführungsform
ist die einhüllende des Eingabesignals
ein mittlerer Spitzenwert AP des Eingabesignals AUDIN über ein
Zeitfenster von zwei Sekunden.
-
Unter
Bezugnahme nun auf 7 wird der Prozeß des Bestimmens
und Aktualisierens des Grundrauschens NF (Schritt 501)
ausführlicher
dargestellt. Der Prozeß besteht
aus Schritten 701 bis 705. Wie oben erwähnt ist
die Gesamtfunktion des VAD 410 ein Prozeß, der alle
20 ms wiederholt wird. In der Folge wird jeder der Schritte 701 bis 705 alle 20
ms einmal ausgeführt.
Der VAD 410 tastet das Eingabesignal AUDIN bei einer Rate
von 8 kHz oder 160 Abtastwerten für jede Wiederholung von 20
Sekunden ab. Für
jeden Abtastwert wird der Energiepegel jedes Eingabesignals AUDIN
bestimmt. In Schritt 701 wird die mittlere Energie EAVG aller Abtastwerte, die während der
letzten 20 ms auftreten, berechnet. In Schritt 702 wird
die Standardabweichung SD für alle
Werte der mittleren Energie EAVG, die während der
letzten 500 ms berechnet wurden, berechnet. In Schritt 703 wird
mittlere Spitzenwert AP des Eingabesignals AUDIN berechnet. In Schritt 704 trifft
der VAD eine vorläufige
Entscheidung, ob das Eingabesignal nur Rauschen oder Sprache enthält. Diese
vorläufige Entscheidung
erfolgt jedoch nur für
die Zwecke des Aktualisierens des Grundrauschens NF und nicht für den Zweck,
eine endgültige
Bestimmung darüber
zu treffen, ob in dem Eingabesignals AUDIN Sprache vorhanden ist.
In Schritt 705 wird die NPDF aktualisiert, wenn das Ergebnis
der vorläufigen
Bestimmung war, dass in dem Eingabesignal nur Rauschen vorhanden
ist (Schritt 704). Wenn bestimmt wird, dass nicht nur Rauschen
vorhanden ist, wird die NPDF nicht aktualisiert. In Schritt 704 wird
eine Zeitabklingfunktion an die NPDF angelegt, um nicht signifikante
Datenpunkte zu eliminieren. Dieser Schritt besteht aus dem Multiplizieren
der gesamten NPDF-Kurve mit einem Wert von 0,99990, was zu ungefähr einem
halben Prozent pro Sekunde Abklingen in einer Stelle (Energiewert)
der NPDF führt.
Der Effekt dieses zeitlichen Abklingens ist, dass weniger häufig auftretende
Energiewerte schließlich
aus der NPDF verschwinden werden oder die NPDF weniger beeinflussen
als jene, die häufiger
auftreten. In Schritt 707 wird das Grundrauschen NF als
der mittlere Ener giepegel der NF zuzüglich eines Grenzwerts NF berechnet,
das heißt,
das Grundrauschen NF ist gleich dem mittleren Rauschenergiepegel (MNEL)
zuzüglich
des Grenzwerts MV (siehe 6). In der bevorzugten Ausführungsform
beträgt
der Grenzwert MV 6 dB, dieser Wert kann jedoch angepaßt werden,
um erwünschte
Leistungsmerkmale zu erzielen.
-
Wie
oben erwähnt,
wird das Grundrauschen NF basierend teilweise auf der Standardabweichung SD
von Abtastwerten der mittleren Energie E
AVG des Eingabesignals
AUDIN aktualisiert. Insbesondere zeigt während eines gegebenen Zeitintervalls
eine geringe Standardabweichung SD in der Regel ein Mangel an Sprachaktivität (nur Rauschen
in dem Eingabesignal AUDIN) an, wobei angenommen wird, dass die
Dauer des Abtastfensters lang genug ist. Im Gegensatz dazu zeigt
eine hohe Standardabweichung in der Signalenergie an, dass Sprachaktivität in dem
Eingabesignal vorhanden ist. Die Standardabweichung SD wird nach
der folgenden Formel berechnet:
wobei E
i Werte
der mittleren Energie E
AVG darstellt.
-
Alle 20 ms
wird für
den Zweck des Aktualisierens der NPDF ein neuer Standardabweichungswert SD
berechnet. Die Standardabweichung SD wird für alle innerhalb der letzten
0,5 Sekunden auftretenden Werte der mittleren Energie EAVG berechnet.
Unter Bezugnahme auf 9A sind die überlappenden Zeitintervalle
T1 bis T4 Beispiele
für vier
Abtastfenster, die zur Erzeugung von aufeinanderfolgenden Standardabweichungswerten
SD1 bis SD4 verwendet
werden. Da zur Aktualisierung des Grundrauschens NF alle 20 ms ein
neuer Wert der Standardabweichung SD berechnet wird, werden die
Zeitintervalle T1 bis T4 um
Inkremente von 20 ms versetzt. Dieses Verfahren zur Berechnung der
Standardabweichung SD weicht von einem in 8 gezeigten
Verfahren nach dem Stand der Technik ab, in dem nicht überlap pende
Zeitintervalle TA bis TD verwendet
werden, um Standardabweichungswerte SDA bis
SDD zu erzeugen.
-
Wie
oben erwähnt
ist das in der vorliegenden Erfindung zum Berechnen der Standardabweichung SD
verwendete Zeitintervall von 500 ms angesichts der dynamischen Merkmale
der typischen menschlichen Sprache verhältnismäßig kurz. Das heißt, während einer
gegebenen Zeitperiode von 500 ms Dauer von kontinuierlicher menschlicher
Sprache kann die Standardabweichung SD der Signalenergie relativ gering
sein, möglicherweise
unterhalb eines als Schwellwert eingesetzten Werts. Da die Dauer
des Abtastfensters zum Berechnen der Standardabweichung reduziert
ist, erhöht
sich die Wahrscheinlichkeit der Fehlklassifizierung von Sprache
als Rauschen tendenziell. Dieser Grundsatz wird in 9B dargestellt,
welche eine Kurve der Standardabweichung SD über die Zeit für die in 9A gezeigte Wellenform
zeigt. In der bevorzugten Ausführungsform
wird ein Standardabweichungs-SD-Wert von 3,2 als Schwellwert beim
Unterscheiden zwischen Sprache und Rauschen für den Zweck des Aktualisierens der
NPDF verwendet. In 9A und 9B ist
ersichtlich, dass die während
des Zeitintervalls T5 auftretende Sprache
möglicherweise
als Rauschen fehlklassifiziert wird, wenn man sich nur auf die Standardabweichung
SD verlassen würde,
da dieser Wert während
des Zeitintervalls T5 unterhalb von 3,2
fällt. Folglich
stützt
sich die vorliegende Erfindung beim Klassifizieren des Eingabeaudiosignals
nicht nur auf die Standardabweichung SD des Eingangssignals; statt
dessen berechnet die vorliegende Erfindung auch eine Einhüllende des
Eingabesignals AUDIN während
jeder 20 ms-Wiederholung als einen zusätzlichen Faktor beim Aktualisieren
der NPDF. Diese Einhüllende
wird durch den mittleren Spitzenwert AP der Energie des Eingabesignals
AUDIN wie in 10 gezeigt dargestellt.
-
11 veranschaulicht
ein Ablaufdiagramm, welches zeigt, wie der mittlere Spitzenwert
AP berechnet wird. In Schritt 1101 werden die letzten fünf aufeinanderfolgenden
mittleren Energiewerte EAVG (entsprechend
den letzten 100 ms) gesichert. Diese fünf EAVG-Werte
werden dann in Schritt 1102 gemittelt, um einen Wert AFG5 zu erzeugen. In Schritt 1103 werden
die höchsten
fünf Werte
von während
den letzten zwei Sekunden berechneten AFVG5 identifiziert.
In Schritt 1105 wird der mittlere Spitzenwert AP als das
Mittel dieser höchsten
fünf AP-Werte
berechnet. Unter Bezugnahme wieder auf 7 wird in Schritt 704 eine
vorläufige
Bestimmung darüber,
ob das Eingabesignal Sprache enthält oder nicht, für den beschränkten Zweck
des Aktualisierens der NPDF (Schritt 705) zum Aktualisieren
des Grundrauschens NF (Schritt 707) getroffen. Wie bereits
erwähnt,
wird der mittlere Spitzenwert AP zum Teil verwendet, um während Zeitperioden,
in denen der Standardabweichungswert EAVG unterhalb
von 3,2 fällt,
obwohl Sprache auftritt, die Genauigkeit zu erhöhen. Insbesondere wird das
Eingangssignal AUDIN nur dann als nur Rauschen enthaltend, wenn
der aktuelle Wert der mittleren Energie EAVG unter
den Pegel des aktuellen mittleren Spitzenwerts AP minus 9 dB fällt. Somit
ist es unwahrscheinlich, dass ein Eingangssignal, welches eine geringe
Standardabweichung SD, aber einen hohe aktuelle mittlere Energie
EAVG hat, für den Zweck des Aktualisierens
der NPDF als Rauschen fehlklassifiziert wird. Außerdem setzt die vorliegende
Erfindung auch einen Nulldurchgang-Algorithmus ein, um die Genauigkeit
des Grundrauchens weiter zu erhöhen,
wie unten erläutert.
-
12 ist
ein Ablaufdiagramm, das die Schritte des Bestimmens, ob ein Eingangssignal
nur Rauschen (Schritt 704) enthält, und des Aktualisieren der
NPDF (Schritt 705), in Einzelheiten zeigt. Wenn der aktuelle
EAVG in Schritt 1201 nicht unterhalb
des Pegels (AP-9 dB) fällt,
wird in Schritt 1205 bestimmt, dass das Eingangssignals
AUDIN für
die Zwecke der Aktualisierung der NPDF nicht Rauschen ist. In diesem
Fall wird keine Stelle der NPDF erhöht. Wenn in Schritt 1201 dagegen
bestimmt wird, dass der aktuelle mittlere Energiewert EAVG unterhalb
von (AP-9 dB) fällt,
wird in Schritt 1202 eine Bestimmung getroffen, ob alle
der Standardabweichungswerte SD, die während der letzten 120 ms berechnet
wurden, unterhalb von 3,2 gefallen sind. Wenn das Ergebnis von Schritt 1202 „NEIN" ist, dann wird in
Schritt 1205 bestimmt, dass das Eingangsignal AUDIN für die Zwecke
der Aktualisierung der NPDF nicht Rauschen ist, und es wird keine
Stelle der NPDF erhöht.
Wenn alle der Standardabweichungswerte SD für mindestes die letzten 120
ms unterhalb von 3,2 gefallen sind, wird in Schritt 1203 eine
Bestimmung getroffen, ob alle der Standardabweichungswerte SD für mindestens die
letzten 1,5 Sekunden unterhalb von 3,2 gefallen sind. Wenn das Ergebnis
von Schritt 1203 „NEIN" ist, dann besteht „geringes
Vertrauen", dass
das Eingangssignal AUDIN nur Rauschen beinhaltet. Folglich wird
in Schritt 1206 die geeignete Stelle in der NPDF aktualisiert,
indem diese Stelle durch einen geringen Vertrauenswert von 0,01
erhöht
wird. Wenn dagegen in Schritt 1203 bestimmt wird, dass
die Standardabweichung für
mindestens 1,5 Sekunden unterhalb von 3,2 gefallen ist (und das
Ergebnis der Schritte 1201 und 1202 „JA" war), dann besteht
ein hohes Vertrauen, dass das Eingangssignal AUDIN nur Rauschen
ist. In diesem Fall wird die geeignete Stelle in der NPDF in Schritt 1204 um
einen hohen Vertrauenswert von 0,1 erhöht. Es sei darauf hingewiesen,
dass es zur Ausführung
der vorliegenden Erfindung nicht notwendig ist, die exakten Werte
von 0,01 als den geringen Vertrauenswert und 0,1 als den hohen Vertrauenswert.
Der wichtige Aspekt dieser Zahlen ist, dass das Verhältnis des
hohen Vertrauenswerts zu dem geringen Vertrauenswert deutlich größer als
eins ist. Somit wird die NPDF basierend sowohl auf der Beziehung
zwischen dem aktuellen mittleren Energiewert EAVG des
Eingangssignals und dem aktuellen mittleren Spitzenwert AP als auch
auf der Standardabweichung SD der Eingabesignalenergie über eine
gegeben Zeitperiode aktualisiert. Jedes Mal, wenn eine bestimmt
Stelle der NPDF erhöht wird,
wird sie entweder um einen hohen Vertrauenswert oder einen niedrigen
Vertrauenswert erhöht,
um den Grad an Vertrauen, dass das Eingangssignal AUDIN aktuell
nur Rauschen enthält,
wiederzugeben.
-
13 zeigt
ein Beispiel einer Wellenform des Audioeingabesignals AUDIN und
die Beziehungen zwischen den beim Berechnen der mittleren Energie
EAVG, der Standardabweichung SD und des mittleren
Spitzenwerts AP verwendeten Abtastfenster. In 13 wird
ein mittlerer Energiewert EAVG für Abtastwerte der
aktuellen Energie E, die innerhalb eines Abtastfensters SMMPW von
20 ms Dauer auftreten, berechnet. Auf der Basis der EAVG-Werte,
die während
des Standardabweichungsfensters SDW von 0,5 Sekunden Dauer berechnet
werden, wird auch ein Standardabweichungs-SD-wert berechnet. Außerdem wird
ein neuer Wert der mittleren Spitze AP basierend auf während des
Abtastfensters APW von zwei Sekunden Dauer auftretenden EAVG-Werten berechnet. Dieser Prozeß wird alle
20 ms wiederholt, wobei die Abtastfenster SMPW, SDW und AP bei jeder
Wiederholung um 20 ms vorgeschoben werden.
-
Die
durch den VAD 410 letztlich getroffene Entscheidung, ob
das Eingabesignal AUDIN Sprache enthält oder nicht, wird in dem
Ausgabesignal VADOUT angezeigt, welches verwendet werden kann, um
während
offener Audiokommunikation den Lautsprecher 52 oder das
Mikrofon 53 basierend auf der aktuellen momentanen Energie
E des Eingabesignals relativ zu dem Grundrauschen NF selektiv stummzuschalten.
Dieser Entscheidungsfindungsprozeß wird in 14 dargestellt.
In Schritt 1401 wird eine Bestimmung getroffen, ob die
momentane Energie E des Eingangssignals AUDIN das Grundrauschen übersteigt.
Wenn nicht, dann trifft der VAD 410 in Schritt 1407 die
vorläufige
Entscheidung, dass in dem Eingangssignal AUDIN keine Sprache detektiert wird.
Wenn die momentane Energie E das Grundrauschen NF übersteigt,
dann trifft der VAD 410 die vorläufige Entscheidung in Schritt 1402,
dass in dem Eingabesignal AUDIN Sprache detektiert wird. Wenn in
Schritt 1402 Sprache detektiert wird, wird in Schritt 1403 ein „Nulldurchgangstest" angelegt, um zu
bestimmen, ob es sich bei der Sprache um „stimmhafte" oder „nicht
stimmhafte" Sprache
handelt. Stimmhafte Sprache ist Sprache, die durch eine Stimmbandbewegung
erzeugt wird (z.B. der Ton „Aaaah"), während „nicht
stimmhafte Sprache" Sprache
ist, die ohne Stimmbandbewegung erzeugt wird (z.B. der Ton „Shhhh"). Das Ergebnis des
Nulldurchgangstest (Schritt 1403) wird von dem Autokalibrator 230 verwendet,
wie weiter unten ausführlicher
beschrieben. Die von dem VAD getroffene endgültige Entscheidung, wird durch
60 ms „geglättet". Damit der VAD 410 eine
Ausgabe VADOUT erzeugt, die anzeigt, dass in dem Ein gabesignal AUDIN
Sprache vorhanden ist (Schritte 1405 und 1406),
müssen
somit drei aufeinanderfolgende Detektionen von Sprache entsprechend
den drei aufeinanderfolgenden Zeitintervallen von 20 ms in den Schritten 1402 bis 1940 auftreten.
-
Ein
Nulldurchgangstest ist auf dem Gebiet des Aufbaus von Audiosystemen
wohlbekannt. Der Nulldurchgangstest aus Schritt 1403 ist
eine Bestimmung, ob der unverarbeitete Signalwert des Signals AUDIN über mehr
als 30 Prozent der Zeit während der
letzten 10 ms das Vorzeichen geändert
hat. Anders ausgedrückt
kann es zwischen zwei aufeinanderfolgenden Abtastwerten des Signals
AUDIN eine Änderung
des Vorzeichens geben oder nicht; der Test aus Schritt 1403 bestimmt,
ob mehr als 30 Prozent aller Paare aufeinanderfolgender Abtastwerte des
Signals AUDIN, die während
der letzten 10 ms aufgetreten sind, eine Vorzeichenänderung
mit sich brachten. Wenn das Signal AUDIN während der letzten 10 ms für mehr als
30 Prozent der Zeit das Vorzeichen geändert hat, dann wird in Schritt 1403 bestimmt,
dass die erfaßte
Sprache „nicht
stimmhafte Sprache" ist.
Andernfalls wird in Schritt 1404 bestimmt, dass die detektierte
Sprache „stimmhafte" Sprache ist.
-
Zusätzlich zu
der Steuerung des Stummschaltens von Lautsprecher 52 und
Mikrofon 53 kann die Ausgabe des VAD 410 auch
in einem Merkmal verwendet werden, welches die korrekten Hardwareeinstellungen
für jedes
Headset, den ein Nutzer zu verwenden wünscht, einrichtet und implementiert. Unter
Bezugnahme wiederum auf 2 empfängt der Autokalibrator 230 die
Ausgabe TXO des VAD-Sendekanals 211 sowie eine Eingabe
UI von der GUI 240. Der Nutzer des Headsets 52 klickt
auf ein Icon, welches durch die GUI 240 dargestellt wird, unter
Verwendung der Cursorsteuereinrichtung, wodurch bewirkt wird, dass
die GUI den Nutzer dazu auffordert, in das Mikrofon des Headsets 52 für eine vorbestimmte
Zeitperiode zu sprechen. Der Autokalibrator 230 paßt dann
die geeigneten Hardwareeinstellungen an, einschließlich der
Verstärkung
der Mikrofoneingabe, und speichert die Einstellungen in dem Speicher 40 der
Diskettenspeichereinrichtung 20 oder in beiden.
-
Wie
in 15 gezeigt, kann das Eingangssignal AUDIN an den
VAD 410 als doppelbogige Leistungsdichte-Kurve der Energie,
die sowohl Rauschen als auch Sprache darstellt, dargestellt werden.
Rauschenergie ist um ein MNEL konzentriert und Sprachenergie ist
um einen mittleren Sprachenergiepegel MVEL konzentrieren. Für ein gegebenes
Headset muß die
Verstärkung
der Mikrofoneingabe erhöht werden,
so dass ein Nutzer an dem Empfangsende die Sprache des Nutzers an
dem Sendeende bequem hören
kann. Somit wird in der bevorzugten Ausführungsform die Verstärkung der
Mikrofoneingabe durch einen Autokalibrator 130 in Reaktion
auf die Stimme des Nutzers erhöht,
so dass im Allgemeinen der MVEL des Eingabesignals auf einen vorbestimmten
Stimmbezugspegel VRL erhöht
wird. Das Erhöhen
der Verstärkung
der Mikrofoneingabe führt
jedoch zu der Verstärkung
von sowohl Rauschenergie als auch Sprachenergie. Eine solche Verstärkung kann
den unerwünschten
Effekt der Verstärkung
des Rauschenergiepegels auf einen unangenehmen Pegel aufweisen.
Folglich wird ein Rauschbezugspegel NRL eingerichtet und die Verstärkung der
Mikrofoneingabe wird so beschränkt,
dass das Grundrauschen NF den Rauschbezugspegel NRL nicht übersteigt.
In der bevorzugten Ausführungsform,
welche einen dynamischen Gesamtbereich von 95 dB aufweist, wird
der Stimmbezugspegel VRL so gewählt, dass
er 47 dB beträgt,
während
der Rauschbezugspegel so gewählt
wird, dass er 32 dB beträgt.
-
16 ist
ein Ablaufdiagramm des von dem Autokalibrator 230 zum Kalibrieren
des Mikrofons des Headsets 51 verwendeten Prozesses. Der
Autokalibrator 230 verwendet die Ausgabe TXO des VAD-Sendekanals 211,
um verschiedene Stimmen-Leistungsdichte-Funktionen (VPDF) zu erzeugen
und zu führen.
In Schritt 1602 bestimmt der Autokalibrator 230,
ob das Eingabesignal AUDIN aktuell entweder stimmhafte oder nicht
stimmhafte Sprache enthält,
basierend auf dem Ergebnis des Nulldurchgangstests (siehe 14).
In Schritt 1603 werden Vorkommen von stimmhafter Sprache
in eine VPDF basierend auf der Ausgabe des VAD-Sendekanals 211 eingegeben.
Der Autokalibrator 230 fährt mit der Eingabe von Vorkommen
von stimmhafter Sprache in die VPDF fort, bis eine gut verteilte
(nützliche)
VPDF erzeugt ist. Die gut verteilte VPDF besteht aus 18 Vorkommen
stimmhafter Sprache, die in Intervallen von 20 ms detektiert wurden,
d.h. 360 ms detektierte stimmhafte Sprache (Schritt 1604).
Sobald die VPDF erzeugt ist, wird der mittlere Stimmenergiepegel MVEL
dieser VPDF in Schritt 1605 gesichert. In Schritt 1606 werden
die Hardwareeinstellungen basierend auf dem MVEL der VPDEF auf die
oben beschriebene Weise angepaßt.
Dieser Prozeß wird
wiederholt, bis fünf
separate VPDF erzeugt worden sind, um fünf separate MVEL (MVEL1, MVEL2, ..., MVEL5) zu erzeugen, welche jeweils aus 18 aufeinanderfolgenden
Stimmdetektionen basieren. Nach dem Erzeugen fünf separater VPDF und dem Anpassen
der Hardwareeinstellungen, wird in Schritt 1608 eine Korrektur
vorgenommen, um bestimmte Datenpunkte aus der VPDF, welche wahrscheinlich
fehlerhaft sind, zu entfernen. Nach dem Entfernen fehlerhafter Daten werden
die Hardwareeinstellungen in Schritt 1609 ein letztes Mal
angepaßt,
um den automatischen Kalibrationsprozeß abzuschließen.
-
17 zeigt
eingehender den Schritt (1608) des Entfernens fehlerhafter
Daten. In Schritt 1701 werden von den fünf VPDF, die gesichert worden sind,
die VPDF mit dem höchsten
MVEL und die VPDF mit dem geringsten MVEL verworfen. Die MVEL der
drei verbleibenden VPDF werden dann in Schritt 1702 gemittelt,
um einen Wert AVG_MVEL zu erzeugen. Der Wert AVG_MVEL wird für die letzte Anpassung
der Hardwareeinstellungen verwendet.
-
18A und 18B zeigen
die Schritte 1606 und 1609 des Anpassens der Hardwareeinstellungen
ausführlicher.
Unter Bezugnahme auf 18A wird in Schritt 1801 eine
Bestimmung darüber
getroffen, ob die Differenz zwischen dem Stimmbezugspegel VRL und
dem MVEL der zuletzt erzeugten VPDF die Differenz zwischen dem Rauschbezugspegel
NRL und dem Grundrauschen NF übersteigt,
d.h. ob (VRL-MVELN)>(NRL-NF). Wenn diese Bedingung erfüllt ist,
dann wird in Schritt 1802 die Verstärkung erhöht, bis das Grundrauschen NF gleich
dem Rauschbezugspegel NRL ist. Wenn die Bedingung nicht erfüllt ist,
wird die Verstärkung
erhöht,
bis der MVEL der zuletzt erzeugten VPDF gleich dem Rauschbezugspegel
VRL (d.h. bis MVELN=VRL).
-
Die
in Schritt 1609 erfolgte Anpassung der Hardwareeinstellungen
weicht etwas von der in Schritt 1606 ausgeführten ab.
Unter Bezugnahme auf 18B wird in Schritt 1810 eine
Bestimmung darüber
getroffen, ob die Differenz zwischen dem Stimmbezugspegel VRL und
dem Wert AVG_MVEL die Differenz zwischen dem Rauschbezugspegel NRL
und dem Grundrauschen NF übersteigt,
d.h. ob (VRL-AVG_MVEL)>(NRL-NF).
Wenn diese Bedingung erfüllt
ist, dann wird in Schritt 1811 die Verstärkung erhöht, bis
das Grundrauschen NF gleich dem Rauschbezugspegel NRL ist. Wenn
nicht, wird in Schritt 1812 die Verstärkung erhöht, bis der Wert AVG_MVL gleich
dem Stimmbezugspegel VRL ist. Somit paßt der Autokalibrator 230 die
Hardwareeinstellungen, die für
das bestimmte verwendete Headset 51 geeignet sind, automatisch
an.
-
Beschrieben
wurde somit ein VAD, der unabhängig
von einer entfernten Einrichtung wirkt. Der VAD stellt große Genauigkeit,
schnelle Ansprechzeit, die Fähigkeit,
sich an das Signal-zu-Rausch-Verhältnis der entfernten Einrichtung
anzupassen, sowie eine gleichmäßige Halbduplex-Leistung
bereit, wenn der entfernte Nutzer zwischen offenen und geschlossenen
Audiomoden übergeht.
Es wurde auch eine Hardwarekalibrationslösung beschrieben, die die Hardwareeinstellungen
automatisch so anpaßt,
dass sie für
jedes Headset geeignet sind.
-
Obwohl
die vorliegende Erfindung unter Bezugnahme auf spezifische beispielhafte
Ausführungsformen
beschrieben worden sind, wird offensichtlich sein, dass verschiedene
Modifikationen und Änderungen
an diesen Ausführungsformen
vorgenommen werden können,
ohne von dem Umfang der Erfindung, wie er in den Ansprüchen dargelegt
ist, abzuweichen. Dementsprechend sollen die Beschreibung und die
Zeichnungen in einem veranschaulichenden anstelle eines einschränkenden
Sinnes betrachtet werden.