-
Hintergrund
-
Die Erfindung betrifft allgemein das Gebiet der Signalverarbeitung, und insbesondere ein Schalten zwischen Mikrofonen in Mikrofon-Arrays.
-
Zusammenfassung
-
Gemäß einem Aspekt wird ein Verfahren zum wahlweisen Schalten zwischen Mikrofonen offenbart, wobei das Verfahren umfasst: Bereitstellen eines ersten Zustandes, wobei der erste Zustand einem oder mehreren aus einer Mehrzahl von Mikrofonen ausgewählten Mikrofonen entspricht; Auswählen einer Untermenge von Mikrofonen aus der Mehrzahl von Mikrofonen in Antwort auf ein Bestimmen einer Durchschnittsenergie eines Eingangssignals für jedes Mikrofon aus der Mehrzahl von Mikrofonen; und Identifizieren eines zweiten Zustandes, welcher wenigstens ein Mikrofon aus der Untermenge von Mikrofonen umfasst, und zwar in Antwort auf ein Vergleichen der Durchschnittsenergien der Eingangssignale für die Untermenge von Mikrofonen mit einem vorbestimmten Zustand.
-
Gemäß einem weiteren Aspekt wird ein System zum wahlweisen Schalten zwischen Mikrofonen offenbart, wobei das System umfasst: einen oder mehrere Prozessoren; eine oder mehrere Speichereinheiten, welche mit dem einen oder den mehreren Prozessoren gekoppelt ist bzw. sind; wobei das System eingerichtet ist: ein Eingangssignal von jedem Mikrofon von einer Mehrzahl von Mikrofonen zu empfangen; Information entsprechend einem ersten Zustand zu speichern, wobei der erste Zustand einem oder mehreren von der Mehrzahl von Mikrofonen entspricht; Eingangssignale für eine Untermenge von Mikrofonen von der Mehrzahl von Mikrofonen auszuwählen, und zwar in Antwort auf ein Bestimmen einer Durchschnittsenergie eines Eingangssignals für jedes Mikrofon aus der Mehrzahl von Mikrofonen; und von dem ersten Zustand zu einem zweiten Zustand überzugehen, welcher wenigstens eines von der Untermenge von Mikrofonen umfasst, und zwar in Antwort auf ein Vergleichen der Durchschnittsenergien der Eingangssignale für die Untermengen-Mikrofone mit einem vorbestimmten Zustand.
-
Gemäß einem noch weiteren Aspekt wird ein Computerprogramm-Produkt offenbart, welches auf einem Computer-betreibbaren Medium gespeichert ist, wobei das Computerprogramm-Produkt Softwarecode umfasst, welcher wirksam ist: einen ersten Zustand bereitzustellen, wobei der erste Zustand einem oder mehreren aus einer Mehrzahl von Mikrofonen ausgewählten Mikrofonen entspricht; Eingangssignale für eine Untermenge von Mikrofonen von der Mehrzahl von Mikrofonen in Antwort auf ein Bestimmen einer Durchschnittsenergie eines Eingangssignals für jedes von der Mehrzahl von Mikrofonen auszuwählen; und von dem ersten Zustand zu einem zweiten Zustand überzugehen, welcher wenigstens eines von der Untermenge von Mikrofonen umfasst, und zwar in Antwort auf eine Bewertung der Durchschnittsenergien der Eingangssignale für die Untermengen-Mikrofone gegenüber einem vorbestimmten Zustand.
-
Zahlreiche zusätzliche Ausführungsformen sind außerdem denkbar.
-
Kurze Beschreibung der Zeichnungen
-
Andere Gegenstände und Vorteile der Erfindung werden beim Lesen der detaillierten Beschreibung und mit Bezug auf die begleitenden Zeichnungen ersichtlich.
-
1 ist ein Blockdiagramm, welches ein System zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen darstellt, und zwar gemäß einiger Ausführungsformen.
-
2 ist ein Blockdiagramm, welches ein System zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen darstellt, und zwar gemäß einiger Ausführungsformen.
-
3 ist ein Blockdiagramm, welches ein System zum Auslöschen von Echo (Widerhall) und Unterdrücken von Rauschen darstellt, und zwar gemäß einiger Ausführungsformen.
-
4 ist ein Flussdiagramm, welches ein Verfahren zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen darstellt, und zwar gemäß einiger Ausführungsformen.
-
5 ist ein Flussdiagramm, welches ein Verfahren zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen darstellt, und zwar gemäß einiger Ausführungsformen.
-
Während der Erfindung verschiedene Änderungen und alternative Ausgestaltungen zugrunde liegen, werden spezifische Ausführungsformen davon beispielhaft in den Zeichnungen und der begleitenden detaillierten Beschreibung dargestellt. Es wird jedoch davon ausgegangen, dass die Zeichnungen und die detaillierte Beschreibung die Erfindung nicht auf die entsprechenden Ausführungsformen beschränken sollen. Diese Offenbarung soll stattdessen alle Modifikationen, Äquivalente und Alternativen abdecken, welche in den Umfang der vorliegenden Erfindung, wie durch die beigefügten Ansprüche definiert, fallen.
-
Detaillierte Beschreibung
-
Eine oder mehrere Ausführungsformen der Erfindung werden unten beschrieben. Es soll angenommen werden, dass diese und beliebige weitere Ausführungsformen beispielhaft sind und die Erfindung darstellend und nicht beschränkend sein sollen. Während die Erfindung in vielfältiger Weise auf verschiedene Typen von Systemen anwendbar ist, ist es unmöglich, alle der möglichen Ausführungsformen und Zusammenhänge der Erfindung in dieser Offenbarung aufzuführen. Bei der Lektüre dieser Ausführungsform werden dem Fachmann viele alternative Ausführungsformen der vorliegenden Erfindung offensichtlich werden.
-
1 ist ein Blockdiagramm, welches ein System zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen gemäß einiger Ausführungsformen darstellt. Mikrofon-Schaltsystem 100 ist betreibbar, um Eingangssignale von Mikrofon-Array 105 zu empfangen. Mikrofon-Array 105 umfasst eine Mehrzahl von Mikrofonen Mn, wobei 1 ≤ n ≤ N ist. Es können verschiedene Ausgestaltungen von Mikrofonen verwendet werden. Während in 1 ein lineares Array dargestellt ist, wird der Fachmann bevorzugen, dass die hierin beschriebenen Systeme und Verfahren mit beliebigen Konfigurationen funktionieren werden, welche von der linearen Konfiguration verschieden sind. Der Betrieb des Mikrofon-Schaltsystems 100 erfordert kein Wissen über die bestimmte Konfiguration des Mikrofon-Arrays 105. In einigen Ausführungsformen können die Abstände zwischen den Mikrofonen und relative Positionierungen der Mikrofone untereinander unabhängig voneinander sein. In einigen Ausführungsformen kann die räumliche Verteilung der Mikrofone vorgegeben sein. Verschiedene Arten von Mikrofonen können verwendet werden. In einigen Ausführungsformen kann ein bzw. können mehrere bidirektionale bzw. Richt-Mikrofone verwendet werden. In einigen Ausführungsformen kann ein bzw. können mehrere omni-direktionale Mikrofone verwendet werden. In einigen Ausführungsformen kann ein bzw. können mehrere direktionale Mikrofone in Verbindung mit einem oder mehreren omni-direktionalen Mikrofonen verwendet werden.
-
Jedes der Mikrofone in dem Mikrofon-Array 105 kann Audiosignale von einer Anzahl von Quellen detektieren bzw. aufnehmen, einschließlich Stimmen-Aktivität von in der Nähe befindlichen Nutzern, Geräusche sowie akustischer Schall von Lautsprechern, welche in der Nähe der Mikrofone angeordnet sind. Ein in der Nähe befindlicher Nutzer ist ein Nutzer, der sich in der Nähe der Mikrofone aufhält. Ein in der Ferne befindlicher Nutzer ist ein Nutzer, welcher sich nicht in der Nähe der Mikrofone aufhält. In einigen Ausführungsformen kann das Mikrofon-Schaltsystem 100 in einem Fahrzeug untergebracht sein, um Kommunikation zwischen in der Nähe befindlichen Nutzern im Fahrzeug und in der Ferne befindlichen Nutzern zu ermöglichen. Beispielsweise kann in einigen Ausführungsformen das Mikrofon-Schaltsystem 100 in einem Freisprech-Telefoniesystem in einem Fahrzeug verwendet werden. In diesem Fall könnte ein in der Nähe befindlicher Nutzer der Fahrer des Fahrzeuges oder ein Passagier sein, und der in der Ferne befindliche Nutzer könnte eine Person in einem anderen Fahrzeug sein. In solchen Ausführungsformen würde das Fahrzeug sowohl die verschiedenen Elemente des Systems 100 als auch die Mehrzahl von Mikrofonen umfassen. Das Signal von jedem Mikrofon Mn kann vor einer nachfolgenden Verarbeitung verstärkt werden. Wie in 1 dargestellt ist, kann für jedes Mikrofon Mn das Signal von Mn durch Verstärker AMPn verstärkt und durch einen Analog-zu-Digital-Umwandler A/Dn geleitet werden, um ein digitales Eingangssignal Sn bereitzustellen. Die Gesamtheit der Eingangssignale kann dargestellt werden als: S = {S1, S2, S3, ..., SN} Gleichung (1)
-
Während des Betriebs empfängt das Mikrofon-Schaltsystem 100 Eingangssignale S und erzeugt ein Ausgangssignal S0 unter Verwendung einer Untermenge von Mikrofonen, welche das Mikrofon-Array 105 darstellen. Die Untermenge von Mikrofonen, welche verwendet werden, um das Ausgangssignal zu erzeugen, entspricht dem Zustand des Systems zu dieser Zeit. Das Ausgangssignal des Systems während eines beliebigen Sprachfensters (speech frame) kann allgemein als eine gewichtete Kombination der Eingangssignale für die Untermenge von ausgewählten Mikrofonen dargestellt werden. Beim Übergang von einem Sprachfenster zum nächsten kann der Zustand des Systems gleichbleiben oder sich in Abhängigkeit einer Vielzahl von Bedingungen ändern.
-
Energieberechnungseinheit 110 empfängt die Eingangssignale von Mikrofon-Array 105 und berechnet eine Durchschnittsenergie für jedes Eingangssignal Sn. In einigen Ausführungsformen kann die Langzeit-Durchschnittsenergie für jedes Eingangssignal Sn dargestellt und berechnet werden als: P0(n) = αP-1(n) + (1 – α)E0(n); n = 1, 2, ..., N Gleichung (2)
-
Hierbei sind jeweils P
0(n) und P
-1(n) die Langzeit-Durchschnittsenergien für Eingangssignal S
n bei dem aktuellen und vorhergehenden Sprachfenster. Der Koeffizient α ist ein Wichtungsfaktor mit einem Wert 0 ≤ α ≤ 1. Ein typischer verwendeter Wert für α ist α = 0,85. E
0(n) stellt die momentane Durchschnittsenergie für Eingangssignal S
n bei dem aktuellen Sprachfenster dar. In einigen Ausführungsformen kann E
0(n) berechnet werden nach:
wobei K der Anzahl von Abtastungen in jedem Sprachfenster entspricht. Beispielsweise wird bei K = 80 für ein 10 ms Sprachfenster bei einer Abtastrate von 8 kHz abgetastet.
-
Vergleicher 120 empfängt die berechneten Durchschnittsenergien P0(n) und identifiziert die Mikrofone in dem Mikrofon-Array 105, welches die Untermenge von Mikrofonen bildet. In einigen Ausführungsformen kann die Anzahl an Mikrofonen, welche in der Untermenge von Mikrofonen enthalten sind, zu weniger als die Gesamtzahl an Mikrofonen der Mehrzahl von Mikrofonen, welche das Mikrofon-Array 105 bilden, gewählt werden. In einigen Ausführungsformen kann die Auswahl der Untermenge von Mikrofonen auf der relativen Größenordnung der Durchschnittsenergien der Mehrzahl von Mikrofonen basiert sein. Wenn beispielsweise die Gesamtzahl an Mikrofonen in dem Mikrofon-Array 105 N ist, dann kann die Anzahl an Mikrofonen in der Untermenge von Mikrofonen X sein, wobei X ≤ N ist, wobei für das Auswahlkriterium, das heißt, welches der N Mikrofone ausgewählt wird, gelten kann: Wähle die X Mikrofone mit den höchsten Durchschnittsenergien. Falls beispielsweise N = 8 und X = 4 ist, dann kann die Untermenge an ausgewählten Mikrofonen den Mikrofonen in dem Mikrofon-Array 105 mit den vier höchsten berechneten Durchschnittsenergien entsprechen.
-
Vergleicher 120 ist weiterhin eingerichtet, um die berechneten Durchschnittsenergien für die Untermengen-Mikrofone gegenüber einem vorbestimmten Zustand zu vergleichen. Falls beispielsweise die Gesamtzahl an Mikrofonen N ist und die Untermenge an Mikrofonen X Mikrofone umfasst (X ≤ N), dann kann Vergleicher 120 J Mikrofone (J ≤ X) innerhalb der Untermenge identifizieren, welche dem vorbestimmten Zustand genügen. In einigen Ausführungsformen kann der vorbestimmte Zustand ein Vergleichen der Unterschiede zwischen Paaren der berechneten Durchschnittsenergien für die Untermengen-Mikrofone mit einem oder mehreren vorbestimmten Schwellenwerten beinhalten. In einigen Ausführungsformen kann der vorbestimmte Zustand ein Vergleichen des Unterschiedes zwischen der höchsten berechneten Durchschnittsenergie und jeder Energie der berechneten Durchschnittsenergien für die anderen Mikrofone in der Untermenge mit einem oder mehreren vorbestimmten Schwellenwerten umfassen. In einigen Ausführungsformen kann der Schwellenwert als ein Prozentwert der höchsten berechneten Durchschnittsenergie ausgedrückt werden.
-
Beispielsweise kann in einigen Ausführungsformen die Anzahl an Mikrofonen, welche für die Untermenge an Mikrofonen verwendet wird, zwei betragen. In diesem Fall empfängt Vergleicher 120 die berechneten Durchschnittsenergien P0(n) für jedes der N Mikrofone und bestimmt die Mikrofone mit Eingangssignalen mit der höchsten berechneten Durchschnittsenergie (P0(A)) und der zweithöchsten berechneten Durchschnittsenergie (P0(B)). Die Mikrofone entsprechend den höchsten und zweithöchsten berechneten Durchschnittsenergien werden jeweils als MA und MB bezeichnet. Die Eingangssignale entsprechend diesen Mikrofonen werden jeweils als SA und SB bezeichnet. In diesem Fall kann der vorbestimmte Zustand ein Vergleichen des Unterschiedes zwischen P0(A) und P0(B) mit einem vorbestimmten Schwellenwert sein. Vergleicher 120 berechnet den Unterschied zwischen den berechneten Durchschnittsenergien für diese Signale und vergleicht den Unterschied mit einem vorbestimmten Schwellenwert.
-
Auswähler 130 ist beim Empfangen von Eingangssignalen S von Mikrofon-Array 105 dargestellt. Auswähler 130 ist eingerichtet, um Eingangssignale entsprechend der Untermenge an Mikrofonen auszuwählen, welche von Vergleicher 120 identifiziert werden. Auswähler 130 ist weiterhin eingerichtet, um unter den ausgewählten Eingangssignalen auszuwählen oder diese zu kombinieren, um auf Grundlage der Ergebnisse des von Vergleicher 120 vorgenommenen Vergleichs der berechneten Durchschnittsenergien mit dem vorbestimmten Zustand SNeuzustand zu bilden. SNeuzustand ist das Ausgangssignal entsprechend dem Neuzustand des Systems.
-
In dem Beispiel, wo die Anzahl an Mikrofonen, welche die Untermenge an Mikrofonen bilden, zu zwei Mikrofonen gewählt ist, ist Auswähler 130 eingerichtet, um Eingangssignale SA und SB in Antwort auf ein Empfangen der Ausgabe von Vergleicher 120 auszuwählen. Auswähler 130 ist weiterhin eingerichtet, um aus Eingangssignalen SA und SB auszuwählen oder diese zu kombinieren, um auf Grundlage der Ergebnisse des durch Vergleicher 120 vorgenommenen Vergleichs der Differenz in den berechneten Durchschnittsenergien mit dem Schwellenwert SNeuzustand zu bilden. Wenn die Differenz zwischen den berechneten Durchschnittsenergien für SA und SB größer als der Schwellenwert ist, dann wird der Neuzustand lediglich durch Mikrofon MA repräsentiert. Dies entspricht der Situation, wo ein signifikanter Energieunterschied zwischen den Eingangssignalen für Mikrofone MA und MB detektiert ist. In diesem Fall wird das Ausgangssignal entsprechend dem Neuzustand gleich dem Eingangssignal für Mikrofon MA gesetzt. Das heißt, SNeuzustand = SA Gleichung (4)
-
Falls die Differenz zwischen den berechneten Durchschnittsenergien für S
A und S
B geringer oder gleich dem Schwellenwert ist, dann wird Auswähler
130 S
A und S
B kombinieren, um das Ausgangssignal für den neuen Zustand zu bilden. Dies entspricht der Situation, wo die Energieniveaus für Mikrofone M
A und M
B ähnlich sind. Dies kann beispielsweise in einer Situation auftreten, wo eine Person näher zu Mikrofon M
A und eine weitere Person näher zu Mikrofon M
B zur selben Zeit sprechen. Das kombinierte Signal kann durch die Signalenergie für Mikrofon M
A in dem momentanen Sprachfenster normalisiert werden. Während dieses Normalisierungsvorganges kann ein Interpolationsverfahren zwischen der Energie des vorangegangenen Sprachfensters und der Energie des aktuellen Sprachfensters angewendet werden, um einen gleichmäßigen Übergang von einem Fenster zum nächsten bereitzustellen. In diesem Fall kann das Ausgangssignal S
Neuzustand formuliert werden als:
wobei k = 0, 1, ..., K – 1 und E
0 und E
-1 jeweils die Energien der momentanen und vorherigen Sprachfenster sind.
-
Wiederum mit Bezug auf 1, Vorzustand-Information 140 speichert und teilt Information mit Auswähler 130 in Bezug auf den Zustand des Systems in dem vorherigen Sprachfenster. Solche Information kann die Untermenge an Mikrofonen von Mikrofon-Array 105 beinhalten, welche beim Bestimmen des Ausgangssignals für den Vorzustand verwendet wurden. Auswähler 130 ist eingerichtet, um ein Ausgangssignal in dem aktuellen Sprachfenster unter Verwendung von von der Vorzustand-Information 140 empfangener Information zu erzeugen, welche der Untermenge an Mikrofonen entspricht, welche für den Zustand des Systems in dem vorherigen Sprachfenster verwendet wurden. Dieses Ausgangssignal wird als SVorzustand in 1 bezeichnet. In einigen Ausführungsformen kann der Neuzustand der Anfangszustand des Systems beim Startup sein. In diesem Fall ist der Vorzustand ein Null-Zustand.
-
Vorzustand-Information 140 kann außerdem eine Übergangsverzögerungszeit oder Nachwirkzeit speichern, welche dem Vorzustand zugeordnet ist. Die Nachwirkzeit ist ein Steuerungsparameter, welcher von Auswähler 130 verwendet werden kann, um ein Übergehen in den neuen Zustand zu verzögern. In einigen Ausführungsformen ist Auswähler 130 eingerichtet, um lediglich SVorzustand zu übermitteln, falls die Nachwirkzeit für den Vorzustand nicht gleich Null ist. Die Nachwirkzeit kann in Einheiten von Fenstern gemessen werden. In einigen Ausführungsformen kann eine maximale Nachwirkzeit gesetzt sein.
-
Wie in 1 dargestellt ist, ist Überlapp- und Addier-Einheit 150 eingerichtet, um die Ausgangssignale SVorzustand und SNeuzustand von Auswähler 130 zu empfangen und das Ausgangssignal für das Mikrofon-Schaltsystem 100 zu erzeugen. Das Ausgangssignal für das System wird in 1 als S0 bezeichnet. Überlapp- und Addiereinheit 150 kann verwendet werden, um den Übergang von dem Vorzustand zu dem Neuzustand zu glätten. In einigen Ausführungsformen kann Überlapp- und Addier-Einheit 150 die folgende Gleichung für den Übergang von dem Vorzustand zu dem Neuzustand verwenden: S0(k) = SVorzustand(k)WVorzustand(k) + SNeuzustand(k)WNeuzustand(k) 0 ≤ k ≤ L Gleichung (6) S0(k) = SNeuzustand(k) L ≤ k ≤ K Gleichung (7)
-
Hierbei sind L ≤ K und WVorzustand(k) und WNeuzustand(k) Fensterfunktionen für den Vorzustand und den Neuzustand, so dass das Ausgangssignal anfangs im Vorzustand und zum Schluss im Neuzustand sein wird. In einigen Ausführungsformen können die Fensterfunktionen dargestellt sein als: WVorzustand(k) = 1 – k / K 0 ≤ k < L Gleichung (8) WNeuzustand(k) = 1 – k / K 0 ≤ k < L Gleichung (9)
-
Sowie ein Neuzustand ausgewählt ist, wird Information hinsichtlich des Neuzustandes zu Vorzustand-Information 140 durch Auswähler 130 übermittelt.
-
Während spezifische Ausführungsformen von verschiedenen Verarbeitungsblöcken und Einheiten für Mikrofon-Schaltsystem 100 oben erläutert wurden, wird der Fachmann bevorzugen, dass verschiedene alternative Ausgestaltungen für diese Verarbeitungsblöcke und Einheiten verwendet werden können, wobei dies innerhalb des Umfangs der Erfindung ist. Überdies können gewisse Verarbeitungsblöcke und Einheiten ausgelassen und/oder verschiedene Verarbeitungsblöcke und Einheiten hinzugefügt werden.
-
2 ist ein Blockdiagramm, welches ein System zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen darstellt, und zwar gemäß einiger Ausführungsformen. Mikrofon-Schaltsystem 200 ist betreibbar, um Eingangssignale von Mikrofon-Array 205 zu empfangen und ein Ausgangssignal S0 unter Verwendung einer Untermenge der Mikrofone zu erzeugen, welche das Mikrofon-Array 205 bilden. Mikrofon-Array 205 beinhaltet eine Mehrzahl von Mikrofonen Mn, wobei 1 ≤ n ≤ N ist. Die Eingangssignale von Mikrofon-Array 205 können einer Verarbeitung mittels Analog-Verarbeitungseinheit 207 unterzogen werden, um ein digitales Eingangssignal Sn für jedes Mikrofon Mn bereitzustellen. Analog-Verarbeitungseinheit 207 kann einen oder mehrere Verstärker sowie einen oder mehrere Analog-zu-Digital-Umwandler umfassen, wie zum Beispiel Verstärker AMPn und Analog-zu-Digital-Umwandler A/Dn, dargestellt in 1.
-
Wie in 2 dargestellt ist, kann System 200 einen Prozessor 210 und Speicher 220 umfassen, welcher mit Prozessor 210 gekoppelt ist. Prozessor 210 kann eingerichtet sein, um verschiedene Verarbeitungsoperationen zum wahlweisen Auswählen zwischen Mikrofonen in Mikrofon-Array 205 auszuführen, wie zum Beispiel die durch in 1 gezeigten Verarbeitungsblöcke und Einheiten ausgeführten Operationen. Prozessor 210 kann einen oder mehrere Prozessoren umfassen. Speicher 220 stellt Speicher für Information zur Verwendung durch Prozessor 210 bereit. In einigen Ausführungsformen kann Speicher 220 Vorzustand-Information 140 umfassen. Speicher 220 kann eine oder mehrere Speichereinheiten umfassen. In einigen Ausführungsformen kann System 200 in einem Fahrzeug enthalten sein. In solchen Fällen kann das Fahrzeug die Prozessoren und Speichereinheiten als auch das Mikrofon-Array und die Analog-Verarbeitungseinheit umfassen.
-
3 ist ein Blockdiagramm, welches ein System zum Auslöschen von Schall und Unterdrücken von Rauschen gemäß einiger Ausführungsformen darstellt. Schall-Auslöschung- und Rausch-Unterdrückungs-System 300 umfasst einen Downlink-Signalpfad 302 und einen Uplink-Signalpfad 304.
-
Downlink-Signalpfad 302 beinhaltet verschiedene Blöcke zum Empfangen und Verarbeiten eines eintreffenden digitalen Signals SEmpfangen und Umwandeln des eintreffenden Signals in ein Audio-Signal zur Ausgabe an Lautsprecher, die in der Nachbarschaft von in der Nähe befindlichen Nutzern angeordnet sind. Das eintreffende Signal SEmpfangen kann eine Audio-Wiedergabe von einer in der Ferne befindlichen Quelle beinhalten, wie zum Beispiel Sprach-Wiedergabe von einem in der Ferne befindlichen Nutzer.
-
Wie in 3 dargestellt, kann der Downlink-Signalpfad 302 einen Sprach-Aktivitäts-Detektor (VAD = Voice Activity Detector) 310, eine Rauschunterdrückungseinheit 315, eine automatische Verstärkungssteuerung (AGC = Automatic Gain Control) 320, eine adaptive Lautstärkesteuerung 325 sowie einen Pegelbegrenzer 330 umfassen. VAD 310 kann ein eingehendes Signal SEmpfangen aufnehmen und hinsichtlich des Vorhandenseins von in der Ferne befindlicher Sprachwiedergabe untersuchen. In einigen Ausführungsformen kann das eingehende Signal als Sprache oder Nicht-Sprache eingestuft werden, und zwar in Abhängigkeit davon, ob Sprach-Wiedergabe oder -Aktivität detektiert worden ist. AGC 320 kann im Downlink-Signalpfad 302 verwendet werden, um das Sprachniveau des eingehenden Signals, welches von Rauschunterdrückungseinheit 315 empfangen wurde, auf einen gewünschten Wert anzupassen. Der Downlink-Signalpfad 302 kann außerdem eine adaptive Lautstärkesteuerung 325 und einen Pegelbegrenzer 330 zur Regelung von Änderungen in der Amplitude des von den Lautsprechern 340 erzeugtes Schalls umfassen, und zwar aufgrund von Änderungen in der Amplitude des eingehenden Signals.
-
Die Analog-Verarbeitungseinheit 335 ist betreibbar, um das von Pegelbegrenzer 330 empfangene Eingangssignal in ein Analogsignal umzuwandeln und das Analogsignal an Lautsprecher 340 für eine Ausgabe als Schallwiedergabe an in der Nähe befindliche Nutzer zu verteilen. Die Analog-Verarbeitungseinheit 335 kann außerdem das umgewandelte Signal vor Verteilung an die Lautsprecher 340 verstärken.
-
Der Uplink-Signalpfad 304 umfasst verschiedene Blöcke zum Empfangen und Verarbeiten von Audio-Eingangssignalen von Mikrofon-Array 345 und Erzeugen eines ausgehenden Signals Sübermittelt. Die durch Mikrofon-Array 345 empfangenen Audiosignale können Sprachwiedergabe von in der Nähe befindlichen Nutzern, Geräusche sowie akustische Wiedergabe 347 von Lautsprechern 340 beinhalten. Wie in 3 dargestellt ist, können von Mikrofon-Array 345 empfangene Eingangssignale verstärkt und durch Analog-Verarbeitungseinheit 350 in digitale Signale Sn (1 ≤ n ≤ N) umgewandelt werden. System 360 ist betreibbar, um Eingangssignale von Mikrofon-Array 345 zu empfangen und ein Ausgangssignal S0 unter Verwendung einer Untermenge von Mikrofonen zu erzeugen, welche das Mikrofon-Array 345 bilden. System 360 ist ein Mikrofon-Schaltsystem, welches verwendbar ist, um wahlweise zwischen Mikrofonen im Mikrofon-Array 345 unter Verwendung der in 1 dargestellten Funktionsblöcke zu schalten.
-
Das Ausgangssignal S0 kann weiter verarbeitet werden, um Widerhall- und Rausch-Effekte in den in 3 dargestellten verbleibenden Blöcken zu reduzieren. Summierer 365 kann ein Echo-Korrektursignal, welches von Akustik-Echo-Auslöscher 370 bereitgestellt wird, von S0 subtrahieren, um ein Zwischen-Ausgangssignal S0' bereitzustellen. VAD 310 kann Zwischen-Ausgangssignal S0' empfangen und hinsichtlich des Vorhandenseins von in der Nähe befindlicher Sprach-Aktivität untersuchen. In einigen Ausführungsformen kann das Zwischen-Ausgangssignal S0' als Sprache oder Nicht-Sprache eingestuft werden, in Abhängigkeit davon, ob Sprach-Aktivität detektiert worden ist. Rauschunterdrückung 380 kann verwendet werden, um in dem Zwischen-Eingangssignal vorhandenes Rauschen unter Verwendung von Rauschunterdrückungsalgorithmen zu reduzieren, welche dem Fachmann bekannt sind. In einigen Ausführungsformen kann Rauschunterdrückungseinheit 380 adaptive Rausch-Auslöschungs-Techniken verwenden. In einigen Ausführungsformen kann Rauschunterdrückungseinheit 380 adaptive oder Richtungsstrahl-bildende Techniken verwenden. Der Uplink-Signalpfad 304 kann außerdem AGC 385 und Pegelbegrenzer 390 verwenden, um die Qualität des ausgehenden Signales Sübermittelt zu verbessern.
-
4 ist ein Flussdiagramm, welches ein Verfahren zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen gemäß einiger Ausführungsformen darstellt. Das in 4 dargestellte Verfahren kann eine oder mehrere der in Blöcken 410–470 dargestellten Operationen umfassen. In einigen Ausführungsformen kann das hier dargestellte Verfahren durch das in 2 gezeigte Mikrofon-Schaltsystem ausgeführt werden. Eine Verarbeitung beginnt bei Schritt 400. In Block 410 wird ein erster Zustand bereitgestellt, welcher einem oder mehreren Mikrofonen entspricht, welche aus einer Mehrzahl von Mikrofonen ausgewählt sind. Jedes Mikrofon in der Mehrzahl von Mikrofonen ist betreibbar, um ein Eingangssignal für ein System zu erzeugen, welches für eine Verarbeitung solcher Eingangssignale betreibbar ist. Der erste Zustand repräsentiert eine Untermenge von Mikrofonen aus der Mehrzahl von Mikrofonen, deren Eingangssignale kombiniert sind, um das Eingangssignal für die Mehrzahl von Mikrofonen zu einem gegebenen Zeitpunkt zu bilden.
-
Bei Block 420 wird die Durchschnittsenergie für das Eingangssignal für jedes Mikrofon in der Mehrzahl von Mikrofonen bestimmt. Die Durchschnittsenergie für jedes Eingangssignal kann als ein Maß für in der Nähe befindlicher Sprach-Aktivität für das zugeordnete Mikrofon in der Mehrzahl von Mikrofonen verwendet werden. Eine Untermenge von Mikrofonen aus der Mehrzahl von Mikrofonen wird bei Block 430 auf Grundlage der für die Mikrofone bestimmten Durchschnittsenergien ausgewählt. Die Untermenge von Mikrofonen kann verwendet werden, um einen zweiten Zustand zu bilden. Der zweite Zustand repräsentiert eine Untermenge von Mikrofonen von der Mehrzahl von Mikrofonen, deren Eingangssignale verwendet werden, um das Eingangssignal für die Mehrzahl von Mikrofonen zu einem Zeitpunkt zu bilden, welcher zeitlich nach dem ersten Zustand liegt.
-
Nach Auswahl der Untermenge von Mikrofonen werden die Durchschnittsenergien für die Untermenge von Mikrofonen mit einem vorbestimmten Zustand bei Block 440 verglichen. In einigen Ausführungsformen kann der vorbestimmte Zustand der oben mit Bezug auf 1 erläuterte vorbestimmte Zustand sein. Die Eigenschaften des zweiten Zustandes werden auf Grundlage dieses Vergleiches bestimmt.
-
Bei Block 450 wird eine Übergangsverzögerungszeit bestimmt, welche dem ersten Zustand entspricht. Die Übergangsverzögerungszeit kann verwendet werden, um den Übergang des Systems vom ersten Zustand in den zweiten Zustand zu verzögern. Bei Block 460 wird ein zweiter Zustand in Antwort auf den bei Block 440 gemachten Vergleich der Durchschnittsenergien der Untermengen-Mikrofone gegenüber dem vorbestimmten Zustand identifiziert. Bei Block 470 kann das System von dem ersten Zustand in den zweiten Zustand übergehen. Wie oben erwähnt, bestimmt der Vergleich der Durchschnittsenergien der Untermengen-Mikrofone mit einem vorbestimmten Zustand den zweiten Zustand. Die Übergangsverzögerungszeit bestimmt, ob der Übergang in den zweiten Zustand stattfindet oder verzögert wird. Eine Verarbeitung endet nachfolgend bei Schritt 499.
-
5 ist ein Flussdiagramm, welches ein Verfahren zum wahlweisen Schalten zwischen Mikrofonen in einer Mehrzahl von Mikrofonen darstellt, und zwar gemäß einiger Ausführungsformen. Für die dargestellte Ausführungsform beträgt die Anzahl von für die Untermenge von Mikrofonen ausgewählten Mikrofonen zwei. In einigen Ausführungsformen kann das hier gezeigte Verfahren durch das in 2 dargestellte System ausgeführt werden. Eine Verarbeitung beginnt bei Schritt 500 und fährt fort bei Block 510, wo ein erster Zustand bereitgestellt wird, welcher einem oder mehreren Mikrofonen entspricht, welche aus einer Mehrzahl von Mikrofonen ausgewählt sind. In einigen Ausführungsformen kann die Mehrzahl von Mikrofonen ein Mikrofon-Array sein, wie das in 2 dargestellte Mikrofon-Array 205. Jedes Mikrofon in der Mehrzahl von Mikrofonen ist betreibbar, um ein Eingangssignal für ein System zu erzeugen, welches betreibbar ist, um solche Eingangssignale zu verarbeiten. In einigen Ausführungsformen können solche Systeme Voll-Duplex-Freisprech-Kommunikationssysteme umfassen, wie zum Beispiel in Fahrzeugen verwendete Freisprech-Telefonie-Systeme. Noch allgemeiner können solche Systeme jedes Telekommunikationssystem umfassen, in welchen Mikrofone zur Aufnahme von akustischen Signalen verwendet werden. Während des Betriebs wird das System in einem ersten Zustand zu einer ersten Zeit und in einem zweiten Zustand zu einer zweiten Zeit sein, welche zeitlich nach der ersten Zeit liegt. In einigen Ausführungsformen kann der erste Zustand anfänglich ein Null-Zustand sein. Dies kann beispielsweise der Fall sein, wenn das System zunächst gestartet wird. Der Zustand des Systems wird im Allgemeinen der Untermenge von Mikrofonen aus der Mehrzahl von Mikrofonen entsprechen, deren Eingangssignale verwendet werden, um das Eingangssignal des Systems zu einer gegebenen Zeit zu erzeugen. In einigen Ausführungsformen kann die Zeit in Bezug auf Sprach-Fenster gemessen bzw. angegeben werden, wobei der erste Zustand dem Zustand des Systems in dem vorherigen Sprach-Fenster und der zweite Zustand dem Zustand des Systems in dem aktuellen Sprach-Fenster entspricht. In Abhängigkeit von den Bedingungen bzw. Zuständen des Systems zu einer gegebenen Zeit kann der zweite Zustand der gleiche bleiben wie der erste Zustand oder vom ersten Zustand verschieden sein.
-
Bei Block 520 werden die Durchschnittsenergien für das Eingangssignal für jedes Mikrofon von der Mehrzahl von Mikrofonen berechnet. In einigen Ausführungsformen können die Durchschnittsenergien für Eingangssignale unter Verwendung der obigen Gleichungen (2) und (3) bestimmt werden.
-
Die Verarbeitung fährt fort bei Block 530, wo erste und zweite Mikrofone auf Grundlage der bei Block 520 bestimmten Durchschnittsenergien ausgewählt werden. Das Mikrofon mit der höchsten Durchschnittsenergie wird als das erste Mikrofon ausgewählt. Das Mikrofon mit der nächsthöchsten Durchschnittsenergie wird als das zweite Mikrofon ausgewählt. Die ersten und zweiten Mikrofone werden als die Grundlage für die Bildung des zweiten Zustandes verwendet. Der zweite Zustand repräsentiert eine Untermenge von Mikrofonen aus der Mehrzahl von Mikrofonen, deren Eingangssignale verwendet werden, um das Eingangssignal für die Mehrzahl von Mikrofonen zu einem Zeitpunkt zu bilden, welcher zeitlich nach dem ersten Zustand liegt.
-
Nach Auswahl der ersten und zweiten Mikrofone wird die Differenz zwischen den Durchschnittsenergien für diese beiden Mikrofone bei Block 540 bestimmt. Die Eigenschaften des zweiten Zustandes werden auf Grundlage der relativen Differenz in den Energieniveaus zwischen dem ersten und zweiten Mikrofon bestimmt. Die Durchschnittsenergie-Differenz wird mit einem Energie-Schwellenwert bei Block 545 verglichen. Falls die Energie-Differenz größer als der Energie-Schwellenwert ist, dann wird der zweite Zustand dem wie bei Block 550 dargestellten ersten Mikrofon entsprechen. Dies entspricht der Situation, wo eine signifikante Energie-Differenz zwischen den Eingangssignalen für das erste und das zweite Mikrofon detektiert worden ist. Alternativ wird, falls die Energie-Differenz kleiner oder gleich dem Energie-Schwellenwert ist, der zweite Zustand einer Kombination aus den ersten und den zweiten Mikrofonen entsprechen, wie es bei Block 555 dargestellt ist. Dies entspricht der Situation, wo die Energieniveaus für die ersten und zweiten Mikrofone gleich sind. In einigen Ausführungsformen kann die Bedingung zum Bestimmen, ob eines oder beide der ersten und zweiten Mikrofone für den zweiten Zustand ausgewählt werden sollen, derart sein, ob die Energie-Differenz größer oder gleich dem Energie-Schwellenwert ist.
-
Wiederum mit Bezug auf 5 wird eine Übergangsverzögerungszeit entsprechend dem ersten Zustand bei Block 560 bestimmt. Die Übergangsverzögerungszeit kann verwendet werden, um den Übergang des Systems vom ersten Zustand in den zweiten Zustand zu verzögern. Die Übergangsverzögerungszeit ist ein Steuerungsparameter, welcher verwendet werden kann, um das System von einem vorzeitigen Schalten zwischen Zuständen abzuhalten. Falls beispielsweise das System für eine beträchtliche Zeitdauer in einem ersten Zustand gewesen ist, kann eine Energiespitze während einer relativ kurzen Zeitdauer unwiderruflich in einem Schalten in einen zweiten Zustand resultieren, welcher vom ersten Zustand verschieden ist. Um diese Situation zu vermeiden, kann eine Übergangsverzögerungszeit verwendet werden. Die Übergangsverzögerungszeit für den ersten Zustand kann anfänglich auf Null gesetzt sein und erhöht werden, falls der Zustand des Systems für eine Zeitdauer in dem ersten Zustand verbleibt. Alternativ kann, falls der erste Zustand eine Nicht-Null-Übergangsverzögerungszeit aufweist, eine solche Übergangsverzögerungszeit reduziert werden, falls der Zustand des Systems nicht für eine vorgegebene Zeitdauer in dem ersten Zustand verbleibt. In einigen Ausführungsformen kann die Übergangsverzögerungszeit in Einheiten von Sprach-Fenstern gemessen werden. Die Übergangsverzögerungszeit für den ersten Zustand wird anfänglich Null sein. Für jedes Sprach-Fenster, für das der Zustand des Systems in dem ersten Zustand verbleibt, wird die Übergangsverzögerungszeit für den ersten Zustand um ein Sprach-Fenster erhöht werden. In einigen Ausführungsformen kann eine maximale Übergangsverzögerungszeit gesetzt sein. Beispielsweise kann die maximale Verzögerungszeit auf fünf Sprach-Fenster gesetzt sein. Alternativ kann für jedes Sprach-Fenster, in welchem der Zustand des Systems nicht in dem ersten Zustand verbleibt, die Übergangsverzögerungszeit auf ein Minimum von Null herunter reduziert werden.
-
Bei Block 570 wird die Übergangsverzögerungszeit derart untersucht, um zu bestimmen, ob sie größer als Null ist. Falls die Übergangsverzögerungszeit für den ersten Zustand größer Null ist, fährt die Verarbeitung bei Block 580 fort, wo die Übergangsverzögerungszeit für den ersten Zustand aktualisiert wird. Die Übergangsverzögerungszeit wird erhöht, falls der zweite Zustand mit dem ersten Zustand zusammenfällt. Dies entspricht der Situation, wo das System in dem ersten Zustand vor dem Sprach-Fenster war und in dem ersten Zustand im momentanen Sprach-Fenster verbleibt. Alternativ wird die Übergangsverzögerungszeit heruntergesetzt, falls der zweite Zustand vom ersten Zustand verschieden ist. Nach Aktualisierung der Übergangsverzögerungszeit für den ersten Zustand kehrt die Verarbeitung zurück zu Block 520.
-
Falls die Übergangsverzögerungszeit für den ersten Zustand gleich Null ist, fährt die Verarbeitung bei Block 590 fort, wo das System vom ersten Zustand in den zweiten Zustand übergeht. In einigen Ausführungsformen kann eine Überlapp- und Addier-Technik, wie die oben mit Bezug auf 1 erläuterte, verwendet werden.
-
Der Fachmann wird erkennen, dass die verschiedenen in Verbindung mit den hierin offenbarten Ausführungsformen beschriebenen darstellenden logischen Blöcke, Module, Schaltkreise und Algorithmus-Schritte als Elektronik-Hardware, Computer-Software oder Kombinationen beider ausgeführt werden können. Um diese Austauschbarkeit von Hardware und Software deutlich darzustellen, wurden verschiedene darstellende Komponenten, Blöcke, Module, Schaltkreise und Schritte oben allgemein hinsichtlich ihrer Funktionalität beschrieben. Ob eine solche Funktionalität als Hardware oder Software implementiert ist, hängt von der besonderen Anwendung und Designzwängen ab, welche dem Gesamtsystem auferlegt sind. Der Fachmann kann die beschriebene Funktionalität auf verschiedene Weisen für jede bestimmte Anwendung implementieren, jedoch sollten solche Implementierungs-Entscheidungen nicht als eine Abkehr vom Umfang der vorliegenden Erfindung interpretiert werden.
-
Die vorangegangene Beschreibung der offenbarten Ausführungsformen wird bereitgestellt, um jede mit dem Gebiet vertraute Person in die Lage zu versetzen, die vorliegende Erfindung nachzuvollziehen oder zu verwenden. Verschiedene Änderungen an diesen Ausführungsformen werden in einfacher Weise dem Fachmann ersichtlich sein, und die hierin definierten innewohnenden Prinzipien können an anderen Ausführungsformen angewendet werden, ohne den Gedanken bzw. Umfang der Erfindung zu verlassen. Daher soll die vorliegende Erfindung nicht auf die hierin gezeigten Ausführungsformen begrenzt sein, sondern soll dem weitesten Umfang entsprechen, welcher mit den hierin offenbarten Prinzipien und neuartigen Merkmalen übereinstimmt.
-
Die Vorzüge und Vorteile, welche durch die vorliegende Erfindung bereitgestellt werden können, wurden oben mit Bezug auf spezifische Ausführungsformen erläutert. Diese Vorzüge und Vorteile sowie jegliche Elemente oder Beschränkungen, welche sie auftreten oder deutlicher erscheinen lassen, sollen nicht als beschränkend, erforderlich oder wesentliche Merkmale eines Anspruches oder aller Ansprüche gelten. Wie hierin verwendet sollen die Ausdrücke „umfasst”, „umfassend” oder jede Variation davon als nicht-ausschließlich interpretiert werden, einschließlich der Elemente oder Beschränkungen, welche aus diesen Ausdrücken folgen. Dementsprechend ist ein System, Verfahren oder andere Ausführungsform, welche einen Satz von Elementen umfasst, nicht nur auf diese Elemente beschränkt, und kann weitere Elemente umfassen, welche nicht ausdrücklich aufgeführt oder der beanspruchten Ausführungsform innewohnend sind.
-
Während die vorliegende Erfindung mit Bezug auf bestimmte Ausführungsformen erläutert worden ist, soll davon ausgegangen werden, dass die Ausführungsformen darstellend sind und dass der Umfang der Erfindung nicht auf diese Ausführungsformen beschränkt ist. Viele Variationen, Änderungen, Hinzufügungen und Verbesserungen an den oben beschriebenen Ausführungsformen sind möglich. Es wird angenommen, dass diese Variationen, Änderungen, Hinzufügungen und Verbesserungen in den Umfang der durch die folgenden Ansprüche beschriebenen Erfindung fallen.