-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich auf eine Technik zum Erfassen eines Echos eines empfangenen Signals, das in ein Sendesignal gemischt ist, und zum Löschen des erfassten Echos aus dem Sendesignal.
-
Stand der Technik
-
Eine Echolöschvorrichtung ist im allgemeinen ausgebildet als eine Kombination aus einer linearen Echoverarbeitungseinheit zum Löschen einer linearen Echokomponente und einer Restecho-Unterdrückungsverarbeitungseinheit zum Unterdrücken der linearen Echokomponente, die durch die lineare Echoverarbeitung nicht gelöscht werden kann, und einer nichtlinearen Echokomponente. Eine derartige Konfiguration ist beispielsweise in dem Nichtpatentdokument 1 offenbart. Die in dem Nichtpatentdokument 1 offenbarte Echolöschvorrichtung hat jedoch ein Problem dahingehend, dass, wenn ein Echo und eine gesendete Sprache einander überlappen, das heißt, wenn ein Gegensprechen auftritt, die Restecho-Unterdrückungsverarbeitungseinheit sowohl das Restecho als auch die gesendete Sprache unterdrückt.
-
Um das vorbeschriebene Problem zu lösen, offenbart beispielsweise das Patentdokument 1 ein Verfahren zum flexiblen Steuern von Unterdrückungskoeffizienten, die für die Amplitudenunterdrückung eines Sprachsignals in der Restecho-Unterdrückungsverarbeitungseinheit verwendet werden. Das Patentdokument 1 offenbart ein Echounterdrückungsverfahren zum Erhalten eines Echounterdrückungswertes, das die Energie eines geschätzten Echosignals verwendet, das durch Multiplizieren der empfangenen Signalenergie mit dem Wert einer akustischen Kopplung eines Echopfads erhalten wurde, die geschätzt wird anhand der Energie eines Mikrofoneingangssignals, dem die gesendete Sprache und das Echosignal überlagert sind.
-
DOKUMENT DES STANDES DER TECHNIK
-
PATENTDOKUMENT
-
- Patentdokument 1: Japanische Patent-Offenlegungsschrift Nummer 2002-84212 .
-
NICHTPATENTDOKUMENT
-
- Nichtpatentdokument 1: ITU-T-Empfehlung G. 165 (Abschnitte 17–20).
-
OFFENBARUNG DER ERFINDUNG
-
ZU LÖSENDE PROBLEME
-
Jedoch hat das vorbeschriebene, herkömmliche Verfahren, das den Echounterdrückungswert anhand der Energie des geschätzten Echosignals, das aus dem Wert der akustischen Kopplung berechnet wurde, bestimmt, zwei Probleme. Erstens kann es, wenn Hintergrundstörungen groß sind, da ein Echo in den Hintergrundstörungen untergeht, eine richtige Beobachtung des Werts der akustischen Kopplung nicht durchführen, wodurch sich das Problem ergibt, dass die Schätzgenauigkeit der Echosignalenergie herabgesetzt wird. Zweitens ist es erforderlich, wenn der Wert der akustischen Kopplung selbst aufgrund einer Änderung eines Echopfads variiert, den Wert der akustischen Kopplung wieder zu beobachten, wodurch sich das Problem ergibt, dass es nicht möglich ist, das Echo angemessen zu unterdrücken, bis ein angemessener Echounterdrückungswert durch Berechnen eines genauen beobachteten Wertes erhalten werden kann. Als eine Folge wird unter der vorbeschriebenen Bedingung der Echounterdrückungswert nicht korrekt berechnet, wodurch sich das Problem ergibt, dass ein Restecho bewirkt wird oder eine Telefonunterhaltung wegen übermäßiger Unterdrückung der gesendeten Sprache behindert wird.
-
Somit hat die vorbeschriebene, herkömmliche Technik die Probleme des Bewältigens des Restechos, da sie nicht in der Lage ist, den angemessenen Echounterdrückungswert zu berechnen, oder die Telefonkonversation behindert wird aufgrund der übermäßigen Unterdrückung der gesendeten Sprache, wenn die Telefonkonversation unter großen Störungen oder in einem Umfeld, in welchem der Echopfad variiert, stattfindet.
-
Die vorliegende Erfindung wird durchgeführt, um die vorgenannten Probleme zu lösen. Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Echolöschvorrichtung vorzusehen, die in der Lage ist, einen angemessenen Echounterdrückungswert selbst bei großen Störungen oder in einem Umfeld, in welchem der Echopfad variiert, zu berechnen.
-
MITTEL ZUM LÖSEN DER PROBLEME
-
Eine Echolöschvorrichtung gemäß der vorliegenden Erfindung weist auf: eine Echoabstands-Berechnungseinheit zum Berechnen eines Echoabstands, der ein Verhältnis der Echokomponente zu dem empfangenen Signal anzeigt, anhand eines ersten Restsignals und eines zweiten Restsignals, wobei das erste Restsignal erhalten wird durch Verwendung einer Filterkoeffizientenfolge eines aktualisierten Filters, die bis zu der vorhergehenden Operation der Echolöschvorrichtung erhalten wird, und das zweite Restsignal erhalten wird durch Verwendung einer aktualisierten Filterkoeffizientenfolge, die einer Koeffizientenaktualisierung unterzogen wird, die unter Verwendung einer beliebigen Aktualisierungsschrittgröße bei der Filterkoeffizientenfolge des Aktualisierungsfilters, die bis zu der vorhergehenden Operation der Echolöschvorrichtung erhalten wird, durchgeführt wird, und eine Echounterdrückungseinheit zum Unterdrücken der Echokomponente, die in dem Mikrofoneingangssignal enthalten ist, gemäß dem Echoabstand, den die Echoabstands-Berechnungseinheit berechnet.
-
VORTEILE DER ERFINDUNG
-
Gemäß der vorliegenden Erfindung kann ein geeignetes Telefongesprächsumfeld erhalten werden durch Unterdrücken des Restechos ohne Behinderung des Telefongesprächs aufgrund der übermäßigen Unterdrückung der gesendeten Sprache, selbst wenn das Telefongespräch unter der Bedingung durchgeführt wird, dass große Störungen auftreten oder sich der Echopfad ändert.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung eines Ausführungsbeispiels 1 zeigt;
-
2 ist ein Blockschaltbild, das eine andere Konfiguration der Echolöschvorrichtung des Ausführungsbeispiels 1 zeigt;
-
3 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung eines Ausführungsbeispiels 2 zeigt;
-
4 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung eines Ausführungsbeispiels 3 zeigt;
-
5 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung eines Ausführungsbeispiels 4 zeigt; und
-
6 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung eines Ausführungsbeispiels 5 zeigt.
-
BESTE ART DER AUSFÜHRUNG DER ERFINDUNG
-
Die beste Art der Ausführung der Erfindung wird nun mit Bezug auf die begleitenden Zeichnungen beschrieben, um die vorliegende Erfindung im Einzelnen zu erläutern.
-
AUSFÜHRUNGSBEISPIEL 1
-
1 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung eines Ausführungsbeispiels 1 zeigt. In 1 weist die Echolöschvorrichtung 100 auf: Ein Subtraktionsfilter 101 zum Erzeugen eines ersten geschätzten Echosignals und eines ersten Restsignals; ein Aktualisierungsfilter 102 zum Durchführen einer Koeffizientenaktualisierung einer Filterkoeffizientenfolge und zum Erzeugen eines zweiten geschätzten Echosignals und eines zweiten Restsignals unter Verwendung der aktualisierten Filterkoeffizientenfolge; eine Echoabstand-Berechnungseinheit 103 zum Berechnen eines Echoabstands; eine Restechounterdrückungswert-Berechnungseinheit 104 zum Berechnen des Unterdrückungswerts eines Restechos; und eine Restechounterdrückungseinheit 105 zum Unterdrücken des Restechos. Weiterhin weist das Subtraktionsfilter 101 eine Schätzantwortsignal-Erzeugungseinheit 101a und eine Subtraktionseinheit 101b auf, und das Aktualisierungsfilter 102 weist eine Filterverarbeitungseinheit 102a und eine Subtraktionsvorrichtung 102b auf.
-
Zusätzlich ist, wie in 1 gezeigt ist, die Echolöschvorrichtung 100 mit einem Lautsprecher 901 zum Ausgeben des empfangenen Signals x(n) als Sprache und einem Mikrofon 902 zum Aufnehmen von umgebender Sprache verbunden. Wenn das empfangene Signal x(n) von dem Lautsprecher 901 als Sprache ausgegeben wird, nimmt es während der Fortpflanzung durch einen Echopfad 900 seine Übertragungscharakteristiken auf, um ein Echosignal y(n) zu bilden, das in das Mikrofon 902 eingegeben wird. Weiterhin wird dem Mikrofon 902 ein Nahnebensignal s(n) zugeführt, das die Summe eines Sendesprachsignals und eines Hintergrundstörsignals ist und mit dem Echosignal y(n) ein Mikrofoneingangssignal y'(n). Somit ist das Mikrofoneingangssignal y(n) durch die folgende Gleichung (1) gegeben. y'(n) = y(n) + s(n) (1)
-
Bei Empfang des empfangenen Signals x(n) und des Mikrofoneingangssignals y'(n) löscht die Echolöschvorrichtung 100 das in dem Mikrofoneingangssignal y'(n) enthaltene Echosignal y(n) und gibt ein Ausgangssignal s'(n) aus, das ein geschätztes Signal des Nahnebensignals s(n) ist. Als nächstes wird die Arbeitsweise der Echolöschvorrichtung 100 des Ausführungsbeispiels 1 beschrieben.
-
Unter der Annahme, dass das Subtraktionsfeld 101 eine Filterkoeffizientenfolge ĥ(n) = [ĥ0(n), ĥi(n), ..., ĥN-1(n)]T hat, worin N eine Filterlänge ist. Es erzeugt ein erstes geschätztes Echosignal ŷ1(n) durch Filterverarbeitung unter Verwendung von des empfangenen Signals x(n) und erhält ein erstes Restsignal d1(n) durch Subtrahieren des Signals ŷ1(n) von dem Mikrofonsignal y'(n). Unter der Annahme, dass ein Restechosignal, das durch Subtrahieren des geschätzten Echosignals ŷ1(n) von dem Echosignal y(n) erhalten wird, gleich e(n) ist (das heißt, e(n) = ŷ(n) – ŷ1(n), wird das erste Restsignal d1(n) durch die folgende Gleichung (2) gegeben. d1(n) = y(n) – ŷ1(n) = y(n) + s(n) – y1(n) = e(n) + s(n) (2)
-
Es wird hier angenommen, dass an dem Anfangspunkt, an dem n = 0 ist, die Filterkoeffizientenfolge ĥ(0) auf einen bestimmten Anfangswert gesetzt ist. Die Filterkoeffizientenfolge ĥ(n) wird in einer Speichereinheit (nicht gezeigt) gespeichert und von der Speichereinheit erhalten.
-
Zusätzlich führt gemäß einem vorgeschriebenen adaptiven Algorithmus das Aktualisierungsfilter 102 eine Koeffizientenaktualisierungsverarbeitung unter Verwendung des empfangenen Signals x(n), des ersten Restsignals d1(n) und einer Aktualisierungsschrittgröße μ(n), die beliebig bestimmt ist, durch und erhält die aktualisierte Filterkoeffizientenfolge ĥ(n + 1) durch den folgenden Ausdruck (3). ĥ(n + 1) = ĥ(n) + μ(n)ε(n) (3), worin ε(n) ein Koeffizienteneinstellwert ist, der durch die Koeffizientenaktualisierungsverarbeitung erhalten und durch den adaptiven Algorithmus bestimmt wird. Die Aktualisierungsschrittgröße μ(n) kann ein fester Wert oder ein Wert sein, der jedes Mal durch ein vorgeschriebenes Mittel geändert wird.
-
Zusätzlich erzeugt das Aktualisierungsfilter 102 ein zweites geschätztes Echosignal ŷ2(n) durch die Filterverarbeitung des empfangenen Signals x(n) unter Verwendung der aktualisierten Filterkoeffizientenfolge ĥ(n + 1), die durch die Koeffizientenaktualisierungsverarbeitung nach dem vorstehenden Ausdruck (3) erhalten wurde. Zusätzlich erhält es ein zweites Restsignal d2(n) durch Subtrahieren des zweiten geschätzten Echosignals ŷ2(n) von dem Mikrofoneingangssignal y'(n). Die Echoabstand-Berechnungseinheit 103 gibt einen Echoabstand SE(n) anhand des empfangenen Signals x(n), des ersten Restsignals d1(n), des zweiten Restsignals d2(n) und der in dem Aktualisierungsfilter 102 verwendeten Aktualisierungsschrittgröße μ(n) aus. Ein Berechnungsverfahren für den Echoabstand SE(n) wird später im Einzelnen beschrieben.
-
Die Restechounterdrückungswert-Berechnungseinheit 104 berechnet einen Restechounterdrückungswert γ(n) durch Verwendung des von der Echoabstand-Berechnungseinheit 103 erzeugten Echoabstands SE(n). Beispielsweise kann sie ihn durch den folgenden Ausdruck (4) berechnen.
-
-
-
Wie in dem folgenden Ausdruck (5) gezeigt ist, führt die Restecho-Unterdrückungseinheit 105 eine Unterdrückungsverarbeitung durch, in dem das erste Restsignal mit dem Restecho-Unterdrückungswert γ(n) der von der Restechounterdrückungswert-Berechnungseinheit 104 berechnet wurde, multipliziert wird, wodurch das geschätzte Signal s'(n) des Nahendsignals s(n) erhalten wird. s'(n) = γ(n)·d1(n) (5)
-
Das vorstehende ist die Beschreibung der Arbeitsweise der Echolöschvorrichtung 100 des Ausführungsbeispiels 1.
-
Als nächstes wird ein Berechnungsverfahren für den Echoabstand SE(n) durch die Echoabstand-Berechnungseinheit 103 im Einzelnen beschrieben. Unter der Annahme, dass die Varianz des Restsignals d(n) und die Varianz des Restechosignals e(n) als σd2 und σe2 definiert werden, wird der Echoabstand SE(n) durch den folgenden Ausdruck (6) definiert.
-
-
Hier kann, da das Restechosignal e(n) im Allgemeinen nicht direkt beobachtet werden kann, der Echoabstand SE(n) nicht durch den vorgenannten Ausdruck (6) berechnet werden. Jedoch macht es die Verwendung der Echolöschvorrichtung 100 des Ausführungsbeispiels 1 möglich, den Echoabstand SE(n) durch Verwendung des beobachtbaren Restsignals und der durch das Aktualisierungsfilter 102 verwendeten Aktualisierungsschrittgröße μ genau zu erhalten. Um die Basis des Berechnungsverfahrens für den Echoabstand SE(n) zu klären, wird ein Ableitungsvorgang des Berechnungsverfahrens im Einzelnen beschrieben.
-
Es wird angenommen, dass die Übertragungsfunktion des Echopfads 900 durch h = [h0, h1, ..., hN-1]T gegeben ist, und ein Fall des Schätzens der Übertragungsfunktion durch das Aktualisierungsfilter 102 betrachtet. Hier ist ein Identifikationsfehler δ(n) zwischen der Übertragungsfunktion des Echopfads 900 und der geschätzten Übertragungsfunktion durch das Aktualisierungsfilter 102 durch den folgenden Ausdruck (7) definiert. δ(n) = ĥ(n) – h (7)
-
Unter der Annahme, dass die Koeffizientenaktualisierungsverarbeitung um einen Schritt gemäß dem vorstehenden Ausdruck (3) fortschreitet, wird der Identifikationsfehler δ(n + 1) durch den folgenden Ausdruck (8) gegeben. δ(n + 1) = ĥ(n + 1) – h
= δ(n) + με(n) (8)
-
Wenn die Größe des Identifikationsfehlers durch die Summe von quadratischen Fehlern der individuellen Anzapfungen der Filterkoeffizienten ausgedrückt wird, wird die Differenz zwischen den Identifikationsfehlern in einem Schritt der Koeffizientenaktualisierungsverarbeitung durch den folgenden Ausdruck (9) gegeben. Δ(n + 1) = δT (n + 1)δ(n + 1) – δT(n)δ(n)
= μ2εT(n)ε(n) + 2μδT(n)ε(n) (9)
-
Die folgende Beschreibung erfolgt mi Wege eines Beispiels, das den NLMS (normierter mittlerer quadratischer Fehler nach der Methode der kleinsten Fehlerquadrate)-Algorithmus verwendet. Jedoch ist die vorliegende Erfindung nicht auf den NLMS beschränkt, sondern kann andere adaptive Algorithmen verwenden, und es wird angenommen, dass Fälle, die andere adaptive Algorithmen verwenden, in der vorliegenden Erfindung enthalten sind.
-
In dem NLMS-Algorithmus ist die Koeffizientenaktualisierungsverarbeitung entsprechend dem vorgenannten Ausdruck (3) durch den folgenden Ausdruck (10) gegeben.
-
-
In dem vorgenannten Ausdruck (10) ist x(n) = [x(n)x(n – 1)..., x(n – N + 1)]T eine empfangene Signalfolge, σx2 ist die Varianz des empfangenen Signals und d(n) ist das Restsignal. Bei der reellen Berechnung ist es jedoch häufig angenähert als Nσ 2 / x ≈ xT(n)x(n) angeordnet, welches die Signalenergie der empfangenen Signalfolge ist.
-
Zusätzlich wird, wenn der NLMS-Algorithmus verwendet wird, der vorgenannte Ausdruck (9) in den folgenden Ausdruck (11) umgeschrieben.
-
-
In dem vorgenannten Ausdruck (11) wird der Umstand angewendet, dass das Restechosginal e(n) durch den Identifikationsfehler δ(n) und das empfangene Signal x(n) gemäß dem folgenden Ausdruck (12) gegeben ist. ε(n) = –δT(n)x(n) (12)
-
Weiterhin kann unter Berücksichtigung des Umstands, dass das empfangene Signal x(n) und das Nahendsignal s(n) im Allgemeinen nicht korreliert und unabhängig sind, der erwartete Wert des Ausdrucks (11) als der folgende Ausdruck (13) angenähert werden.
-
-
Es wird angenommen, dass die einmalige Koeffizientenaktualisierungsverarbeitung unter Verwendung einer beliebigen Aktualisierungsschrittgröße μ durchgeführt wird. Die Differenz zwischen den Varianzen des Restsignals aufgrund der Filterkoeffizienten vor und nach der Koeffizientenaktualisierungsverarbeitung kann durch das Produkt der Differenz Δ(n + 1) der Summe der quadrierten Identifikationsfehler und der Energie Nσ 2 / x der empfangenen Signalfolge x(n) angenähert werden und ist durch den folgenden Ausdruck (14) gegeben. σ 2 / d'(μ) – σ 2 / d = E[Δ(n + 1)]·Nσ 2 / x = μ2σ 2 / d – 2μσ 2 / e (14)
-
Worin σ 2 / d'(μ) die Varianz des Restsignals aufgrund der Filterkoeffizienten nach der Koeffizientenaktualisierungsverarbeitung unter Verwendung der Aktualisierungsschrittgröße μ ist. Es wird angenommen, dass die Koeffizientenaktualisierungsverarbeitung getrennt ausgeführt wird unter Verwendung der Aktualisierungsschrittgrößen μ1 und μ2, und dass die Varianzen der Restsignale gleich σ 2 / d'(μ1) bzw. σ 2 / d'(μ2) sind, und dann ist die Differenz zwischen den beiden durch den folgenden Ausdruck (15) gegeben. σ 2 / d'(μ1) – σ 2 / d'(μ2) = (μ 2 / 1 – μ 2 / 2)μ 2 / d(μ) – 2(μ1 – μ2)σ 2 / e (15)
-
Die Transformation des Ausdrucks (15) ergibt weiterhin den folgenden Ausdruck (16).
-
-
Im Ausdruck (16) ist die linke Seite der Reziprokwert der des Echoabstands. Weiterhin kann der Ausdruck k(16) durch Setzen von μ1 oder μ2 auf Null vereinfacht werden, was durch den folgenden Ausdruck (17) gegeben ist.
-
-
Der Ausdruck (17) zeigt, dass der Reziprokwert des Echoabstands berechnet werden kann durch Beobachten der Varianz σ 2 / d(μ) des Restsignals aufgrund der Filterkoeffizientenfolge in dem Vorhergehenden Schritt des Ausführens der Koeffizientenaktualisierungsverarbeitung und der Varianz σ 2 / d'(μ) des Restsignals aufgrund der Filterkoeffizienten, die durch die Koeffizientenaktualisierungsverarbeitung auf der Grundlage der beliebigen Aktualisierungsschrittgröße μ erhalten wurden.
-
Demgemäß berechnet die Echoabstand-Berechnungseinheit 103 der vorliegenden Erfindung den Echoabstand, der durch den folgenden Ausdruck (18) gegeben ist, anhand des ersten Restsignals d1(n), des zweiten Restsignals d2(n) und der Aktualisierungsschrittgröße.
-
-
Worin
σ 2 / d₁(μ2) die Varianz des ersten Restsignals d1(n) ist und
σ 2 / d₂(μ2) die Varianz des zweiten Restsignals d2(n) ist. Die Werte der Varianzen angenähert in Form der Durchschnittsenergie des Signals oder des Verlustintegralwerts des Quadrats der Amplitude des Signals gemessen werden. Die Durchschnittsenergie P
avg(n) und das Verlustintegral I(n) sind durch den folgenden Ausdruck (19) gegeben.
worin α ein Vergesslichkeitsfaktor ist, der 0 < α < 1 genügt.
-
Unter der Annahme, dass die Aktualisierungsschrittgröße μ(n) für alle Male n = 1 ist, wird der Ausdruck (18) zu dem folgenden Ausdruck (20) reduziert.
-
-
Dies sind die Einzelheiten des Berechnungsverfahrens für den Echoabstand SE(n).
-
Wie vorstehend beschrieben ist, ist die Echolöschvorrichtung 100 nach der vorliegenden Erfindung dadurch gekennzeichnet, dass sie es möglich macht, den Echoabstand SE(n) nur anhand direkt beobachtbarer Statistiken zu berechnen, ohne die akustische Kopplungsgröße oder andere geschätzte Werte zu verwenden. Genauer gesagt, sie kann die Varianz σ 2 / d₁(μ2) des ersten Restsignals und die Varianz σ 2 / d₂(μ2) des zweiten Restsignals, die in der Berechnungsgleichung für den durch den vorstehenden Ausdruck (18) gegebenen Echoabstand verwendet werden, beobachten, ohne von den Störungsbedingungen oder dem Grad der Stabilität des Echos abzuhängen.
-
Dies bedeutet, dass die Anwendung der vorliegenden Erfindung immer die genaue Berechnung des Echoabstands SE(n) ermöglicht, ohne von den Störungsbedingungen oder dem Grad der Stabilität des Echos abzuhängen, und die Konfiguration, die die Unterdrückungsgröße des Restechos gemäß dem so berechneten Echoabstand SE(n) steuert, kann eine Restecho-Unterdrückungswirkung erzielen, die stabiler als bei der herkömmlichen Technik ist. Als eine Folge kann die Echolöschvorrichtung einen genauen Echoabstand berechnen, ohne durch externe Faktoren selbst unter solchen Bedingungen wie große Störungen oder auftretende Echopfadveränderungen beeinträchtigt zu werden, wodurch sie in der Lage ist, die angemessene Echounterdrückungsgröße zu bestimmen und das Restecho immer stabil zu unterdrücken, ohne die gesendete Sprache zu verschlechtern.
-
Als nächstes wird eine andere Konfiguration der Echolöschvorrichtung 100 gezeigt. 2 ist ein Blockschaltbild, das eine andere Konfiguration der Echolöschvorrichtung nach dem Ausführungsbeispiel 1 zeigt. Die Echolöschvorrichtung 110 in 2 weist ein zweites Aktualisierungsfilter 106 zusätzlich zu der in 1 gezeigten Echolöschvorrichtung 100 auf. In 2 sind dieselben Komponenten wie die diejenigen der in 1 gezeigten Echolöschvorrichtung 100 mit denselben Bezugszahlen gekennzeichnet und ihre Beschreibung wird weggelassen.
-
Ein erstes Aktualisierungsfilter 102' weist eine Filterverarbeitungseinheit 102a' und eine Subtraktionsvorrichtung 102b' auf, und das zweite Aktualisierungsfilter 106 weist eine Filterverarbeitungseinheit 106a und eine Subtraktionsvorrichtung 106b auf. Das erste Aktualisierungsfilter 102' und das zweite Aktualisierungsfilter 106 arbeiten in derselben Weise wie das vorhergehende erste Aktualisierungsfilter 102. Es wird hier angenommen, dass das erste Aktualisierungsfilter 102' die erste Aktualisierungsschrittgröße μ1(n) verwendet und das zweite Aktualisierungsfilter 106 die zweite Aktualisierungsschrittgröße μ2(n) verwendet.
-
Durch Hinzufügen des zweiten Aktualisierungsfilters 106 werden der Signalabstand-Berechnungseinheit 103 drei Restsignale zugeführt, das heißt, das erste Restsignal d1(n) von dem Subtraktionsfilter 101, das zweite Restsignal d2(n) von dem ersten Aktualisierungsfilter 102', und ein drittes Restsignal d3(n) von dem dritten Aktualisierungsfilter 106.
-
Die Signalabstand-Berechnungseinheit 103 erhält den Signalabstand SE(n) aus zwei Restsignalen dA(n) und dB(n) unter den drei Restsignalen des ersten Restsignals d1(n), zweiten Restsignals d2(n) und dritten Restsignals d3(n), und aus zwei Parametern μA und μB unter den drei verschiedenen Parametern der ersten Aktualisierungsschrittgröße μ1(n), zweiten Aktualisierungsschrittgröße μ2(n) und „Null” gemäß dem folgenden Ausdruck (21).
-
-
Die folgenden sind konkrete Kombinationen von zwei Restsignalen dA(n) und dB(n) und zwei Parametern μA und μB im Ausdruck (21).
Muster 1: | dA(n) = d2(n), dB(n) = d1(n), μA = μ1(n), μB = 0. |
Muster 2: | dA(n) = d3(n), dB(n) = d2(n), μA = μ2(n), μB = μ1(n). |
Muster 3: | dA(n) = d3(n), dB(n) = d1(n), μA = μ2(n), μB = 0. |
-
Die Echoabstand-Berechnungseinheit 103 kann einen von dem Echoabstand SE1(n) der unter Verwendung des Musters 1 berechnet wird, dem Echoabstand SE2(n), der unter Verwendung des Musters 2 berechnet wird, und dem Echoabstand SE3(n), der unter Verwendung des Musters 3 berechnet wird, als den endgültigen Echoabstand SE(n) auswählen. Alternativ kann sie den Durchschnittswert der drei berechneten Echoabstände berechnen und zu einem endgültigen Echoabstand SE machen. Die Restechounterdrückungsgrößen-Berechnungseinheit 104, die beispielsweise den vorgenannten Ausdruck (4) verwendet, berechnet die Restecho-Unterdrückungsgröße γ(n) anhand des von der Echoabstand-Berechnungseinheit 103 erhaltenen Echoabstands SE(n). Die Restecho-Unterdrückungseinheit 104 führt die Unterdrückungsverarbeitung durch Multiplizieren des ersten Restsignals d1(n) mit der Restecho-Unterdrückungsgröße γ(n) gemäß dem vorstehenden Ausdruck (5) durch, wodurch das geschätzte Signal S'(n) des Nahendsignals S(n) erhalten wird.
-
Somit kann das vorliegende Ausführungsbeispiel einen hochgenauen Echoabstand SE(n) erhalten, in dem es die Echoabstand-Berechnungseinheit 103 zum Berechnen des Echoabstands SE(n) unter Verwendung der mehreren von den mehreren Aktualisierungsfiltern zugeführten Restsignale aufweist.
-
Obgleich 2 die Konfiguration zeigt, die das zusätzliche zweite Aktualisierungsfilter 106 aufweist und das ersteres Signal d1(n), das zweite Restsignal d2(n) und das dritte Restsignal d3(n) zu der Echoabstand-Berechnungseinheit 103 liefert, kann die Anzahl von hinzuzufügenden Aktualisierungsfiltern und die Anzahl der zu der Echoabstand-Berechnungseinheit 103 zu liefernden Restsignale angemessen geändert werden.
-
Obgleich die Beschreibung insoweit beispielhaft für den NLMS-Algorithmus gegeben wurde, werden nachfolgend Beispiele zur Ableitung des Echoabstands SE(n) unter Verwendung des LMS-Algorithmus und des Algorithmus der affinen Projektion als des adaptiven Algorithmus in der Echolöschvorrichtung gemäß der vorliegenden Erfindung beschrieben.
-
LMS-ALGORITHMUS
-
- (Aktualisieren des Ausdrucks von Filterkoeffizienten) ĥ(n + 1) = ĥ(n) + μ(n)d(n)x(n) (22)
- (Echoabstands-Berechnungsausdruck)
-
ALGORITHMUS DER AFFINEN PROJEKTION
-
- (Aktualisieren des Ausdrucks von Filterkoeffizienten) ĥ(n + 1) = ĥ(n) + μ(n)Xp(n)[X T / p(n)Xp(n)]–1dp(n) (24)
- (Echoabstands-Berechnungsausdruck) worin p die Projektionsfolge ist, und Xp(n) = [x(n), x(n – 1), ..., x(n – p + 1)]T dp(n) = [d1(n), d1(n – 1), ..., d1(n – p + 1)]T (26)
-
Die Beispiele der vorstehenden Ausdrücke (22) und (24) können in demselben Prozess wie für das Beispiel des NLMS abgeleitet werden. Wie aus den Ausdrücken (22) und (24) ersichtlich ist, erfordert, um den LMS-Algorithmus oder den Algorithmus der affinen Projektion zu verwenden, die Echoabstand-Berechnungseinheit 103 auch das empfangene Signal x(n) als Information zur Berechnung des Echoabstands SE(n).
-
Zusätzlich kann gemäß der vorliegenden Erfindung die Echolöschvorrichtung ausgebildet sein durch Verwendung eines blockadaptiven Filteralgorithmus wie des BLMS (Block-LMS) oder BOP (orthogonaler Blockprojektionsalgorithmus), das den LMS-Algorithmus oder den Algorithmus für affine Projektion in vorgeschriebenen Signalblockeinheiten durchführt. Unter Verwendung dieser adaptiven Blockfilteralgorithmen wird es möglich, ein Signal vorgeschriebener Blocklänge als das erste Restsignal d1(n) und das zweite d2(n) zu beobachten. Dies verbessert die Genauigkeit von Beobachtungen ihrer Varianzen und Energie, wodurch es möglich ist, einen genaueren Echoabstand zu erhalten.
-
Wie vorstehend beschrieben ist, ist das vorliegende Ausführungsbeispiel 1 in einer solchen Weise ausgebildet, dass es die Echoabstand-Berechnungseinheit 103 zum Berechnen des Echoabstands SE(n) anhand des empfangenen Signals x(n), des ersten Restsignals d1(n), das durch das Subtraktionsfilter 101 erhalten wurde, und des zweiten Restsignals d2(n), das durch das Aktualisierungsfilter 102 erhalten wurde, gemäß der Filteraktualisierungsschrittgröße μ(n), die von dem Aktualisierungsfilter 102 verwendet wird, aufweist. Demgemäß kann es den Echoabstand nur anhand direkt beobachtbarer Statistiken ohne die Verwendung der Größe der akustischen Kopplung unter anderer Schätzwerte berechnen, wodurch es in der Lage ist, einen genauen Echoabstand selbst unter Bedingungen, bei denen große Störungen oder eine Echopfadveränderung auftritt, zu berechnen. Dies ermöglicht, dass Restecho immer stabil ohne Verschlechterung der gesendeten Sprache zu unterdrücken.
-
Zusätzlich ist das vorliegende Ausführungsbeispiel in einer solchen Weise ausgebildet, dass es die Echoabstand-Berechnungseinheit 103 zum Berechnen des Echoabstands SE(n) unter Verwendung des empfangenen Signals x(n), des von dem Subtraktionsfilter 101 erhaltenen ersten Restsignals d1(n), des zweiten Restsignals d2 (n) und der ersten Aktualisierungsschrittgröße μ1(n), die von dem ersten Aktualisierungsfilter 102' zugeführt werden, und des dritten Restsignals d3(n), und der zweiten Aktualisierungsschrittgröße μ2(n), die von dem zweiten Aktualisierungsfilter 106 zugeführt werden, aufweist. Demgemäß kann es einen hochgenauen Echoabstand SE(n) erhalten
-
AUSFÜHRUNGSBEISPIEL 2
-
Es wird ein Echodetektor, der das Subtraktionsfilter 101, das Aktualisierungsfilter 102 und die Echoabstand-Berechnungseinheit 103, die in dem vorbeschriebenen Ausführungsbeispiel 1 gezeigt sind, aufweist, beschrieben. 3 ist ein Blockschaltbild, das eine Konfiguration eines Echodetektors eines Ausführungsbeispiels 2 zeigt.
-
In 3 weist der Echodetektor 200 eine Echoerfassungseinheit 201 anstelle der Restechounterdrückungsgrößen-Berechnungseinheit 104 und der Restecho-Unterdrückungseinheit 105 der im Ausführungsbeispiel 1 gezeigten Echolöschvorrichtung 100 auf. In 3 sind dieselben Komponenten wie diejenigen der in 1 gezeigten Echolöschvorrichtung 100 des Ausführungsbeispiels 1 durch dieselben Bezugszahlen gekennzeichnet und ihre Beschreibung wird weggelassen.
-
Die Echoabstands-Berechnungseinheit 103 berechnet gemäß dem vorstehenden Ausdruck (18) den Echoabstand SE(n) unter Verwendung des empfangenen Signals x(n), des ersten Restsignals d1(n), das von dem Subtraktionsfilter 101 erhalten wurde, des zweiten Restsignals d2(n), das durch das Aktualisierungsfilter 102 erhalten wurde, und der Filteraktualisierungsschrittgröße μ(n), die von dem Aktualisierungsfilter 102 verwendet wird.
-
Die Echoerfassungseinheit 201 entscheidet darüber, ob die Restechogröße nicht kleiner als ein Schwellenwert mit Bezug auf das gesendete Sprachsignal ist oder nicht unter Verwendung des von der Echoabstand-Berechnungseinheit 103 berechneten Echoabstands SE(n), und gibt das Entscheidungsergebnis als ein Echoerfassungsergebnis aus. Als das Ausgangssignal des Echoerfassungsergebnisses verwendet sie ein Kennzeichen flg_ec(n). Wenn sie bestimmt, dass die Restechogröße kleiner als der Schwellenwert mit Bezug auf das gesendete Sprachsignal ist, entscheidet sie, dass das Echo nicht erfasst wurde und gibt das Kennzeichen flg_ec(n) = 0 aus. Demgegenüber entscheidet sie, wenn sie bestimmt, dass die Restechogröße nicht kleiner als der Schwellenwert mit Bezug auf das gesendete Sprachsignal ist, dass das Echo erfasst wurde und gibt das Kennzeichne flg_ec(n) = 1 aus.
-
Als ein konkretes Beispiel für die Verwendung des Echodetektors 200 kann die Sprachcode-Übertragungssteuerung eines Mobiltelefons erwähnt werden. Wenn beispielsweise ein Gegensprechen, bei dem ein Echo einem gesendeten Volumen überlagert ist, während eines Telefongesprächs bei einem Mobiltelefon auftritt, berechnet die Echoabstand-Berechnungseinheit 103 den Echoabstand SE(n) des Restsignals nach Subtrahieren des geschätzten Echos durch das adaptive Filter gemäß dem vorgenannten Ausdruck (18), und die Echoerfassungseinheit 201 erfasst ein Echo anhand des berechneten Echoabstands SE(n). Wenn die Echoerfassungseinheit 201 das Echo erfasst, überträgt danach die Sprachcode-Übertragungssteuerung (nicht gezeigt) einen Code, der eine Pause anzeigt, ohne einen Sprachcode zu übertragen.
-
Wie vorstehend beschrieben ist, ist das vorliegende Ausführungsbeispiel 2 in einer solchen Weise ausgebildet, dass es die Echoabstand-Berechnungseinheit 103 zum Berechnen des Echoabstands SE(n) des Restsignals nach dem Subtrahieren des geschätzten Echos durch das adaptive Filter, und die Echoerfassungseinheit 201 zum Bestimmen gemäß dem berechneten Echoabstand SE(n), ob die Restechogröße nicht kleiner als der Schwellenwert mit Bezug auf das gesendete Sprachsignal ist, aufweist. Demgemäß kann es die Anwesenheit oder Abwesenheit des Echos genau erfassen, selbst wenn sich der Echopfad verändert.
-
Zusätzlich ist das vorliegende Ausführungsbeispiel 2 in einer solchen Weise ausgebildet, dass es die Sprachcode-Übertragungssteuerung unter Verwendung des Echodetektors 200 gemäß dem Erfassungsergebnis der Echoerfassungseinheit 201 durchführt. Demgemäß überträgt es, wenn ein Echo erfasst wird, einen eine Pause anzeigenden Code, ohne einen Sprachcode zu senden, wodurch es in der Lage ist, einen Spielraum für eine Schaltungskapazität vorzusehen und zu verhindern, dass ein Fernendbenutzer des Telefongesprächs das Echo hört und ein Unbehagen empfindet.
-
AUSFÜHRUNGSBEISPIEL 3
-
Das vorbeschriebene Ausführungsbeispiel 1 zeigt eine Konfiguration, bei der das Aktualisierungsfilter 102 die aktualisierte Filterkoeffizientenfolge unter Verwendung des empfangenen Signals x(n) und des Mikrofoneingangssignals y'(n) aktualisiert und das zweite Restsignal d2(n) bald danach unter Verwendung desselben empfangenen Signals x(n) und des Mikrofoneingangssignals y'(n) erhalten wird, und das diese zum Berechnen des Echoabstands SE(n) verwendet.
-
Jedoch erscheint, obgleich das empfangene Signal x(n) und das Nahendsignal s(n) im allgemeinen nicht korreliert sind, manchmal eine Korrelation zwischen dem empfangenen Signal x(n) und dem Nahendsignal s(n), und daher gibt es einige Fälle in denen der Aktualisierungsfilterkoeffizient ĥ(n + 1) das zweite geschätzte Echosignal ŷ2(n) ausgibt, das einen Teil des Nahendsignals s(n) in den zugeführten Mikrofoneingangssignal y'(n) eliminiert. Hierbei gibt es einige Fälle, in denen die Varianz σ 2 / d₂(μ2) des zweiten Restsignals d2(n) vorübergehend reduziert wird, was manchmal eine genaue Berechnung des Echoabstands behindert. Somit zeigt das vorliegende Ausführungsbeispiel 3 eine Konfiguration, die das Restsignal für das empfangene Signal x(n) und das Mikrofoneingangssignal y'(n) erhält, nachdem die Koeffizientenaktualisierungsverarbeitung durchgeführt wurde, wodurch die Berechnungsgenauigkeit für den Echoabstand aufrechterhalten wird.
-
4 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung des Ausführungsbeispiels 3 zeigt. In 4 weist die Echolöschvorrichtung 300 auf: Ein erstes Subtraktionsfilter 101 zum Erzeugen eines ersten geschätzten Antwortsignals und eines ersten Restsignals, ein zweites Subtraktionsfilter 301 zum Erzeugen eines zweiten geschätzten Antwortsignals und eines zweiten Restsignals, eine Echoabstands-Berechnungseinheit 302 zum Berechnen eines Echoabstands, eine Restechounterdrückungsgrößen-Berechnungseinheit 104 zum Berechnen der Unterdrückungsgröße des Restechos, eine Restecho-Unterdrückungseinheit 105 zum Unterdrücken des Restechos, eine Verzögerungsverarbeitungseinheit 303 zum Vorsehen einer Aktualisierungsschrittgröße, die bei der vorhergehenden Operation erhalten wurde, und ein Aktualisierungsfilter 304 zum Durchführen einer Koeffizientenaktualisierung der Filterkoeffizientenfolge.
-
Weiterhin weist das erste Subtraktionsfilter 101' eine Erzeugungseinheit 101a' für ein geschätztes Antwortsignal und eine Subtraktionsvorrichtung 101b auf, und das zweite Subtraktionsfilter 301 weist eine Erzeugungseinheit 301a für ein geschätztes Antwortsignal und eine Subtraktionsvorrichtung 301b auf. In 4 sind dieselben Komponenten wie diejenigen der in 1 gezeigten Echolöschvorrichtung 100 durch dieselben Bezugszahlen gekennzeichnet und ihre Beschreibung wird weggelassen.
-
Als nächstes wird die Arbeitsweise der Echolöschvorrichtung 300 nach dem vorliegenden Ausführungsbeispiel 3 beschrieben.
-
Das erste Subtraktionsfilter 101' erzeugt das erste geschätzte Echosignal ŷ1(n) durch die Filterverarbeitung, die die Filterkoeffizientenfolge (n – 1) verwendet, die als ein Ergebnis bis zu der Operation vor der letzten Operation erhalten wurde, und erhält das erste Restsignal d1(n) durch Subtrahieren des Signals ŷ1(n) von dem Mikrofoneingangssignal y'(n). In gleicher Weise erzeugt das zweite Subtraktionsfilter 301 das zweite geschätzte Echosignal ŷ2(n) durch die Filterverarbeitung, die die Filterkoeffizientenfolge ĥ(n) verwendet, die als ein Ergebnis bis zu der Operation vor der letzten Operation erhalten wurde, und erhält das erste Restsignal d1(n) durch Subtrahieren des Signals ŷ1(n) von dem Mikrofoneingangssignal y'(n). In gleicher Weise erzeugt das zweite Subtraktionsfilter 301 das zweite geschätzte Echosignal ŷ2(n) durch die Filterverarbeitung unter Verwendung der aktualisierten Filterkoeffizientenfolge ĥ(n), die in der vorhergehenden Operation erhalten wurde, und erhält das zweite Restsignal d2(n) durch Subtrahieren des Signals ŷ2(n) von dem Mikrofoneingangssignal y'(n).
-
Die Echoabstands-Berechnungseinheit 302 berechnet den Echoabstand SE(n) unter Verwendung des ersten Restsignals d1(n), des zweiten Restsignals d2(n) und der Aktualisierungsschrittgröße μ(n – 1), die vorher verwendet wurde und von der Verzögerungsverarbeitungseinheit 303 eingegeben wird. Das Berechnungsverfahren ist dasselbe wie das bei dem Ausführungsbeispiel 1. Zusätzlich wird, wenn der LMS-Algorithmus, der Algorithmus für affine Projektion oder dergleichen als der adaptive Algorithmus verwendet wird, wie bei dem Ausführungsbeispiel 1 beschrieben ist, auch das empfangene Signal x(n) verwendet. Die Verzögerungsverarbeitungseinheit 303 speichert vorübergehend die Aktualisierungsschrittgröße μ(n), die das Aktualisierungsfilter 304 für die Koeffizientenaktualisierung verwendet, und liefert sie zu der Echoabstands-Berechnungseinheit 302 zu dem Zeitpunkt, zu dem der nächste Echoabstand SE(n) berechnet wird.
-
Unter Verwendung des von der Echoabstands-Berechnungseinheit 302 erzeugten Echoabstands SE(n) berechnet die Restechounterdrückungsgrößen-Berechnungseinheit 104 die Restecho-Unterdrückungsgröße γ(n) beispielsweise unter Verwendung des vorgenannten Ausdrucks (4). Weiterhin erzeugt die Restecho-Unterdrückungseinheit 105 das Ausgangssignal s'(n) durch Multiplizieren des ersten Restsignals d1(n) mit der Restecho-Unterdrückungsgröße γ(n), die von der Restechounterdrückungsgrößen-Berechnungseinheit 104 erzeugt wurde, unter Verwendung des vorgenannten Ausdrucks (5).
-
Das Aktualisierungsfilter 304 aktualisiert die Filterkoeffizientenfolge ĥ(n) unter Verwendung des empfangenen Signals x(n), des zweiten Restsignals d2(n) und der beliebig bestimmten Aktualisierungsschrittgröße μ(n), und erhält die Filterkoeffizientenfolge ĥ(n + 1), die gemäß dem folgenden Ausdruck (27) aktualisiert ist. ĥ(n +1) = ĥ(n) + μ(n)ε(n) (27)
-
Es wird hier angenommen, dass die Aktualisierung nicht an dem Anfangspunkt durchgeführt wird, an dem n = 0 ist, aufgrund des Fehlens der Koeffizientenaktualisierungsgröße, und dass die Filterkoeffizientenfolge ĥ(1) den Anfangswert ĥ(0) aufrechterhält. Der durch das Aktualisierungsfilter 304 aktualisierte Filterkoeffizient ĥ(n + 1) wird als der Filterkoeffizient des zweiten Subtraktionsfilters 301 bei der nächsten Folge n + 1 verwendet.
-
Wie vorstehend beschrieben ist, ist das vorliegende Ausführungsbeispiel 3 in einer solchen Weise ausgebildet, dass es das Aktualisierungsfilter 304 zum Aktualisieren der Filterkoeffizientenfolge, das zweite Subtraktionsfilter 301 zum Erhalten des zweiten Restsignals d2(n) aus dem empfangenen Signal x(n) und das Mikrofoneingangssignal y'(n), die nach der Aktualisierung der Filterkoeffizientenfolge zugeführt werden, und die Echoabstands-Berechnungseinheit 302 zum Berechnen des Echoabstands SE(n) unter Verwendung des zweiten Restsignals d2(n) aufweist. Demgemäß kann es verhindern, dass die Varianz σ 2 / d₂(μ2) des zweiten Restsignals d2(n) als kleiner erscheint aufgrund der Korrelation zwischen dem empfangenen Signal und dem Nahendsignal, wodurch es möglich ist, den Echoabstand SE(n) genau zu berechnen, und das Restecho angemessen zu unterdrücken.
-
Obgleich das vorbeschriebene Ausführungsbeispiel 3 die Konfiguration zeigt, die die bei der vorhergehenden Operation erhaltene Aktualisierungsschrittgröße μ(n – 1) verwendet, ist es nicht auf die bei der vorhergehenden Operation erhaltene Koeffizientenaktualisierungsgröße beschränkt, sondern kann angemessen geändert werden. Beispielsweise ist auch eine Konfiguration möglich, die die Aktualisierungsschrittgröße μ(n – 2), die bei der Operation vor der letzten Operation erhalten wurde, verwendet.
-
AUSFÜHRUNSBEISPIEL 4
-
Wenn eine Nahendsignal-Erzeugungsbedingung oder ein Konvergenzzustand des Aktualisierungsfilters von Frequenzband zu Frequenzband verschieden ist, ermöglicht die Anwendung der vorliegenden Erfindung auf einen adaptiven Algorithmus, der eine Zeit/Frequenz-Umwandlung wie ein Hochgeschwindigkeits-LMS verwendet, um den Echoabstand zu berechnen und die Restecho-Unterdrückungsverarbeitung für jedes Frequenzband durchzuführen, die Erzielung eines effizienteren Echolöschens zu erwarten. Somit beschreibt das vorliegende Ausführungsbeispiel 4 eine Konfiguration, die den adaptiven Algorithmus unter Verwendung der Zeit/Frequenz-Umwandlung anwendet.
-
5 ist ein Blockschaltbild, das die Konfiguration einer Echolöschvorrichtung nach einem Ausführungsbeispiel 4 zeigt.
-
In 5 weist eine Echolöschvorrichtung 400 auf: Ein Subtraktionsfilter 101 zum Erzeugen eines ersten geschätzten Echosignals und eines ersten Restsignals; ein Aktualisierungsfilter 403 zum Erzeugen eines zweiten geschätzten Echosignals und eines zweiten Restsignals durch Ausführen der Koeffizientenaktualisierung der Filterkoeffizientenfolge und durch Verwenden der aktualisierten Filterkoeffizientenfolge; eine Echoabstands-Berechnungseinheit 407 zum Berechnen des Echoabstands; eine Restechounterdrückungsgrößen-Berechnungseinheit 408 zum Berechnen der Unterdrückungsgröße des Restechos; eine Restecho-Unterdrückungseinheit 409 zum Unterdrücken des Restechos; eine erste, zweite und vierte Zeit/Frequenz-Umwandlungseinheit 401, 402 und 406 zum Erhalten von Frequenzelementen durch die Zeit/Frequenz-Umwandlung des Zeitsignals; und eine dritte und fünfte Zeit/Frequenz-Umwandlungseinheit 404 und 410 zum Durchführen einer umgekehrten Umwandlung von den Frequenzelementen in das Zeitsignal.
-
Weiterhin weist das Subtraktionsfilter 401 eine Erzeugungseinheit 101a für ein geschätztes Antwortsignal und eine Subtraktionsvorrichtung 101b auf, und das Aktualisierungsfilter 403 weist eine Filterverarbeitungseinheit 403a auf.
-
Als nächstes wird die Arbeitsweise der Echolöschvorrichtung 400 nach dem Ausführungsbeispiel 4 gemäß der vorliegenden Erfindung beschrieben.
-
Die Echolöschvorrichtung 400 weist die erste bis fünfte Zeit/Frequenz-Umwandlungseinheit 401, 402, 404, 406 und 410 zum Durchführen der Zeit/Frequenz-Umwandlung auf. Demgemäß führt sie die Verarbeitung nach dem Teilen des Signals in Blöcke mit einer vorgeschriebenen Blocklänge L durch. In der folgenden Beschreibung wird angenommen, dass die Blockzahl von dem Startpunkt der Verarbeitung durch k bezeichnet wird.
-
Das Subtraktionsfilter 101 erzeugt, wenn es das empfangene Signal x(n) erhält, das erste geschätzte Echosignal ŷ1(n) durch die Filterverarbeitung unter Verwendung der bis zu der vorhergehenden Operation erhaltenen Filterkoeffizientenfolge ĥ(k), und erhält das erste Restsignal d1(n) durch Subtrahieren des Signals ŷ1(n) von dem Mikrofoneingangssignal y'(n).
-
Die erste Zeit/Frequenz-Umwandlungseinheit 401 erhält die Frequenzelemente X(ω, k) des empfangenen Signals x(n), indem die Zeit/Frequenz-Umwandlung des empfangenen Signals x(n) für jede Blocklänge L durchgeführt wird. Hier ist ω eine Index bezeichnende Frequenz. Zusätzlich kann hier beispielsweise die DFT (diskrete Fourrier-Transformation) als die Zeit/Frequenz-Umwandlung verwendet werden. In gleicher Weise führt die zweite Zeit/Frequenz-Umwandlungseinheit 402 die Zeit/Frequenz-Umwandlung des ersten Restsignals d1(n) durch, um die Frequenzelemente D1(ω, k) des ersten Restsignals zu erhalten.
-
Unter Verwendung der Frequenzelemente X(ω, k) des empfangenen Signals x(n), der Frequenzelemente D1(ω, k) des ersten Restsignals D1(n) und der beliebigen Aktualisierungsschrittgrößen μ(ω, k), die anhand der individuellen Frequenzelemente bestimmt wurden, aktualisiert das Aktualisierungsfilter 403 die Frequenzelemente Ĥ(k) der Filterkoeffizientenfolge, die als ein Ergebnis der Operation bis zu der vorhergehenden Operation erhalten wurden, gemäß dem vorgeschriebenen adaptiven Algorithmus, wodurch die Frequenzelemente Ĥ(k + 1) der aktualisierte Filterkoeffizientenfolge erhalten werden.
-
Als ein Beispiel für das Aktualisierungsfilter in einer derartigen Frequenzdomäne ist ein Hochgeschwindigkeits-LMS-Algorithmus vorgesehen, der in dem folgenden Dokument 2 beschrieben ist. Als ein alternatives Verfahren ist es auch möglich, ein MDF (Mehrverzögerungsfilter) auf der Grundlage des Hochgeschwindigkeits-LMS-Algorithmus zu verwenden.
Dokument 2:
S. Haykin, "Adaptive Filter Theory" übersetzt von Hiroshi SUZUKI, et al., Kagaku Gijutsu Shuppan, Inc. 10. Januar 2001, Seiten 500–514.
-
Das Aktualisierungsfilter 403 führt eine Filterverarbeitung der Frequenzelemente X(ω, k) des empfangenen Signals x(n) unter Verwendung der Frequenzelemente Ĥ(k) der aktualisierten Filterkoeffizientenfolge durch und erhält die Frequenzelemente Ŷ2(ω, k) des zweiten geschätzten Echosignals. Die dritte Zeit/Frequenz-Umwandlungseinheit 404 führt eine umgekehrte Umwandlung der Frequenzelemente Ŷ2(ω, k) des zweiten geschätzten Echosignals von den Frequenzelementen in das Zeitsignal durch und erhält das zweite geschätzte Echosignal ŷ2(n) . Eine erste Subtraktionsvorrichtung 405 erhält das zweite Restsignal d2(n) durch Subtrahieren des zweiten geschätzten Echosignals ŷ2(n) von dem Mikrofoneingangssignal y'(n), und die vierte Zeit/Frequenz-Umwandlungseinheit 406 führt die Zeit/Frequenz-Umwandlung des zweiten Restsignals d2(n) durch und erhält die Frequenzelemente D2(ω, k) des zweiten Restsignals.
-
Durch Verwendung der Frequenzelemente D1(ω, k) des ersten Restsignals d1(n), der Frequenzelemente D2(ω, k) des zweiten Restsignals d2 (n) und der Aktualisierungsschrittgrößen μ(ω, k) berechnet die Echoabstands-Berechnungseinheit 407 die Echoabstände SE(ω, k) für die individuellen Frequenzelemente. Abhängig von dem verwendeten adaptiven Algorithmus werden auch die Frequenzelemente X(ω, k) des eingegebenen Signals für die Berechnung verwendet. In dem Fall des vorgenannten Hochgeschwindigkeits-LMS-Algorithmus wird der Echoabstand (SE(ω, k) beispielsweise durch den folgenden Ausdruck (28) bestimmt.
-
-
Die Restechounterdrückungsgrößen-Berechnungseinheit 408 berechnet die Restechounterdrückungsgröße γ(ω, k) für jede Frequenz unter Verwendung des von der Echoabstands-Berechnungseinheit 407 erhaltenen Echoabstands SE(ω, k). Weiterhin unterdrückt die Restecho-Unterdrückungseinheit 409 das Restecho durch Multiplizieren der Frequenzelemente D1(ω, k) des ersten Restsignals d1(n) mit den Restecho-Unterdrückungsgrößen γ(ω, k) für die individuellen Frequenzen, die von der Restecho-Unterdrückungsgrößen-Berechnungseinheit 408 berechnet wurden. Die fünfte Zeit/Frequenz-Umwandlungseinheit 410 führt die umgekehrte Umwandlung des auf diese Weise erhaltenen Ausgangssignals S'(ω, k) von den Frequenzelementen in das Zeitsignal durch, wodurch das Ausgangssignal s'(n) ausgegeben wird.
-
In dem die Restechos für die individuellen Frequenzen auf diese Weise unterdrückt werden, wird die Restechounterdrückung, die dem geschätzten Echosignal, der Nahendsignal-Erzeugungsbedingung und dem Konvergenzzustand des Aktualisierungsfilters entspricht, möglich. Wenn sich beispielsweise die Nahendsignalbedingung in Abhängigkeit von dem Frequenzband derart ändert, dass das Nahendsignal in einem bestimmten Frequenzband groß ist und in einem anderen Frequenzband klein ist, wird eine ausreichende Restechounterdrückung in dem Frequenzband, in welchem das Nahendsignal groß ist, durchgeführt, da die Energie des Restechosignals hoch ist, aber eine schwächere REstechounterdrückung wird in dem Frequenzband durchgeführt, in welchem das Nahendsignal klein ist, da die Energie des Restechosignals niedrig ist. Somit kann die Verschlechterung des Nahendsignals herabgesetzt werden.
-
Wie vorbeschrieben ist, ist das vorliegende Ausführungsbeispiel 4 in einer solchen Weise ausgebildet, dass es die erste bis fünfte Zeit/Frequenz-Umwandlungseinheit 401, 402, 404, 406 und 410 zum Durchführen der Zeit/Frequenz-Umwandlung, die Echoabstands-Berechnungseinheit 407 zum Berechnen des Echoabstands entsprechend der Störungsbedingung und dem Konvergenzzustand des Aktualisierungsfilters für jedes Frequenzelement, und die Restechounterdrückungsgrößen-Berechnungseinheit 408 und die Restecho-Unterdrückungseinheit 409 zum Durchführen der Restechounterdrückung unter Verwendung des berechneten Echoabstands aufweist. Demgemäß kann es die Restechounterdrückung entsprechend der Größe des Nahendsignals für jedes Frequenzband durchführen. Genauer gesagt, es unterdrückt ein Restechoempfinden durch Erhöhen der Restecho-Unterdrückungsgröße in einem Frequenzband, in welchem das Nahendsignal groß ist und durch Herabsetzen der Restecho-Unterdrückungsgröße in einem Frequenzband, in welchem das Nahendsignal klein ist, wodurch es möglich ist, die Verschlechterung in dem gesendeten Sprachsignal, das in dem Nahendsignal enthalten ist, zu verringern.
-
AUSFÜHRUNGSBEISPIEL 5
-
Obgleich das vorhergehende Ausführungsbeispiel 4 eine Konfiguration zum Berechnen des Echoabstands für jedes Frequenzband unter Verwendung der Zeit/Frequenz-Umwandlung zeigt, zeigt das vorliegende Ausführungsbeispiel 5 eine Konfiguration, die, wenn eine hohe Frequenzauflösung nicht erforderlich ist, die Restecho-Unterdrückungsverarbeitung entsprechend der Nahendsignalbedingung und dem Konvergenzzustand des Aktualisierungsfilters für jedes Subband unter Verwendung eines Subbandfilters durchführt.
-
6 ist ein Blockschaltbild, das eine Konfiguration einer Echolöschvorrichtung nach dem Ausführungsbeispiel 5 zeigt. In 6 weist die Echolöschvorrichtung 500 eine Subband-Zerlegungseinheit 501, eine zweite Subband-Zerlegungseinheit 502, eine Echolöscheinheitengruppe 503 mit mehreren Echolöscheinheiten, die so ausgebildet sind, dass sie die in den vorhergehenden Ausführungsbeispielen 1 oder 3 gezeigten Funktionen haben, und eine Subband-Zusammensetzungseinheit 504 auf.
-
Als nächstes wird die Arbeitsweise der Echolöschvorrichtung 500 nach dem Ausführungsbeispiel 5 beschrieben.
-
Die erste Subband-Zerlegungseinheit 501 teilt das empfangene Signal x(n), das zu dem Echopfad 900 geliefert wird, in M-Bänder, wobei M eine vorgeschriebene Teilungszahl ist, und erhält die empfangenen Signale x(1)(n), x(2)(n), ..., x(M)(n), die in Subbänder geteilt sind. In gleicher Weise teilt die zweite Subband-Zerlegungseinheit 502 das Mikrofoneingangssignal y'(n) in M-Frequenzbänder und erhält die Mikrofoneingangssignale y'(1)(n), y'(2)(n), ..., y'(M)(n), die in Subbänder geteilt sind.
-
Entsprechend den M-Subbändern besteht die Echolöscheinheitengruppe 503 aus einem Satz der Echolöscheinheiten 503 (1), 503 (2), ..., 503 (M) (nachfolgend allgemein als die Echolöscheinheitengruppe 503 bezeichnet). Die in den Ausführungsbeispielen 1 oder 3 beschriebene Echolöschvorrichtung ist auf jede Einheit in der Echolöscheinheitengruppe 503 anwendbar, die jedem Subband entspricht. Demgemäß führen in der Echolöscheinheitengruppe 503 für die M-Paare aus den empfangenen Signalen x(n) und den Mikrofoneingangssignalen y'(n), die in die Subbänder unterteilt sind, die individuellen Subband-Echolöscheinheiten 503 die Verarbeitung durch, um M-Ausgangssignale s'(1)(n), s'(2)(n), ..., s'(M)(n), die der Subbandzerlegung unterzogen sind, zu erhalten. Die Subband-Zusammensetzungseinheit 504 führt eine Subbandzusammensetzung der in Subbänder zerlegten Ausgangssignale s'(1)(n), s'(2)(n), ..., s'(M)(n) durch und erhält das Ausgangssignal s'(n).
-
Wie vorstehend beschrieben ist, ist das gegenwärtige Ausführungsbeispiel 5 so ausgebildet, dass es aufweist: Die erste Subband-Zerlegungseinheit 501 zum Teilen des empfangenen Signals x(n) in die Frequenzbänder; die zweite Subband-Zerlegungseinheit 502 zum Teilen des Mikrofoneingangssignals y'(n) in die Frequenzbänder; die Echolöscheinheitengruppe 503 zum Durchführen des Restecho-Unterdrückungsverarbeitung der individuellen Signale, die der Teilung in die Frequenzbänder unterzogen wurden; und die Subband-Zusammensetzungseinheit 504 zum Durchführen einer Subband-Zusammensetzung der Ausgangssignale der Subband-Zerlegung. Demgemäß kann es, selbst wenn die Nahendsignalbedingung und der Konvergenzzustand des Aktualisierungsfilters von Frequenzband zu Frequenzband unterschiedlich sind, das Restecho schneller und auf einen ausreichend kleineren Wert herabsetzen.
-
Hinsichtlich der Echolöschvorrichtungen gemäß den vorbeschriebenen Ausführungsbeispielen 3 bis 5 kann der Echodetektor zum Erfassen eines Echos in derselben Weise wie der in dem Ausführungsbeispiel 2 gezeigte Echodetektor ausgebildet sein, in dem eine Entscheidung dahingehend gefällt wird, ob die Restechogröße nicht geringer als ein Schwellenwert ist, mit Bezug auf das gesendete Sprachsignal unter Verwendung des Echoabstands SE(n) des Restsignals nach der Subtraktion des durch das adaptive filterberechneten geschätzten Echos. Wenn der Echodetektor gestaltet wird, können die in dem Ausführungsbeispiel 4 gezeigte fünfte Zeit/Frequenz-Umwandlungseinheit 410 und die in dem Ausführungsbeispiel 5 gezeigte Subband-Zusammensetzungseinheit 504 entfernt werden. Die Anwendung der Konfigurationen der Echolöschvorrichtungen nach den Ausführungsbeispielen 3 bis 5 auf die Echodetektoren ermöglicht die genaue Erfassung des Restechos, selbst wenn der Echopfad variiert.
-
Es ist darauf hinzuweisen, dass eine freie Kombination der individuellen Ausführungsbeispiele, Veränderungen jeglicher Komponenten der individuellen Ausführungsbeispiele oder die Entfernung jeglicher Komponenten aus den individuellen Ausführungsbeispielen innerhalb des Bereichs der vorliegenden Erfindung möglich sind.
-
GEWERBLICHE ANWENDBARKEIT
-
Wie vorstehend beschrieben ist, sind eine Echolöschvorrichtung und ein Echodetektor gemäß der vorliegenden Erfindung in der Lage, das Auftreten des Restechos zu unterdrücken, selbst wenn das Telefongespräch unter großen Störungen durchführt wird oder der Echopfad sich verändert, und sie sind in der Lage ein gutes Umfeld für das Telefongespräch vorzusehen, ohne das Telefongespräch durch übermäßiges Unterdrücken der gesendeten Sprache zu behindern. Demgemäß ist sie anwendbar auf eine Technik zum Erfassen eines Echos des empfangenen Signals, das in das gesendete Signal gemischt ist, und zum Löschen des erfassten Echos aus dem gesendeten Signal.
-
BESCHREIBUNG DER BEZUGSSYMBOLE
-
- 100, 110, 300, 400, 500 Echolöschvorrichtung; 101 Subtraktionsfilter; 101' erstes Subtraktionsfilter; 101a, 101a', 301a Erzeugungseinheit für geschätztes Antwortsignal; 101b, 101b', 301b Subtraktionsvorrichtung; 102, 403 Aktualisierungsfilter; 102' erstes Aktualisierungsfilter; 102a, 102a', 106a, 403a Filterverarbeitungseinheit; 102b, 102b', 106b Subtraktionsvorrichtung; 103, 302, 407 Echoabstands-Berechnungseinheit; 104, 408 Restechounterdrückungsgrößen-Berechnungseinheit; 105, 409 Restecho-Unterdrückungseinheit; 106 zweites Aktualisierungsfilter; 200 Echodetektor; 201 Echoerfassungseinheit; 301 zweites Subtraktionsfilter; 303 Verzögerungsverarbeitungseinheit; 401 erste Zeit/Frequenz-Umwandlungseinheit; 402 zweite Zeit/Frequenz-Umwandlungseinheit; 404 dritte Zeit/Frequenz-Umwandlungseinheit; 406 vierte Zeit/Frequenz-Umwandlungseinheit; 410 fünfte Zeit/Frequenz-Umwandlungseinheit; 501 erste Subband-Zerlegungseinheit; 502 zweite Subband-Zerlegungseinheit; 503 Echolöscheinheitengruppe; 504 Subband-Zusammensetzungseinheit; 900 Echopfad; 901 Lautsprecher; 902 Mikrofon.
-
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
-
-
Zitierte Nicht-Patentliteratur
-
- ITU-T-Empfehlung G. 165 (Abschnitte 17–20) [0005]
- Sumitaka SAKAUCHI et al., ”Ambient Noise and Residual Echo Reduction Using Short-time Spectral Amplitude Estimation”, NTT R & D, Band 50, Nr. 4, Seiten 246–252, (2001) [0026]
- S. Haykin, ”Adaptive Filter Theory” übersetzt von Hiroshi SUZUKI, et al., Kagaku Gijutsu Shuppan, Inc. 10. Januar 2001, Seiten 500–514 [0092]