DE102015116323A1 - Detektion von Schallechokompensation - Google Patents

Detektion von Schallechokompensation Download PDF

Info

Publication number
DE102015116323A1
DE102015116323A1 DE102015116323.3A DE102015116323A DE102015116323A1 DE 102015116323 A1 DE102015116323 A1 DE 102015116323A1 DE 102015116323 A DE102015116323 A DE 102015116323A DE 102015116323 A1 DE102015116323 A1 DE 102015116323A1
Authority
DE
Germany
Prior art keywords
far
echo
signal
end signal
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015116323.3A
Other languages
English (en)
Inventor
Senthil Kumar MANI
Srinivas Akella
Anupama Ghantasala
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of DE102015116323A1 publication Critical patent/DE102015116323A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R23/00Arrangements for measuring frequencies; Arrangements for analysing frequency spectra
    • G01R23/16Spectrum analysis; Fourier analysis
    • G01R23/18Spectrum analysis; Fourier analysis with provision for recording frequency spectrum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/085Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using digital techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)

Abstract

Echokompensationsdetektor zum Steuern eines Schallechokompensators, der dafür konfiguriert ist, ein Echo eines Signals des fernen Endes in einem Signal des nahen Endes in einem Telephoniesystem zu kompensieren, wobei der Echokompensationsdetektor einen Vergleichsgenerator, der dafür konfiguriert ist, das Signal des fernen Endes mit dem Signal des nahen Endes zu vergleichen, eine Entscheidungseinheit, die dafür konfiguriert ist, auf der Grundlage dieses Vergleichs eine Bestimmung über einen ersten Schallechokompensator vorzunehmen, und einen Controller, der dafür konfiguriert ist, einen Betrieb des zweiten Schallechokompensators in Abhängigkeit von der Bestimmung zu steuern, umfasst.

Description

  • Diese Erfindung bezieht sich auf die Echokompensation in der Telephonie.
  • In der Telephonie werden Audiosignale (die z. B. Sprachsignale enthalten) zwischen einem nahen Ende und einem fernen Ende übertragen. Signale des fernen Endes, die bei dem nahen Ende empfangen werden, können von einem Lautsprecher ausgegeben werden. Ein Mikrofon bei dem nahen Ende kann verwendet werden, um ein Signal des nahen Endes zu erfassen, damit es zu dem fernen Ende übertragen wird. Wenn wenigstens ein Teil des Signals des fernen Endes, das bei dem nahen Ende ausgegeben wird, in dem Signal des nahen Endes enthalten ist, das zu dem fernen Ende zurückgesendet wird, tritt ein ”Echo” auf. In diesem Sinn kann das Echo als eine Reflexion des Signals des fernen Endes angesehen werden. In 1a ist ein beispielhaftes Szenarium dargestellt, das ein Signal zeigt, das durch ein Mikrofon des fernen Endes erfasst wird und durch einen Lautsprecher des nahen Endes ausgegeben wird. Das Echo ist eine Folge der akustischen Kopplung zwischen dem Lautsprecher und dem Mikrofon; das Mikrofon erfasst außer der Sprache des Sprechers des nahen Endes und irgendwelchem Hintergrundrauschen des nahen Endes das von seinem eigenen Lautsprecher ausgehende Signal. Das Ergebnis ist ein Echo bei dem Lautsprecher des fernen Endes. Die Echokompensation ist ein wichtiges Merkmal der Telephonie. Insbesondere erfordern Freihandvorrichtungen und Telekonferenzen eine Echokompensation, die sich an Umgebungen mit einem weiten Bereich akustischer Eigenschaften anpassen kann. In diesen Beispielen trägt eine Kombination von Faktoren dazu bei, dass das Echo ein größeres Problem darstellt. Erstens ist die Lautstärke, mit der das Signal des fernen Endes von dem Lautsprecher des nahen Endes ausgegeben wird, üblicherweise hoch genug, damit das Signal des fernen Endes ein erheblicher Teil des von dem Mikrofon des nahen Endes erfassten Signals ist. Zweitens neigen die physikalischen Anordnungen des Lautsprechers und des Mikrofons in diesen Anordnungstypen dazu, zu einer guten akustischen Kopplung zwischen den zwei zu führen.
  • Üblicherweise synthetisieren Schallechokompensatoren aus dem Sprachsignal des fernen Endes einen Schätzwert des Echos. Daraufhin wird das geschätzte Echo von dem Mikrofonsignal subtrahiert. Diese Technik erfordert eine adaptive Signalverarbeitung, um ein Signal zu erzeugen, das genau genug ist, um das Echo wirksam zu kompensieren. Häufig wird ein adaptives Filter verwendet, um die Schallimpulsantwort der Umgebung zu modellieren.
  • Eine Anwendung für die Schallechokompensation bildet häufig einen Teil einer Nutzeranwendung wie etwa einer VoIP-Software (Voice-over-Internet-Protocol-Software). Es besteht ein erhöhter Bedarf an einer hochauflösenden Sprachqualität in VoIP-Kommunikationen. Einige Mobiltelephonhändler integrieren nun in ihre Plattformaudioschnittstelle einen Schallechokompensator (AEC), der für Nutzeranwendungen zugänglich ist. Wenn eine Nutzeranwendung, die die Schallechokompensation implementiert, auf einer Plattform ausgeführt wird, die ebenfalls eine Schallechokompensation implementiert, kann dies eine schwere Auswirkung auf die Sprachqualität haben. 1b veranschaulicht eine Implementierung, in der die zwei hintereinandergeschaltet sind. Nichtlineare Module wie etwa ein Rauschkompensator, ein nichtlinearer Prozessor, ein Comfort-Noise-Generator und ein automatischer Verstärkungscontroller in dem Plattform-AEC können sich auf den Betrieb des Nutzeranwendungs-AEC negativ auswirken. Zum Beispiel modelliert der Nutzeranwendungs-AEC die Echowegimpulsantwort während der Anwesenheit von Sprache des fernen Endes. Dies kann veranlassen, dass er ein Echo regeneriert, das durch den Plattform-AEC kompensiert wurde. Außerdem können dadurch, dass sich der Anwendungs-AEC an das hohe Signal des fernen Endes anpasst, Perioden von Gegensprechbetrieb (DT) gestört oder zerhackt werden.
  • Vorzugsweise sollte der Nutzeranwendungs-AEC deaktiviert werden, wenn er in einer Plattform arbeitet, die in ihrer Audioschnittstelle ebenfalls einen AEC aufweist. Einige Vorrichtungshändler erkennen das Problem und stellen Informationen bereit, die über die relevante Anwendungsprogrammierschnittstelle (API) die Anwesenheit eines Plattform-AEC angeben. Diese Informationen können verwendet werden, um den Anwendungs-AEC nach Bedarf ein- oder auszuschalten. Allerdings ist diese Vorgehensweise unzuverlässig, da sie vollständig davon abhängt, dass Händler die AEC-Informationen bereitstellen. Somit besteht eine Notwendigkeit eines verbesserten Mechanismus zum Detektieren der Anwesenheit eines Plattform-AEC.
  • In Übereinstimmung mit einer ersten Ausführungsform wird ein Echokompensationsdetektor zum Steuern eines Schallechokompensators geschaffen, der dafür konfiguriert ist, ein Echo eines Signals des fernen Endes in einem Signal des nahen Endes in einem Telephoniesystem zu kompensieren, wobei der Echokompensationsdetektor einen Vergleichsgenerator, der dafür konfiguriert ist, das Signal des fernen Endes mit dem Signal des nahen Endes zu vergleichen, eine Entscheidungseinheit, die dafür konfiguriert ist, auf der Grundlage dieses Vergleichs eine Bestimmung über einen ersten Schallechokompensator vorzunehmen, und einen Controller, der dafür konfiguriert ist, einen Betrieb eines zweiten Schallechokompensators in Abhängigkeit von der Bestimmung zu steuern, umfasst.
  • Die Entscheidungseinheit kann dafür konfiguriert sein, eine Bestimmung vorzunehmen, ob ein erster Schallechokompensator vorhanden ist.
  • Der Controller kann dafür konfiguriert sein: in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator vorhanden ist, den zweiten Schallechokompensator in einen Zustand zu steuern, in dem er nicht arbeitet; und in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator vorhanden ist, den zweiten Schallechokompensator in einen Zustand zu steuern, in dem er arbeitet.
  • Der Controller kann eine Überwachungseinheit umfassen, die dafür konfiguriert ist zu überwachen, ob der erste Schallechokompensator das Echo des fernen Signals erfolgreich aus einem Mikrofonsignal entfernt, um das Signal des nahen Endes bereitzustellen, wobei der Controller dafür konfiguriert ist, in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator das Echo des fernen Endes nicht erfolgreich aus dem Mikrofonsignal entfernt, den zweiten Schallechokompensator in einen Zustand zu steuern, in dem er zum Entfernen des Echos des fernen Endes aus dem Signal des nahen Endes arbeitet.
  • Der Vergleichsgenerator kann dafür konfiguriert sein, eine Angabe des Frequenzspektrums des Signals des fernen Endes mit einer Angabe des Frequenzspektrums des Signals des nahen Endes zu vergleichen.
  • Der Vergleichsgenerator kann dafür konfiguriert sein, eine binäre Darstellung des Frequenzspektrums des Signals des fernen Endes mit einer binären Darstellung des Frequenzspektrums des Signals des nahen Endes zu vergleichen.
  • Der Vergleichsgenerator kann einen Frequenzspektrengenerator umfassen, der dafür konfiguriert ist, eine binäre Darstellung eines Frequenzspektrums zu bilden, durch: Darstellen eines Frequenz-Pins in dem Frequenzspektrum mit einer Größe über einem vorgegebenen Schwellenwert als einen ersten vorgegebenen Wert in der binären Darstellung; und Darstellen eines Frequenz-Pins mit einer Größe unter dem vorgegebenen Schwellenwert als einen zweiten vorgegebenen Wert in der binären Darstellung.
  • Der Frequenzspektrengenerator kann dafür konfiguriert sein, die binäre Darstellung des Frequenzspektrums zu bilden, um nur ausgewählte Frequenz-Pins darzustellen.
  • Der Frequenzspektrengenerator kann dafür konfiguriert sein, die Frequenz-Pins entsprechend den in menschlicher Sprache zu findenden Frequenzen auszuwählen.
  • Der Vergleichsgenerator kann dafür konfiguriert sein, das Signal des fernen Endes mit dem Signal des nahen Endes durch Zählen der Anzahl entsprechender Frequenz-Pins, für die die binären Darstellungen der Signale des fernen Endes und des nahen Endes beide den ersten vorgegebenen Wert aufweisen oder beide den zweiten vorgegebenen Wert aufweisen, zu vergleichen.
  • Der Vergleichsgenerator kann konfiguriert sein zum: Vergleichen einer binären Darstellung des Signals des nahen Endes für den aktuellen Rahmen mit binären Darstellungen des Signals des fernen Endes für mehrere vorhergehende Rahmen; und Addieren einer Einheit zu dem Zählwert, falls eine binäre Darstellung des Signals des fernen Endes für irgendeinen dieser vorhergehenden Rahmen den ersten oder den zweiten vorgegebenen Wert für einen Frequenz-Bin umfasst, der einem Frequenz-Bin entspricht, in dem die binäre Darstellung des Signals des nahen Endes für den aktuellen Rahmen denselben ersten bzw. zweiten vorgegebenen Wert aufweist.
  • Der Vergleichsgenerator kann dafür konfiguriert sein, den Zählwert mit einem oder mit mehreren Zählwerten, die durch Vergleichen vorhergehender Rahmen des Signals des nahen Endes und des Signals des fernen Endes erzeugt wurden, zu mitteln.
  • Der Controller kann konfiguriert sein zum: Steuern des zweiten Schallkompensators in einen Zustand, in dem er nicht arbeitet, falls der gemittelte Zählwert unter einem vorgegebenen Schwellenwert liegt; und Steuern des zweiten Schallkompensators in einen Zustand, in dem er arbeitet, falls der gemittelte Zählwert über dem vorgegebenen Schwellenwert liegt.
  • Der Echokompensationsdetektor kann dafür konfiguriert sein, die Anwesenheit von Sprache des fernen Endes zu bestätigen, bevor er das Signal des fernen Endes mit dem Signal des nahen Endes vergleicht.
  • In Übereinstimmung mit einer zweiten Ausführungsform wird ein Verfahren zum Kompensieren eines Echos eines Signals des fernen Endes in einem Signal des nahen Endes in einem Telephoniesystem geschaffen, wobei das Verfahren das Vergleichen des Signals des fernen Endes mit dem Signal des nahen Endes, das Vornehmen einer Bestimmung über einen ersten Schallechokompensator auf der Grundlage dieses Vergleichs und das Betreiben eines zweiten Schallechokompensators in Abhängigkeit von der Bestimmung umfasst.
  • Das Verfahren kann das Vornehmen einer Bestimmung, ob ein erster Schallechokompensator vorhanden ist, umfassen.
  • Das Verfahren kann umfassen: in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator vorhanden ist, Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er nicht arbeitet; und in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator vorhanden ist, Veranlassen, dass der zweite Schallechokompensator in einen Zustand ist, in dem er arbeitet.
  • Falls bestimmt wird, dass der erste Schallechokompensator vorhanden ist, kann das Verfahren umfassen: Überwachen, ob der erste Schallechokompensator das Echo des fernen Signals erfolgreich aus einem Mikrofonsignal entfernt, um das Signal des nahen Endes bereitzustellen; und in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator das Echo des fernen Endes nicht erfolgreich aus dem Mikrofonsignal entfernt, Veranlassen, dass der zweite Schallechokompensator in einen Zustand gesteuert wird, in dem er zum Entfernen des Echos des fernen Endes aus dem Signal des nahen Endes arbeitet.
  • Das Verfahren kann das Vergleichen einer Angabe des Frequenzspektrums des Signals des fernen Endes mit einer Angabe des Frequenzspektrums des Signals des nahen Endes umfassen.
  • Das Verfahren kann das Vergleichen einer binären Darstellung des Frequenzspektrums des Signals des fernen Endes mit einer binären Darstellung des Frequenzspektrums des Signals des nahen Endes umfassen.
  • Das Verfahren kann das Bilden der binären Darstellung eines Frequenzspektrums umfassen, durch: Darstellen eines Frequenz-Pins in dem Frequenzspektrum mit einer Größe über einem vorgegebenen Schwellenwert als einen ersten vorgegebenen Wert in der binären Darstellung; und Darstellen eines Frequenz-Pins mit einer Größe unter dem vorgegebenen Schwellenwert als einen zweiten vorgegebenen Wert in der binären Darstellung.
  • Das Verfahren kann das Bilden der binären Darstellung des Frequenzspektrums, um nur ausgewählte Frequenz-Pins darzustellen, umfassen.
  • Das Verfahren kann das Auswählen der Frequenz-Pins entsprechend den in menschlicher Sprache zu findenden Frequenzen umfassen.
  • Das Verfahren kann das Vergleichen des Signals des fernen Endes mit dem Signal des nahen Endes durch Zählen der Anzahl entsprechender Frequenz-Pins, für die die binären Darstellungen der Signale des fernen Endes und des nahen Endes beide den ersten vorgegebenen Wert aufweisen oder beide den zweiten vorgegebenen Wert aufweisen, umfassen.
  • Das Verfahren kann umfassen: Vergleichen einer binären Darstellung des Signals des nahen Endes für den aktuellen Rahmen mit binären Darstellungen des Signals des fernen Endes für mehrere vorhergehende Rahmen; und Addieren einer Einheit zu dem Zählwert, falls eine binäre Darstellung des Signals des fernen Endes für irgendeinen dieser vorhergehenden Rahmen den ersten oder den zweiten vorgegebenen Wert für einen Frequenz-Bin umfasst, der einem Frequenz-Bin entspricht, in dem die binäre Darstellung des Signals des nahen Endes für den aktuellen Rahmen denselben ersten bzw. zweiten vorgegebenen Wert aufweist.
  • Das Verfahren kann das Mitteln des Zählwerts mit einem oder mit mehreren Zählwerten, die durch Vergleichen vorhergehender Rahmen des Signals des nahen Endes und des Signals des fernen Endes erzeugt wurden, umfassen.
  • Das Verfahren kann umfassen: Veranlassen, dass der zweite Schallkompensator in einem Zustand ist, in dem er nicht arbeitet, falls der gemittelte Zählwert unter einem vorgegebenen Schwellenwert liegt; und Veranlassen, dass der zweite Schallkompensator in einem Zustand ist, in dem er arbeitet, falls der gemittelte Zählwert über dem vorgegebenen Schwellenwert liegt.
  • Das Verfahren kann das Bestätigen der Anwesenheit von Sprache des fernen Endes, bevor er das Signal des fernen Endes mit dem Signal des nahen Endes vergleicht, umfassen.
  • In Übereinstimmung mit einer dritten Ausführungsform wird ein Vergleichsgenerator zum Bestimmen der Ähnlichkeit zwischen einem ersten Signal und einem zweiten Signal geschaffen, wobei der Vergleichsgenerator einen Frequenzspektrengenerator umfasst, der konfiguriert ist zum Erhalten eines Frequenzspektrums beider Signale und für jedes Frequenzspektrum zum Bilden einer binären Darstellung dieses Spektrums durch Darstellen eines Frequenz-Pins mit einer Größe über einem vorgegebenen Schwellenwert in dem Frequenzspektrum mit einem ersten vorgegebenen Wert und eines Frequenz-Pins mit einer Größe unter dem vorgegebenen Schwellenwert in dem Frequenzspektrum als einen zweiten vorgegebenen Wert, wobei der Vergleichsgenerator konfiguriert ist zum Vergleichen der binären Darstellungen des ersten und des zweiten Signals und zum Zählen der Anzahl entsprechender Frequenz-Pins, für die die binären Darstellungen des ersten und des zweiten Signals entweder beide den ersten vorgegebenen Wert aufweisen oder beide den zweiten vorgegebenen Wert aufweisen.
  • Der Vergleichsgenerator kann konfiguriert sein zum Vergleichen einer binären Darstellung des ersten Signals für einen aktuellen Rahmen mit binären Darstellungen des zweiten Signals für mehrere vorhergehende Rahmen und zum Addieren einer Einheit zu dem Zählwert, falls eine binäre Darstellung des zweiten Signals für irgendeinen dieser vorhergehenden Rahmen den ersten oder den zweiten vorgegebenen Wert für einen Frequenz-Bin umfasst, der einem Frequenz-Bin entspricht, in dem die binäre Darstellung des ersten Signals für den aktuellen Rahmen denselben ersten bzw. zweiten vorgegebenen Wert aufweist.
  • Der Vergleichsgenerator kann dafür konfiguriert sein, den Zählwert mit einem oder mit mehreren Zählwerten, die durch Vergleichen vorhergehender Rahmen des ersten und des zweiten Signals erzeugt wurden, zu mitteln.
  • Der Frequenzspektrengenerator kann dafür konfiguriert sein, die binäre Darstellung des Frequenzspektrums zu bilden, um nur ausgewählte Frequenz-Pins darzustellen.
  • Der Frequenzspektrengenerator kann dafür konfiguriert sein, die Frequenz-Pins entsprechend den in menschlicher Sprache zu findenden Frequenzen auszuwählen.
  • Der Vergleichsgenerator kann dafür konfiguriert sein, die Ähnlichkeit zwischen einem Signal des nahen Endes und einem Signal des fernen Endes in einem Telephoniesystem zu bestimmen.
  • Ein Echokompensationsdetektor kann einen Vergleichsgenerator umfassen, wobei der Echokompensationsdetektor ferner eine Entscheidungseinheit umfasst, die dafür konfiguriert ist, in Abhängigkeit von der bestimmten Ähnlichkeit zwischen den Signalen des nahen Endes und des fernen Endes eine Bestimmung über einen ersten Schallechokompensator vorzunehmen.
  • Die Entscheidungseinheit kann dafür konfiguriert sein, eine Bestimmung vorzunehmen, ob in dem Telephoniesystem ein erster Schallechokompensator vorhanden ist.
  • Ferner kann der Echokompensationsdetektor einen Controller umfassen, der dafür konfiguriert ist, den zweiten Schallechokompensator in Abhängigkeit von der Bestimmung zu betreiben.
  • Ferner kann der Echokompensationsdetektor konfiguriert sein zum: Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er nicht arbeitet, falls der gemittelte Zählwert unter einem vorgegebenen Schwellenwert liegt; und Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er arbeitet, falls der gemittelte Zählwert über dem vorgegebenen Schwellenwert liegt.
  • In Übereinstimmung mit einer vierten Ausführungsform wird ein Verfahren zum Bestimmen der Ähnlichkeit zwischen einem ersten Signal und einem zweiten Signal geschaffen, das das Erhalten eines Frequenzspektrums beider Signale, für jedes Frequenzspektrum das Bilden einer binären Darstellung dieses Spektrums durch Darstellen eines Frequenz-Pins mit einer Größe über einem vorgegebenen Schwellenwert in dem Frequenzspektrum mit einem ersten vorgegebenen Wert und eines Frequenz-Pins mit einer Größe unter dem vorgegebenen Schwellenwert in dem Frequenzspektrum als einen zweiten vorgegebenen Wert, das Vergleichen der binären Darstellungen des ersten und des zweiten Signals und das Zählen der Anzahl entsprechender Frequenz-Pins, für die die binären Darstellungen des ersten und des zweiten Signals entweder beide den ersten vorgegebenen Wert aufweisen oder beide den zweiten vorgegebenen Wert aufweisen, umfasst.
  • Das Verfahren kann das Vergleichen einer binären Darstellung des ersten Signals für einen aktuellen Rahmen mit binären Darstellungen des zweiten Signals für mehrere vorhergehende Rahmen und das Addieren einer Einheit zu dem Zählwert, falls die binäre Darstellung des zweiten Signals für irgendeinen dieser vorhergehenden Rahmen den ersten oder den zweiten vorgegebenen Wert für einen Frequenz-Bin umfasst, der einem Frequenz-Bin entspricht, in dem die binäre Darstellung des ersten Signals für den aktuellen Rahmen denselben ersten bzw. zweiten vorgegebenen Wert aufweist, umfassen.
  • Das Verfahren kann das Mitteln des Zählwerts mit einem oder mit mehreren Zählwerten, die durch Vergleichen vorhergehender Rahmen des ersten und des zweiten Signals erzeugt wurden, umfassen.
  • Das Verfahren kann das Bilden der binären Darstellung des Frequenzspektrums, um nur ausgewählte Frequenz-Pins darzustellen, umfassen.
  • Das Verfahren kann das Auswählen der Frequenz-Pins entsprechend den in menschlicher Sprache zu findenden Frequenzen umfassen.
  • Das Verfahren kann das Verwenden des Verfahrens zum Bestimmen der Ähnlichkeit zwischen einem Signal des nahen Endes und einem Signal des fernen Endes in einem Telephoniesystem umfassen.
  • Das Verfahren kann das Vornehmen einer Bestimmung über einen ersten Schallechokompensator in Abhängigkeit von der bestimmten Ähnlichkeit zwischen den Signalen des nahen Endes und des fernen Endes umfassen.
  • Das Verfahren kann das Vornehmen einer Bestimmung, ob in dem Telephoniesystem ein erster Schallechokompensator vorhanden ist, umfassen.
  • Das Verfahren kann das Betreiben des zweiten Schallechokompensators in Abhängigkeit von der Bestimmung umfassen.
  • Das Verfahren kann umfassen: Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er nicht arbeitet, falls der gemittelte Zählwert unter einem vorgegebenen Schwellenwert liegt; und Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er arbeitet, falls der gemittelte Zählwert über dem vorgegebenen Schwellenwert liegt.
  • Die vorliegende Erfindung wird nun beispielhaft mit Bezug auf die beigefügten Zeichnungen beschrieben. In den Zeichnungen ist Folgendes gezeigt:
  • 1a zeigt eine Architektur eines beispielhaften Echowegüberwachungssystems;
  • 1b zeigt einen Plattform-AEC und einen Nutzeranwendungs-AEC in einer hintereinandergeschalteten Konfiguration;
  • 2 zeigt ein Beispiel eines Verfahrens zum Steuern eines Nutzeranwendungs-AEC;
  • 3 zeigt ein Beispiel eines Echokompensationsdetektors;
  • 4 zeigt ein Beispiel eines Verfahrens zum Messen einer Ähnlichkeitsmetrik zwischen zwei Signalen;
  • 5 zeigt einen Ähnlichkeitsindexzähler für eine Vorrichtung, die einen Plattform-AEC enthält;
  • 6 zeigt die Detektionsverzögerung des Algorithmus während verschiedener Audiobetriebsarten; und
  • 7 zeigt einen Ähnlichkeitsindexzähler für eine Vorrichtung ohne einen Plattform-AEC.
  • Ein erster AEC und ein zweiter AEC können in einer hintereinandergeschalteten Konfiguration angeordnet sein (ein Beispiel dieses Anordnungstyps ist in 3 gezeigt). Der erste AEC kann dafür konfiguriert sein, ein durch ein Mikrofon erfasstes Signal zu empfangen. Dieses Signal kann als das ”Mikrofonsignal” bezeichnet werden und enthält üblicherweise ein Gespräch des nahen Endes, lokales Rauschen und ein Echo des Signals des fernen Endes. Das durch den zweiten AEC empfangene Signal kann als ein ”Signal des nahen Endes” bezeichnet werden. Falls der zweite AEC mit einem ersten AEC hintereinandergeschaltet ist, ist das Signal des nahen Endes das Signal, das durch den ersten AEC ausgegeben wird. Falls der erste AEC nicht vorhanden ist, ist das Signal des nahen Endes dasselbe wie das Mikrofonsignal. Um irgendeine Verwirrung zu vermeiden, ist das durch den zweiten AEC empfangene Signal hier unabhängig davon, ob dieses Signal dasselbe wie das Mikrofonsignal oder ein anderes ist, hier durchgängig als das ”Signal des nahen Endes” bezeichnet.
  • In 2 ist eine Übersicht eines Verfahrens zum Steuern eines Schallechokompensators (AEC) in einem Telephoniesystem gezeigt. Das Verfahren umfasst das Vergleichen des Signals des fernen Endes mit dem Signal des nahen Endes (Schritt S201) und das Verwenden dieses Vergleichs, um eine Bestimmung über einen ersten AEC vorzunehmen (Schritt S202). Diese Bestimmung könnte z. B. sein, ob in dem Telephoniesystem ein erster AEC vorhanden ist oder ob der erste AEC das Echo des Signals des fernen Endes erfolgreich entfernt. Vorzugsweise wird die Bestimmung in Echtzeit vorgenommen. Daraufhin umfasst das Verfahren das Betreiben eines zweiten AEC in Abhängigkeit von der Bestimmung, die über den ersten AEC vorgenommen worden ist (Schritt S203). Üblicherweise enthält dies entweder das Sicherstellen, dass der zweite AEC freigegeben ist, oder das Sicherstellen, dass er deaktiviert ist. In den meisten Implementierungen ist der zweite AEC standardmäßig freigegeben, so dass das Betreiben des zweiten AEC in Abhängigkeit von der Bestimmung über den ersten AEC entweder das Deaktivieren des zweiten AEC oder dessen Eingeschaltetlassen umfasst. Es könnte ebenfalls des Steuerns irgendeines Aspekts des Betriebs des zweiten AEC, z. B. des Grads, in dem er das Echo aus dem Signal des nahen Endes entfernt, oder der Art und Weise, in der er dieses Echo modelliert, umfassen.
  • In 3 ist eine Übersicht einer Vorrichtung zum Steuern eines Schallechokompensators gezeigt. Die Vorrichtung ist allgemein durch den Echokompensationsdetektor 301 dargestellt. In diesem Beispiel bildet der Echokompensationsdetektor einen Teil eines umfangreicheren Telephoniesystems 310. In diesem Beispiel umfasst das Telephoniesystem zwei AECs: den ersten AEC 302 und den zweiten AEC 303. Vorzugsweise ist der Echokompensationsdetektor dafür konfiguriert, das Signal des fernen Endes und das Signal des nahen Endes zu empfangen. Er umfasst einen Vergleichsgenerator 304, der dafür konfiguriert sein kann, die Signale des nahen Endes und des fernen Endes zu vergleichen. Das Ergebnis dieses Vergleichs wird geeignet an die Entscheidungseinheit 305 übergeben. Vorzugsweise ist die Entscheidungseinheit dafür konfiguriert, auf der Grundlage des Vergleichs eine Bestimmung über den ersten AEC vorzunehmen. Diese Bestimmung wird geeignet an den Controller 306 übergeben. Der Controller 306 kann dafür konfiguriert sein, einen Betrieb des zweiten AEC in Abhängigkeit von der Bestimmung zu steuern.
  • In einem Beispiel kann der Vergleichsgenerator 304 dafür konfiguriert sein, die Signale des nahen Endes und des fernen Endes unter Verwendung eines bestimmten Algorithmus zu vergleichen, der im Folgenden ausführlicher beschrieben ist. Ein auf diese Weise konfigurierter Vergleichsgenerator kann einen Neuabtaster 307, einen Frequenzspektrengenerator 308 (der dafür konfiguriert sein kann, irgendeinen Typ von Frequenzspektren einschließlich binärer Spektren zu erzeugen) und ein Sprachaktivitäts-Detektionsmodul 314 enthalten. Außerdem kann er eine Mittelungseinheit 317, einen Zähler 318 und eine Vergleichseinheit 319, die dafür konfiguriert sein kann, binäre Frequenzspektren, die den von dem Frequenzspektrengenerator 308 ausgegebenen Signalen des nahen Endes und des fernen Endes entsprechen, direkt zu vergleichen, enthalten. Die Entscheidungseinheit 305 kann eine Entscheidungslogik 315 und ein Rechenmodul 316 enthalten. Außerdem kann der Controller 306 eine Überwachungseinheit 309 umfassen, um zu überwachen, wie erfolgreich das Echo durch den ersten AEC 302 aus dem Mikrofonsignal entfernt wird.
  • Vorzugsweise ist der Echokompensationsdetektor 301 dafür konfiguriert, den zweiten AEC 303 nur dafür zu steuern, dass er in einem Zustand ist, in dem er arbeitet, falls der erste AEC 302 entweder fehlt oder eine schlechte Leistung erbringt (in 3 ist dies dadurch dargestellt, dass der Echokompensationsdetektor den Multiplexer 313 steuert, der ermöglicht, dass der zweite AEC umgangen wird). Somit kann der erste AEC als einer angesehen werden, der effektiv Vorrang vor dem Zweiten hat. Es kann eine Anzahl praktischer Gründe dafür geben, einen AEC gegenüber dem anderen zu bevorzugen. Zum Beispiel kann der erste AEC ein Plattform-AEC sein: ein AEC, der ein integraler Bestandteil der Plattform ist, die dem Telephoniesystem zugrunde liegt, und wahrscheinlich bei der Herstellung installiert worden ist. Der zweite AEC kann ein Nutzeranwendungs-AEC sein: ein Teil eines durch den Nutzer nach der Herstellung auf dem Telephoniesystem installierten Programms. In diesem Szenarium kann der Plattform-AEC spezifisch für die fragliche Plattform entwickelt worden sein, so dass zu erwarten ist, dass er in den meisten Szenarien gut arbeitet. Der Nutzeranwendungs-AEC ist wahrscheinlich als ein Universal-AEC entwickelt worden, der in vielen verschiedenen Plattformen implementiert werden kann. Somit könnte zu erwarten sein, dass der Plattform-AEC in einer bestimmten Plattform besser als der allgemeinere Nutzeranwendungs-AEC arbeitet. Ein weiterer Grund für die Bevorzugung eines AEC gegenüber dem anderen könnte einfach eine Frage der Steuerung sein: Der Echokompensationsdetektor kann nicht die Fähigkeit besitzen, einen Plattform-AEC zu deaktivieren, während er in der Lage sein kann, den Nutzeranwendungs-AEC zu deaktivieren.
  • Beide AECs könnten entweder in Hardware oder in Software implementiert sein und sind häufig durch eine Kombination der zwei implementiert.
  • Das Telephoniesystem könnte z. B. ein Mobiltelephon, ein Telekonferenzsystem, ein drahtgebundenes Telephon, eine Telephonieanwendung in einer Computervorrichtung oder irgendein anderes Kommunikationssystem sein. Es ist zu verstehen, dass das Telephoniesystem irgendeine Komponente oder irgendeinen Funktionsblock, die bzw. der in typischen Kommunikationssystemen zu finden ist, enthalten kann. Zum Beispiel kann ein typisches Telephoniesystem eines oder mehrere der Folgenden enthalten: ein Mikrofon 311, einen Lautsprecher 312, ein Modem, eine Antenne, einen Signalprozessor, einen Analog-Digital-Umsetzer, einen Digital-Analog-Umsetzer, ein Filter, einen Rauschkompensator, einen automatischen Verstärkungscontroller, einen Comfort-Noise-Generator usw. (von denen die meisten in 3 nicht gezeigt sind).
  • Die in 3 gezeigten Strukturen sollen einer Anzahl von Funktionsblöcken in einer Vorrichtung entsprechen. Dies dient nur zur Veranschaulichung. 3 soll keine strenge Trennung zwischen verschiedenen Teilen aus Hardware in einem Chip oder zwischen verschiedenen Programmen, Prozeduren oder Funktionen in Software definieren. In einigen Ausführungsformen können einige oder alle der hier beschriebenen Prozeduren vollständig oder teilweise in Hardware ausgeführt werden. In einigen Implementierungen können der Echokompensationsdetektor 301, der Vergleichsgenerator 304, die Entscheidungseinheit 305, der Controller 306, die Überwachungseinheit 309 und der Frequenzspektrengenerator 308 durch einen Prozessor, der gemäß Softwaresteuerung wirkt, (z. B. durch den in 3 gezeigten Prozessor) implementiert werden. Irgendwelche solche Software ist vorzugsweise in einem nicht vorübergehenden computerlesbaren Medium wie etwa einem Speicher (RAM, Cache, FLASH, ROM, Festplatte usw.) oder in anderen Ablagemitteln (USB-Stick, FLASH, ROM, CD, Platte usw.) gespeichert. In einer Ausführungsform kann der Echokompensationsdetektor einen Teil einer Nutzeranwendung bilden, die einen Anwendungs-AEC implementiert.
  • Anhand eines Szenariums, in dem der erste AEC 302 ein Plattform-AEC ist und der zweite AEC 303 ein Nutzeranwendungs-AEC ist, werden nun ausführlichere Ausführungsformen beschrieben. Dies ist nur beispielhaft und es ist zu verstehen, dass die hier beschriebenen Verfahren und Vorrichtungen zum Steuern irgendeines Typs von AEC verwendet werden könnten.
  • Dadurch, dass in Abhängigkeit von dem Signal des fernen Endes und von dem Signal des nahen Endes eine Bestimmung über eine Plattform-AEC vorgenommen wird, wird die Bestimmung unabhängig von irgendwelchen durch den Plattformhersteller bereitgestellten Informationen. Somit hängt der Betrieb des Nutzeranwendungs-AEC weder davon ab, ob die Plattform Informationen über eine API verfügbar macht, noch muss die Steuerung des Nutzeranwendungs-AEC an ein bestimmtes Informationsformat angepasst werden. Außerdem wird es möglich, nicht nur den Nutzeranwendungs-AEC in Abhängigkeit nur von der Anwesenheit eines Plattform-AEC zu steuern, sondern auch davon, als wie erfolgreich sich der Plattform-AEC tatsächlich dabei erweist, das Echo des fernen Endes aus dem Mikrofonsignal zu entfernen, um das Signal des nahen Endes zu bilden, das für den Anwendungs-AEC 303 bereitgestellt wird.
  • Es ist zu erwarten, dass der Plattform-AEC normalerweise gut arbeitet, da er spezifisch auf eine gegebene Vorrichtung abgestimmt ist. Somit wird der Nutzeranwendungs-AEC vorzugsweise deaktiviert, um die Sprachqualitätsverschlechterung zu minimieren und die CPU-Last zu verringern, falls die Anwesenheit eines Plattform-AEC bestätigt wird. Falls der Plattform-AEC nicht wie erwartet arbeitet, kann allerdings der Nutzeranwendungs-AEC entweder nicht deaktiviert werden oder wieder freigegeben werden. In diesem Fall hilft der Nutzeranwendungs-AEC, das unerwünschte Echo zu kompensieren.
  • Das Vergleichen des Signals des nahen Endes und des Signals des fernen Endes liefert eine Angabe dafür, wie ähnlich die zwei Signale zueinander sind. Außerdem gibt dies an, ob das Signal des nahen Endes ein erhebliches Echo des Signals des fernen Endes enthält, was wiederum die Abwesenheit (oder schlechte Leistung) eines Plattform-AEC angibt. Es gibt viele verschiedene Techniken, die verwendet werden könnten, um die zwei Signale zu vergleichen, wobei zu verstehen ist, dass das hier beschriebene Verfahren die Verwendung irgendeiner geeigneten Technik einschließt. Insbesondere könnte der Vergleich entweder im Zeit- oder im Frequenzbereich berechnet werden. Allerdings sind viele vorhandene Vergleichstechniken nicht bevorzugt, da sie von hoher Rechenkomplexität sind oder eine inhärente Verzögerung beim Bereitstellen einer Angabe der Ähnlichkeit enthalten. Im Folgenden ist eine neue Technik zum Vergleichen zweier Signale beschrieben. Diese Technik ist im Kontext des Vornehmens einer Bestimmung über einen Plattform-AEC beschrieben, wobei dies aber nur beispielhaft ist. Die Technik könnte vorteilhaft in vielen anderen Anwendungen genutzt werden, in denen zwei Signale miteinander verglichen werden.
  • Das im Folgenden beschriebene Vergleichsverfahren kann die Anwesenheit und/oder das Betriebsverhalten eines Plattform-AEC zur Laufzeit detektieren. Es verwendet weniger als 10 Sekunden, vorzugsweise weniger als 5 Sekunden und am meisten bevorzugt weniger als 2 Sekunden der Sprache des fernen Endes, um die Anwesenheit und/oder das Betriebsverhalten eines Plattform-AEC zu bestätigen. Tatsächlich kann das Vergleichsverfahren die Anwesenheit von Sprache des fernen Endes mit näherungsweise 1 Sekunde der Sprache des fernen Endes bestätigen. Eine Hauptkomponente des Verfahrens ist eine Technik, die die binären Spektren der Signale des nahen Endes und des fernen Endes korreliert. Sie schätzt den Gleitmittelwert eine Ähnlichkeitsmetrik zwischen diesen binären Eingangsspektren.
  • 4 zeigt einen Blockschaltplan des Vergleichsverfahrens zusammen mit einer Entscheidungslogik, die für die Plattform-AEC-Detektion geeignet ist. Das Verfahren wird unter Verwendung von Gleichungen beschrieben, die sich hauptsächlich auf das Signal des fernen Endes beziehen. Dies wird durch die Verwendung des Index ”x” in den folgenden Gleichungen zur Darstellung des Signals des fernen Endes veranschaulicht. Dieselben Gleichungen und die beigefügte Beschreibung sind gleichfalls auf das Signal des nahen Endes (durch den Index ”d” repräsentiert ist) anwendbar.
  • Der Prozess beginnt in Schritt 401, wobei sowohl das Signal des nahen Endes als auch das des fernen Endes unter Verwendung des Neuabtasters 307 neu abgetastet werden. Eine geeignete Abtastrate könnte z. B. 4 kHz sein. Die Neuabtastung der Signale verringert die Komplexität der nachfolgenden Operationen und macht den Algorithmus unabhängig von der ursprünglichen Abtastrate der Signale.
  • In Schritt 402 werden die Signale neu gerahmt. Eine geeignete Rahmengröße für die ankommenden Signale ist 10 ms (d. h. 40 Abtastwerte bei einer Abtastrate von 4 kHz). Diese Abtastwerte werden daraufhin mit vorhergehenden Abtastwerten der Signale des nahen Endes und des fernen Endes verkettet. In einem Beispiel werden die ankommenden Signale mit 88 vorhergehenden Abtastwerten verkettet. Daraufhin werden die Abtastwerte durch den Frequenzspektrengenerator 308, z. B. unter Verwendung einer schnellen Fourier-Transformation (FFT) mit 128 Punkten, in den Frequenzbereich umgesetzt.
  • Daraufhin berechnet der Algorithmus eine Kurzzeitenergie des Signals des fernen Endes und des Signals des nahen Endes (Schritt S403). Eine Mittelung über eine Anzahl vorhergehender Rahmen bietet eine bessere Frequenzlokalisierung. Für die Weiterverarbeitung kann ein Mittelwert von K aufeinanderfolgenden Rahmen verwendet werden:
    Figure DE102015116323A1_0002
    wobei Xf(m, l – n) die FFT des l – n-ten Rahmens und des m-ten Frequenz-Pins repräsentiert und X(m, l) die gemittelte FFT der früheren K Rahmen repräsentiert. In einem Beispiel ist K = 4.
  • Um die Komplexität zu verringern und die Genauigkeit zu verbessern, kann sich der Algorithmus auf diejenigen Frequenz-Pins konzentrieren, die üblicherweise eine dominante Sprachanwesenheit zeigen, und kann er jene, die üblicherweise keinen Teil der menschlichen Sprache bilden, ignorieren. Ein geeigneter Frequenzbereich ist 320 Hz bis 1400 Hz. Falls ein Frequenzbereich zwischen 0 und 4 kHz auf 64 Frequenz-Pins abgebildet wird, entspricht dieser typische Sprachbereich m = 12 bis 43, wobei 1 ≤ m ≤ 64 ist. Die Kurzzeitenergie des l-ten Rahmens und des c-ten Frequenz-Pins (wobei c die Frequenz-Pins des für menschliche Sprache geeigneten Frequenzbereichs repräsentiert, z. B. in diesem Beispiel c = m – 12) kann wie folgt geschätzt werden: Sx(c, l) = Re(X(11 + c, l))2 + Img(X(11 + c, l))2 mit (0 ≤ c ≤ 31). (2)
  • Daraufhin wird in Schritt S404 die Langzeitenergie jedes Rahmens geschätzt. Dies kann durch Mitteln der Kurzzeitenergie, Sx(c, l), z. B. unter Verwendung eines adaptiven Filters erster Ordnung, erreicht werden. Der Langzeitterm des l-ten Rahmens, Lx(c, l) kann wie folgt erhalten werden: Δx(c, l) = Sx(c, l) – Lx(c, l – 1) Lx(c, l) = Lx(c, l – 1) + (αx(l)·Δx(c, l)) + γx(l). (3)
  • Der Filterkoeffizient αx(l) und der affine Versatz γx(l) können durch Δx(c, l) bestimmt werden. Zum Beispiel ist:
    Figure DE102015116323A1_0003
    wobei β1, β34 und β5 Parameter sind, die für eine spezifische Implementierung auf geeignete Werte eingestellt werden können.
  • Durch den Frequenzspektrengenerator 308 können aus den geschätzten mittleren Kurzzeit- und Langzeitenergien binäre Spektren berechnet werden (Schritt S405). Der Prozess umfasst das Betrachten des Energieinhalts jedes Frequenz-Pins und das Einstellen des binären Spektrums auf eine '1' in Bezug auf einen Bin, der die Anwesenheit von Sprache angibt, und auf eine '0' in Bezug auf einen Bin, der die Abwesenheit von Sprache angibt. Auf diese Weise geben die binären Spektren die Anwesenheit oder Abwesenheit von Sprache in den jeweiligen Frequenz-Pins an. Das binäre Spektrum BSx(c, l) für den l-ten Rahmen und für den c-ten Frequenz-Bin ist gegeben durch:
    Figure DE102015116323A1_0004
    wobei α und ζ2 Parameter sind, die für eine spezifische Implementierung auf geeignete Werte eingestellt werden können.
  • Wegen der akustischen Kopplung zwischen dem Lautsprecher 312 und dem Mikrofon 310 kann wenigstens ein Teil des Signals des fernen Endes als Echo in der Mikrofonausgabe enthalten sein. Bevor die Spektren des nahen und des fernen Endes verglichen werden, prüft der Prozess geeignet, ob es ein Signal des fernen Endes gibt, das ein Echo verursachen könnte. Falls der Teilnehmer des fernen Endes ruhig ist, gibt es kein Echo des fernen Endes und kann der Rechenaufwand eingespart werden. Die Entscheidungslogik und die Rechenmodule, die in der Entscheidungseinheit 305 enthalten sind und die für die Ähnlichkeitsindexberechnung (im Folgenden beschrieben) konfiguriert sind, können inaktiv bleiben, bis ein Sprachsignal des fernen Endes vorhanden ist.
  • Das Verfahren prüft geeignet, ob Sprache des fernen Endes vorhanden ist, indem es den Inhalt der letzten M Rahmen überprüft. Der Wert von M hängt von einer maximalen reinen Verzögerung und/oder von einer dünn besetzten Echowegverteilung ab, die zwischen den Signalen des fernen Endes und des nahen Endes erwartet wird. Dies kann durch Beobachten der Verzögerung bestimmt werden, die über verschiedene Anrufe mit verschiedenen Vorrichtungen erfahren wird. Üblicherweise wird dies im Voraus bestimmt und in den Echokompensationsdetektor 305 programmiert, könnte aber durch den Echokompensationsdetektor 305 in Echtzeit bestimmt werden. Eine typische Verzögerung ist eine reine Verzögerung von etwa 1 Sekunde, was für eine Rahmenrate von 100 Rahmen pro Sekunde M = 100 Rahmen entspricht.
  • Der Vergleichsgenerator 304 kann ein Sprachdetektionsmodul 314 umfassen, das dafür konfiguriert ist, den Prozess der Sprachaktivitätsdetektion (VAD) auszuführen. Er kann zunächst durch Betrachtung des aktuellen Rahmens und daraufhin durch dessen Kombinieren mit zuvor über die vorhergehenden M Rahmen vorgenommenen Bestimmungen auf die Anwesenheit von Sprache des fernen Endes prüfen (Schritt S406). Dadurch, dass geprüft wird, ob die Gesamtzahl aktiver Frequenz-Pins des fernen Endes in dem binären Spektrum größer als ein erster im Voraus definierter Schwellenwert ist, kann eine Entscheidung darüber getroffen werden, ob es in dem aktuellen Rahmen Sprache des fernen Endes gibt:
    Figure DE102015116323A1_0005
  • Um die reine Verzögerung auf dem Echoweg zu berücksichtigen, kann eine kumulative Sprachaktivität des fernen Endes für die vorhergehenden M Rahmen bestimmt werden:
    Figure DE102015116323A1_0006
  • Falls cvadx '0' ist, gibt es an, dass das Signal des fernen Endes in den letzten M Rahmen keine Sprache enthalten hat, d. h., dass der Teilnehmer des fernen Endes ruhig ist. Somit können die Entscheidungslogik und die Rechenmodule für die Ähnlichkeitsindexberechnung, die in der Entscheidungseinheit 305 enthalten sind (und die bei 315 bzw. 316 gezeigt sind), wie durch Schritt S407 in 4 und seine Steuerung der Schalter 420 und 421 angegeben ist, inaktiv bleiben. In diesem Szenarium werden die Werte der Langzeitenergie und des Ähnlichkeitszählers wie für den vorhergehenden Rahmen belassen (Schritt S408), bevor der Algorithmus zu dem nächsten Rahmen geht (Schritt S409).
  • 4 und die obige Beschreibung beschreiben eine Implementierung, in der die Sprachaktivität des fernen Endes unter Verwendung des binären Spektrums detektiert wird, was eine besonders unkomplizierte Art und Weise ist, die Entscheidung darüber zu treffen, ob Sprache des fernen Endes vorhanden ist. Alternativ kann die Sprachaktivität des fernen Endes unter Verwendung einer anderen Technik, z. B. unter Verwendung der Frequenzspektren der Signale des fernen Endes und des nahen Endes, detektiert werden, wobei die Berechnung der binären Frequenzspektren in diesem Fall weggelassen wird, bis die Sprachaktivität des fernen Endes bestätigt worden ist.
  • Der Prozess der Sprachaktivitätsdetektion kann wiederholt werden, bis die Sprache des fernen Endes detektiert wird. Wenn eine Sprachaktivität des fernen Endes bestätigt wird, werden die binären Spektren des nahen Endes und des fernen Endes durch die Vergleichseinheit 319 verglichen, um ihre Ähnlichkeit zu bestimmen (Schritt S411). Es könnte irgendeine geeignete Vergleichsoperation genutzt werden, wobei aber eine besonders unkomplizierte Implementierung durch Aktivieren eines Zählers 318 zum Zählen der Anzahl angepasster Frequenz-Pins in den binären Spektren des fernen Endes und des nahen Endes erreicht werden kann. Dieser Zähler stellt eine Angabe der Korrelation zwischen den zwei Signalen bereit. BSs(c, l) = L·max{AND(BSx(c, l – i), BSd(c, l)} M – 1 / i = 0 (9)
  • Der Index ”d” bezieht sich hier auf das Signal des nahen Endes.
  • Somit ist BSs(c, l) in Abhängigkeit davon, ob eine '1' in dem c-ten Frequenz-Bin des binären Spektrums des Signals des nahen Endes zu einer '1' in dem c-ten Frequenz-Bin eines der binären Spektren der vorhergehenden M Rahmen des Signals des fernen Endes passt, entweder '0' oder L. L ist eine optionale Implementierungskonstante zum Erhöhen der Festkommagenauigkeit.
  • BSs(c, l) kann als das binäre Ähnlichkeitsspektrum bezeichnet werden. Die Anzahl aktiver Bins in dem binären Ähnlichkeitsspektrum kann als der Ähnlichkeits-Bin-Zähler, SIC(l), bezeichnet werden und kann wie folgt geschätzt werden:
    Figure DE102015116323A1_0007
  • Der Gleitmittelwert des Ähnlichkeits-Bin-Zählers kann dann durch die Mittelungseinheit 317 geschätzt werden (Schritt S412):
    Figure DE102015116323A1_0008
    wobei β6, β7 und ζ6 Parameter sind, die für eine spezifische Implementierung auf geeignete Werte eingestellt werden können.
  • Die Anwesenheit eines Plattform-AEC kann dadurch bestätigt werden, dass der Gleitmittelwert des Ähnlichkeits-Bin-Zählers SIC(l) für M Rahmen ständig kleiner als ein im Voraus definierter Schwellenwert ζ6 ist. Somit wird die Ausgabe des Ähnlichkeits-Bin-Zählers an die Entscheidungslogik 315 übergeben (Schritt S413). Die Entscheidungslogik selbst ist durch Schritt S414 in 4 dargestellt. Wenn die Anwesenheit eines Plattform-AEC bestätigt worden ist (Schritt S415), kann der Anwendungs-AEC deaktiviert werden (Schritt S416). Andernfalls wird der aktuelle Betriebszustand des Anwendungs-AEC geprüft (Schritt S417), bevor der Anwendungs-AEC bei Bedarf freigegeben wird (Schritt S418). Daraufhin geht der Prozess zu dem nächsten Rahmen (Schritt S419).
  • Die Anwesenheit eines Plattform-AEC bedeutet nicht automatisch, dass ein Echo des fernen Endes erfolgreich aus dem Mikrofonsignal entfernt wird. Insbesondere kann das Betriebsverhalten eines Plattform-AEC in Abhängigkeit von der Wiedergabelautstärke variieren: Plattform-AECs neigen dazu, gut zu funktionieren, wenn die Wiedergabelautstärke niedrig ist, und schlechter, wenn die Wiedergabelautstärke höher ist. Somit kann es vorteilhaft sein, den Anwendungs-AEC zu deaktivieren, wenn die Wiedergabelautstärke niedrig ist, aber freizugeben, wenn die Wiedergabelautstärke hoch ist. Dies könnte durch Überwachen der Wiedergabelautstärke erreicht werden, wobei eine Vorgehensweise, die allgemeiner nützlich ist, das Überwachen des Erfolgs des Plattform-AEC beim Entfernen des Echos des fernen Endes ist. Eine Option, dies zu erreichen, ist einfach das ununterbrochene Ausführen des oben beschriebenen Algorithmus, da er als Teil der Prüfung auf Anwesenheit eines Plattform-AEC (wie durch Schritt S419 in 4 dargestellt ist) bestimmt, ob das Echo des fernen Endes erfolgreich entfernt worden ist.
  • Das Betriebsverhalten des hier beschriebenen Algorithmus ist in drei verschiedenen Schallechogebieten getestet worden: den Gebieten des Einzelsprechens des fernen Endes, des Gegensprechens und des Einzelsprechens des nahen Endes. Außerdem ist es über verschiedene Audiobetriebsarten getestet worden, wie etwa: 1) Freihand- oder Lautsprecherbetriebsart; 2) Kopfsprechhörer- oder Empfängerbetriebsart; und 3) Headsetbetriebsart. Um das Betriebsverhalten des Algorithmus zu bewerten, wurden zwei Metriken verwendet: Detektionsverzögerung und Fehlalarm. ”Detektionsverzögerung” ist die Zeit, die es dauert, die Anwesenheit eines AEC in der Plattformaudioschnittstelle zu bestätigen. ”Fehlalarm” ist die falsche Bestätigung eines Plattform-AEC. Das Betriebsverhalten des Algorithmus wurde über vier verschiedene Referenzplattformen getestet (wobei jede ein bestimmtes Modell einer Kommunikationsvorrichtung mit einem bestimmten Betriebssystem ist).
  • Für alle Tests wurden die Parameter auf die in Tabelle 1 (siehe unten) gegebenen Werte initialisiert. Die getesteten Kommunikationsvorrichtungen wiesen alle einen Plattform-AEC auf. Der vorgeschlagene Algorithmus deaktivierte den Anwendungs-AEC in allen Kommunikationsvorrichtungen. 5 stellt den Ähnlichkeitsindexzähler (SIC) während einer Gegensprechsitzung dar. In 5 enthält das Signal des nahen Endes reines Einzelsprechen des nahen Endes ohne irgendein Echo. Das Echo des fernen Endes ist durch den Plattform-AEC kompensiert worden. Somit ist der SIC mit Ausnahme weniger Stellen, wo er einen sehr niedrigen Wert (< 10) aufweist, durchgängig null. Da der SIC-Wert im Wesentlichen null ist, wird der Anwendungs-AEC nach M Sprachrahmen des fernen Endes deaktiviert. 6 stellt die mittlere Dauer der Sprache des fernen Endes, die von dem Algorithmus verwendet wurde, um die Anwesenheit eines AEC in der Plattformaudioschnittstelle zu bestätigen, dar. Der Algorithmus verwendet näherungsweise 1,17 s, 0,91 s und 0,8 s der Sprachdaten des fernen Endes, um die Anwesenheit des AEC in der Plattform in dieser Reihenfolge für die Freihand-, für die Kopfsprechhörer- und für die Headset-Audiobetriebsart zu bestätigen.
  • Der Algorithmus wurde ebenfalls mit Kommunikationsvorrichtungen getestet, die keinen Plattform-AEC aufwiesen. 7 stellt SIC-Werte dar, die für eine Vorrichtung, die keinen AEC in ihrer Audiostelle aufweist, für verschiedene Rahmen gemessen wurden. Da das Echo in der Mikrofonausgabe sehr dominant ist, ist der SIC auffällig sehr hoch. Somit deaktiviert der Algorithmus den Anwendungs-AEC nicht. Während der Headset-Betriebsart erzeugt der Algorithmus einen Fehlalarm und bestätigt er die Anwesenheit eines Plattform-AEC, wenn die Reflexionsdämpfung (ERL) größer als 60 dB ist, da das Echo in der Mikrofonausgabe nicht beobachtet wird. Eine ähnliche Entscheidung wurde in wenigen Fällen der Kopfsprechhörerbetriebsart beobachtet, falls ERL größer als 60 dB war. Diese Fehlalarme beeinflussen allerdings nicht die Gesamtsprachqualität, da sie nur in Situationen hoher ERL aufgetreten sind, wenn der Anwendungs-AEC ohnehin nicht erforderlich war.
  • In der folgenden Tabelle sind Beispiele geeigneter Werte für die verschiedenen in den obigen Gleichungen erwähnten Konstanten gegeben. Dies sind Werte, von denen die Erfinder festgestellt haben, dass sie in der Praxis funktionieren, wobei aber zu verstehen ist, dass sie nur Beispiele sind und dass die Erfindung nicht auf die Verwendung irgendwelcher bestimmten Werte beschränkt ist.
    Schwellenwert Wert
    α 2
    ζ1 3
    ζ2 4,6·10–7
    ζ3 100
    ζ5 500
    ζ6 4·β7
    β1 0,0313
    β2 0,0156
    β3 0,6667·β2
    β4 65534·β2
    β5 4,6·10–8
    β6 2,4·10–4
    β7 6,1·10–5
    L 2·1014
    M 100
    N 32
    Tabelle 1: Schwellenwerte und Konstanten
  • Allgemein können irgendwelche der oben beschriebenen Funktionen, Verfahren, Techniken oder Komponenten in Modulen, die Software, Firmware, Hardware (z. B. eine feste Logikschaltungsanordnung) oder irgendeine Kombination dieser Implementierungen verwenden, implementiert werden. Die Begriffe ”Modul”, ”Funktionalität”, ”Komponente”, ”Block” und ”Logik” können hier zur allgemeinen Darstellung von Software, Firmware, Hardware oder irgendeiner Kombination davon verwendet sein.
  • Im Fall einer Softwareimplementierung repräsentiert das Modul, die Funktionalität, die Komponente oder die Logik Programmcode, der spezifische Aufgaben ausführt, wenn er in einem Prozessor (z. B. in einer oder in mehreren CPUs) ausgeführt wird. In einem Beispiel können die hier beschriebenen Verfahren durch einen Computer ausgeführt werden, der mit Software in maschinenlesbarer Form konfiguriert ist, die in einem computerlesbaren Medium gespeichert ist. Eine solche Konfiguration eines computerlesbaren Mediums ist ein Signalträgermedium und so konfiguriert, dass sie die Anweisungen (z. B. als eine Trägerwelle) wie etwa über ein Netz zu der Computervorrichtung sendet. Das computerlesbare Medium kann ebenfalls als ein nicht vorübergehendes computerlesbares Ablagemedium konfiguriert sein und ist somit kein Signalträgermedium. Beispiele eines computerlesbaren Ablagemediums enthalten einen Schreib-Lese-Speicher (RAM), einen Nur-Lese-Speicher (ROM), eine optische Platte, einen Flash-Speicher, einen Festplattenspeicher und andere Speichervorrichtungen, die magnetische, optische und andere Techniken verwenden können, um Anweisungen oder andere Daten zu speichern, und auf die durch eine Maschine zugegriffen werden kann.
  • Die Software kann die Form eines Computerprogramms, das Computerprogrammcode zum Konfigurieren eines Computers zum Ausführen der Bestandteile der beschriebenen Verfahren umfasst, oder die Form eines Computerprogramms, das Computerprogrammcodemittel umfasst, die dafür ausgelegt sind, alle Schritte irgendwelcher der hier beschriebenen Verfahren auszuführen, wenn das Programm in einem Computer ausgeführt wird, und wobei das Computerprogramm in einem computerlesbaren Medium verkörpert sein kann, aufweisen. Der Programmcode kann in einem oder in mehreren computerlesbaren Medien gespeichert sein. Die Merkmale der hier beschriebenen Techniken sind plattformunabhängig, d. h., die Techniken können in einer Vielzahl von Computerplattformen mit einer Vielzahl von Prozessoren implementiert werden.
  • Der Fachmann auf dem Gebiet erkennt ebenfalls, dass die gesamte Funktionalität, die gesamten Techniken oder die gesamten Verfahren oder ein Teil davon durch eine dedizierte Schaltung, durch eine anwendungsspezifische integrierte Schaltung, durch eine programmierbare Logikanordnung, durch eine frei programmierbare Logikanordnung oder dergleichen ausgeführt werden kann. Zum Beispiel kann das Modul, die Funktionalität, die Komponente oder die Logik Hardware in Form einer Schaltungsanordnung umfassen. Eine solche Schaltungsanordnung kann Transistoren und/oder andere Hardwareelemente, die in einem Herstellungsprozess verfügbar sind, enthalten. Diese Transistoren und/oder anderen Elemente können beispielhaft verwendet sein, um eine Schaltungsanordnung oder Strukturen zu bilden, die einen Speicher, wie etwa Register, Flipflops oder Zwischenspeicher, logische Operatoren wie etwa boolesche Operationen, mathematische Operatoren wie etwa Addierer, Multiplizierer oder Verschiebeeinrichtungen und Verdrahtungen implementieren und/oder enthalten. Solche Elemente können als kundenangepasste Schaltungen oder Standardzellenbibliotheken, Makros oder andere Abstraktionsebenen vorgesehen sein. Solche Elemente können in einer spezifischen Anordnung miteinander verbunden sein. Das Modul, die Funktionalität, die Komponente oder die Logik kann eine Schaltungsanordnung, die eine Festfunktion ist, und eine Schaltungsanordnung, die programmiert werden kann, um eine Funktion oder Funktionen auszuführen, enthalten; diese Programmierung kann von einer Firmware- oder Softwareaktualisierung oder von einem Steuermechanismus bereitgestellt werden. In einem Beispiel weist die Hardwarelogik eine Schaltungsanordnung auf, die eine Festfunktionsoperation, eine Zustandsmaschine oder einen Prozess implementiert.
  • Außerdem soll Software, die die Konfiguration von Hardware, die ein Modul, eine Funktionalität, eine Komponente oder eine Logik, die oben beschrieben sind, implementiert, ”beschreibt” oder definiert, wie etwa HDL-Software (Hardwarebeschreibungssprachen-Software), wie sie für den Entwurf integrierter Schaltungen oder zum Konfigurieren programmierbarer Chips, damit sie die gewünschten Funktionen ausführen, verwendet wird, enthalten sein. Das heißt, es kann ein computerlesbares Ablagemedium geschaffen werden, auf dem computerlesbarer Programmcode zum Erzeugen einer Verarbeitungseinheit, die dafür konfiguriert ist, irgendeines der hier beschriebenen Verfahren auszuführen, oder zum Erzeugen einer Verarbeitungseinheit, die irgendwelche hier beschriebenen Vorrichtungen umfasst, codiert ist.
  • Die Begriffe 'Prozessor' und 'Computer” sind hier zur Bezugnahme auf irgendeine Vorrichtung oder auf irgendeinen Abschnitt davon mit Verarbeitungsfähigkeit, so dass sie bzw. er Anweisungen ausführen kann, oder auf eine dedizierte Schaltung, die die gesamte Funktionalität oder die gesamten Verfahren oder einen Teil davon oder irgendeine Kombination davon ausführen kann, verwendet.
  • Obwohl der Gegenstand in einer für strukturelle Merkmale und/oder für methodologische Tätigkeiten spezifischen Sprache beschrieben worden ist, ist der in den beigefügten Ansprüchen definierte Gegenstand selbstverständlich nicht notwendig auf die oben beschriebenen spezifischen Merkmale oder Tätigkeiten beschränkt. Vielmehr sind die oben beschriebenen spezifischen Merkmale und Tätigkeiten als beispielhafte Formen der Implementierung der Ansprüche offenbart. Selbstverständlich können sich die oben beschriebenen Vorzüge und Vorteile auf ein Beispiel oder auf mehrere Beispiele beziehen. Wie für den Fachmann hervorgeht, kann irgendein hier gegebener Bereich oder Wert erweitert oder geändert werden, ohne dass die gewünschte Wirkung verlorengeht. Die Schritte der hier beschriebenen Verfahren können in irgendeiner geeigneten Reihenfolge oder bei Bedarf gleichzeitig ausgeführt werden.
  • Der Anmelder offenbart hier jedes hier beschriebene einzelne Merkmal und irgendeine Kombination zweier oder mehrerer solcher Merkmale in dem Umfang, dass diese Merkmale oder Kombinationen auf der Grundlage der vorliegenden Beschreibung im Licht der allgemein üblichen Kenntnis des Fachmanns auf dem Gebiet als Ganzes ausgeführt werden können, getrennt, unabhängig davon, ob diese Merkmale oder Kombinationen von Merkmalen irgendwelche hier offenbarten Probleme lösen und ohne Beschränkung an den Schutzumfang der Ansprüche. Der Anmelder gibt an, dass Aspekte der vorliegenden Erfindung aus irgendeinem solchen einzelnen Merkmal oder aus irgendeiner Kombination von Merkmalen bestehen können. Angesichts der vorstehenden Beschreibung ist für den Fachmann auf dem Gebiet offensichtlich, dass im Schutzumfang der Erfindung verschiedene Änderungen vorgenommen werden können.

Claims (20)

  1. Echokompensationsdetektor zum Steuern eines Schallechokompensators, der dafür konfiguriert ist, ein Echo eines Signals des fernen Endes in einem Signal des nahen Endes in einem Telephoniesystem zu kompensieren, wobei der Echokompensationsdetektor umfasst: einen Vergleichsgenerator, der dafür konfiguriert ist, das Signal des fernen Endes mit dem Signal des nahen Endes zu vergleichen; eine Entscheidungseinheit, die dafür konfiguriert ist, auf der Grundlage dieses Vergleichs eine Bestimmung über einen ersten Schallechokompensator vorzunehmen; und einen Controller, der dafür konfiguriert ist, einen Betrieb eines zweiten Schallechokompensators in Abhängigkeit von der Bestimmung zu steuern.
  2. Echokompensationsdetektor nach Anspruch 1, wobei die Entscheidungseinheit dafür konfiguriert ist, eine Bestimmung vorzunehmen, ob ein erster Schallechokompensator vorhanden ist.
  3. Echokompensationsdetektor nach Anspruch 2, wobei der Controller dafür konfiguriert ist: in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator vorhanden ist, den zweiten Schallechokompensator in einen Zustand zu steuern, in dem er nicht arbeitet; und in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator vorhanden ist, den zweiten Schallechokompensator in einen Zustand zu steuern, in dem er arbeitet.
  4. Echokompensationsdetektor nach Anspruch 2 oder 3, wobei der Controller umfasst: eine Überwachungseinheit, die dafür konfiguriert ist zu überwachen, ob der erste Schallechokompensator das Echo des fernen Signals erfolgreich aus einem Mikrofonsignal entfernt, um das Signal des nahen Endes bereitzustellen; dass der Controller dafür konfiguriert ist, in Ansprechen auf eine Bestimmung, dass der erste Schallechokompensator das Echo des fernen Endes nicht erfolgreich aus dem Mikrofonsignal entfernt, den zweiten Schallechokompensator in einen Zustand zu steuern, in dem er zum Entfernen des Echos des fernen Endes aus dem Signal des nahen Endes arbeitet.
  5. Echokompensationsdetektor nach einem vorhergehenden Anspruch, wobei der Vergleichsgenerator dafür konfiguriert ist, eine Angabe des Frequenzspektrums des Signals des fernen Endes mit einer Angabe des Frequenzspektrums des Signals des nahen Endes zu vergleichen.
  6. Echokompensationsdetektor nach einem vorhergehenden Anspruch, wobei der Vergleichsgenerator dafür konfiguriert ist, eine binäre Darstellung des Frequenzspektrums des Signals des fernen Endes mit einer binären Darstellung des Frequenzspektrums des Signals des nahen Endes zu vergleichen.
  7. Echokompensationsdetektor nach Anspruch 6, wobei der Vergleichsgenerator einen Frequenzspektrengenerator umfasst, der dafür konfiguriert ist, eine binäre Darstellung eines Frequenzspektrums zu bilden, durch: Darstellen eines Frequenz-Pins in dem Frequenzspektrum mit einer Größe über einem vorgegebenen Schwellenwert als einen ersten vorgegebenen Wert in der binären Darstellung; und Darstellen eines Frequenz-Pins mit einer Größe unter dem vorgegebenen Schwellenwert als einen zweiten vorgegebenen Wert in der binären Darstellung.
  8. Echokompensationsdetektor nach Anspruch 6 oder 7, wobei der Frequenzspektrengenerator dafür konfiguriert ist, die binäre Darstellung des Frequenzspektrums zu bilden, um nur ausgewählte Frequenz-Pins darzustellen.
  9. Echokompensationsdetektor nach Anspruch 8, wobei der Frequenzspektrengenerator dafür konfiguriert ist, die Frequenz-Pins entsprechend den in menschlicher Sprache zu findenden Frequenzen auszuwählen.
  10. Echokompensationsdetektor nach einem vorhergehenden Anspruch, wobei der Vergleichsgenerator dafür konfiguriert ist, das Signal des fernen Endes mit dem Signal des nahen Endes durch Zählen der Anzahl entsprechender Frequenz-Pins, für die die binären Darstellungen der Signale des fernen Endes und des nahen Endes beide den ersten vorgegebenen Wert aufweisen oder beide den zweiten vorgegebenen Wert aufweisen, zu vergleichen.
  11. Echokompensationsdetektor nach einem vorhergehenden Anspruch, wobei der Vergleichsgenerator konfiguriert ist zum: Vergleichen einer binären Darstellung des Signals des nahen Endes fair den aktuellen Rahmen mit binären Darstellungen des Signals des fernen Endes für mehrere vorhergehende Rahmen; und Addieren einer Einheit zu dem Zählwert, falls eine binäre Darstellung des Signals des fernen Endes für irgendeinen dieser vorhergehenden Rahmen den ersten oder den zweiten vorgegebenen Wert für einen Frequenz-Bin umfasst, der einem Frequenz-Bin entspricht, in dem die binäre Darstellung des Signals des nahen Endes für den aktuellen Rahmen denselben ersten bzw. zweiten vorgegebenen Wert aufweist.
  12. Echokompensationsdetektor nach Anspruch 10 oder 11, wobei der Vergleichsgenerator dafür konfiguriert ist, den Zählwert mit einem oder mit mehreren Zählwerten, die durch Vergleichen vorhergehender Rahmen des Signals des nahen Endes und des Signals des fernen Endes erzeugt wurden, zu mitteln.
  13. Echokompensationsdetektor nach Anspruch 12, wobei der Controller konfiguriert ist zum: Steuern des zweiten Schallkompensators in einen Zustand, in dem er nicht arbeitet, falls der gemittelte Zählwert unter einem vorgegebenen Schwellenwert liegt; und Steuern des zweiten Schallkompensators in einen Zustand, in dem er arbeitet, falls der gemittelte Zählwert über dem vorgegebenen Schwellenwert liegt.
  14. Echokompensationsdetektor nach einem vorhergehenden Anspruch, wobei der Echokompensationsdetektor dafür konfiguriert ist, die Anwesenheit von Sprache des fernen Endes zu bestätigen, bevor er das Signal des fernen Endes mit dem Signal des nahen Endes vergleicht.
  15. Verfahren zum Kompensieren eines Echos eines Signals des fernen Endes in einem Signal des nahen Endes in einem Telephoniesystem, wobei das Verfahren umfasst: Vergleichen des Signals des fernen Endes mit dem Signal des nahen Endes; Vornehmen einer Bestimmung über einen ersten Schallechokompensator auf der Grundlage dieses Vergleichs; und Betreiben eines zweiten Schallechokompensators in Abhängigkeit von der Bestimmung.
  16. Vergleichsgenerator zum Bestimmen der Ähnlichkeit zwischen einem ersten Signal und einem zweiten Signal, wobei der Vergleichsgenerator einen Frequenzspektrengenerator umfasst, der konfiguriert ist zum: Erhalten eines Frequenzspektrums beider Signale; und für jedes Frequenzspektrum Bilden einer binären Darstellung dieses Spektrums durch Darstellen eines Frequenz-Pins mit einer Größe über einem vorgegebenen Schwellenwert in dem Frequenzspektrum mit einem ersten vorgegebenen Wert und eines Frequenz-Pins mit einer Größe unter dem vorgegebenen Schwellenwert in dem Frequenzspektrum als einen zweiten vorgegebenen Wert; wobei der Vergleichsgenerator konfiguriert ist zum: Vergleichen der binären Darstellungen des ersten und des zweiten Signals; und Zählen der Anzahl entsprechender Frequenz-Pins, für die die binären Darstellungen des ersten und des zweiten Signals entweder beide den ersten vorgegebenen Wert aufweisen oder beide den zweiten vorgegebenen Wert aufweisen.
  17. Vergleichsgenerator nach Anspruch 16, der konfiguriert ist zum: Vergleichen einer binären Darstellung des ersten Signals für einen aktuellen Rahmen mit binären Darstellungen des zweiten Signals für mehrere vorhergehende Rahmen; und Addieren einer Einheit zu dem Zählwert, falls eine binäre Darstellung des zweiten Signals für einen dieser vorhergehenden Rahmen den ersten oder den zweiten vorgegebenen Wert für einen Frequenz-Bin umfasst, der einem Frequenz-Bin entspricht, in dem die binäre Darstellung des ersten Signals für den aktuellen Rahmen denselben ersten bzw. zweiten vorgegebenen Wert aufweist.
  18. Vergleichsgenerator nach Anspruch 16 oder 17, der dafür konfiguriert ist, den Zählwert mit einem oder mit mehreren Zählwerten, die durch Vergleichen vorhergehender Rahmen des ersten und des zweiten Signals erzeugt wurden, zu mitteln.
  19. Echokompensationsdetektor, der einen Vergleichsgenerator nach Anspruch 16 umfasst, wobei der Echokompensationsdetektor ferner eine Entscheidungseinheit umfasst, die dafür konfiguriert ist, in Abhängigkeit von der bestimmten Ähnlichkeit zwischen den Signalen des nahen Endes und des fernen Endes eine Bestimmung vorzunehmen, ob in dem Telephoniesystem ein erster Schallechokompensator vorhanden ist.
  20. Echokompensationsdetektor nach Anspruch 19, wobei der Controller konfiguriert ist zum: Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er nicht arbeitet, falls der gemittelte Zählwert unter einem vorgegebenen Schwellenwert liegt; und Veranlassen, dass der zweite Schallechokompensator in einem Zustand ist, in dem er arbeitet, falls der gemittelte Zählwert über dem vorgegebenen Schwellenwert liegt.
DE102015116323.3A 2014-09-30 2015-09-28 Detektion von Schallechokompensation Pending DE102015116323A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1417263.9 2014-09-30
GB1417263.9A GB2525051B (en) 2014-09-30 2014-09-30 Detection of acoustic echo cancellation
GB1511278.2 2015-06-26
GB1511278.2A GB2527934B (en) 2014-09-30 2015-06-26 Determining Signal Spectrum Similarity

Publications (1)

Publication Number Publication Date
DE102015116323A1 true DE102015116323A1 (de) 2016-03-31

Family

ID=51901375

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015116323.3A Pending DE102015116323A1 (de) 2014-09-30 2015-09-28 Detektion von Schallechokompensation

Country Status (4)

Country Link
US (2) US10841431B2 (de)
CN (2) CN105472189B (de)
DE (1) DE102015116323A1 (de)
GB (2) GB2525051B (de)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2525051B (en) * 2014-09-30 2016-04-13 Imagination Tech Ltd Detection of acoustic echo cancellation
US20160165059A1 (en) * 2014-12-05 2016-06-09 Facebook, Inc. Mobile device audio tuning
US9729601B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Decoupled audio and video codecs
US10506004B2 (en) 2014-12-05 2019-12-10 Facebook, Inc. Advanced comfort noise techniques
US9667801B2 (en) 2014-12-05 2017-05-30 Facebook, Inc. Codec selection based on offer
US9729726B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Seamless codec switching
US9729287B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Codec with variable packet size
US10469630B2 (en) 2014-12-05 2019-11-05 Facebook, Inc. Embedded RTCP packets
KR102306798B1 (ko) * 2015-03-20 2021-09-30 삼성전자주식회사 에코 제거 방법 및 그 전자 장치
US10225395B2 (en) * 2015-12-09 2019-03-05 Whatsapp Inc. Techniques to dynamically engage echo cancellation
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
EP3414889B1 (de) * 2016-06-30 2019-12-04 Google LLC Doppel-magnituden-verarbeitungsrahmen für nichtlineare echokompensation in mobilen vorrichtungen
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
WO2018163328A1 (ja) * 2017-03-08 2018-09-13 三菱電機株式会社 音響信号処理装置、音響信号処理方法、及びハンズフリー通話装置
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10621981B2 (en) * 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
CN108335701B (zh) * 2018-01-24 2021-04-13 青岛海信移动通信技术股份有限公司 一种进行声音降噪的方法及设备
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10638226B2 (en) * 2018-09-19 2020-04-28 Blackberry Limited System and method for detecting and indicating that an audio system is ineffectively tuned
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
EP3654249A1 (de) 2018-11-15 2020-05-20 Snips Erweiterte konvolutionen und takt zur effizienten schlüsselwortauffindung
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
CN110931032B (zh) * 2019-11-19 2022-08-02 西安合谱声学科技有限公司 一种动态回声消除方法及装置
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
CN112397082B (zh) * 2020-11-17 2024-05-14 北京达佳互联信息技术有限公司 估计回声延迟的方法、装置、电子设备和存储介质
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305307A (en) 1991-01-04 1994-04-19 Picturetel Corporation Adaptive acoustic echo canceller having means for reducing or eliminating echo in a plurality of signal bandwidths
DE4225401C1 (de) * 1992-07-29 1994-05-26 Siemens Ag Verfahren zum Bestimmen spektraler Anteile eines Signals und Vorrichtung zur Durchführung des Verfahrens
FI106489B (fi) * 1996-06-19 2001-02-15 Nokia Networks Oy Kaikusalpa ja kaiunpoistajan epälineaarinen prosessori
US6269161B1 (en) * 1999-05-20 2001-07-31 Signalworks, Inc. System and method for near-end talker detection by spectrum analysis
US6904146B2 (en) * 2002-05-03 2005-06-07 Acoustic Technology, Inc. Full duplex echo cancelling circuit
US7333447B2 (en) * 2002-12-23 2008-02-19 Broadcom Corporation Packet voice system with far-end echo cancellation
US7386047B2 (en) * 2003-08-19 2008-06-10 Radio Computing Services, Inc. Method for determining the likelihood of a match between source data and reference data
US7813499B2 (en) * 2005-03-31 2010-10-12 Microsoft Corporation System and process for regression-based residual acoustic echo suppression
US8280730B2 (en) * 2005-05-25 2012-10-02 Motorola Mobility Llc Method and apparatus of increasing speech intelligibility in noisy environments
WO2006130970A1 (en) * 2005-06-10 2006-12-14 Sangoma Technologies Corporation Echo canceller controller
US8335311B2 (en) * 2005-07-28 2012-12-18 Kabushiki Kaisha Toshiba Communication apparatus capable of echo cancellation
US7266465B1 (en) * 2005-11-09 2007-09-04 Itt Manufacturing Enterprises, Inc. Wideband digital IFM receiver with frequency confirmation
US7991146B2 (en) * 2005-11-15 2011-08-02 Mitel Networks Corporation Anti-howling structure
DE602007005228D1 (de) * 2006-01-06 2010-04-22 Koninkl Philips Electronics Nv Akustischer echokompensator
US8275120B2 (en) * 2006-05-30 2012-09-25 Microsoft Corp. Adaptive acoustic echo cancellation
US8325909B2 (en) * 2008-06-25 2012-12-04 Microsoft Corporation Acoustic echo suppression
EP2533511B1 (de) * 2008-12-12 2015-04-22 Google, Inc. Verzögerungsschätzgerät
US8255179B2 (en) * 2009-02-11 2012-08-28 Tektronix, Inc. Time qualified frequency mask trigger
JP5493817B2 (ja) * 2009-12-17 2014-05-14 沖電気工業株式会社 エコーキャンセラ
US8811601B2 (en) * 2011-04-04 2014-08-19 Qualcomm Incorporated Integrated echo cancellation and noise suppression
US9065895B2 (en) * 2012-02-22 2015-06-23 Broadcom Corporation Non-linear echo cancellation
CN103325379A (zh) * 2012-03-23 2013-09-25 杜比实验室特许公司 用于声学回声控制的方法与装置
US9319791B2 (en) * 2012-04-30 2016-04-19 Conexant Systems, Inc. Reduced-delay subband signal processing system and method
JP5769671B2 (ja) * 2012-07-10 2015-08-26 日本電信電話株式会社 エコー抑圧ゲイン推定方法とそれを用いたエコー消去装置とプログラム
US9088336B2 (en) * 2012-09-06 2015-07-21 Imagination Technologies Limited Systems and methods of echo and noise cancellation in voice communication
CN103780998B (zh) * 2012-10-23 2018-06-01 韩国电子通信研究院 消除声学回波的方法和设备、与自适应滤波系数更新方法
CN103796135B (zh) * 2012-10-31 2018-06-19 马克西姆综合产品公司 具有回声消除的动态扬声器管理
US8761349B2 (en) * 2012-10-31 2014-06-24 Citrix Systems, Inc. Systems and methods of monitoring performance of acoustic echo cancellation
US9083783B2 (en) * 2012-11-29 2015-07-14 Texas Instruments Incorporated Detecting double talk in acoustic echo cancellation using zero-crossing rate
CN103051818B (zh) * 2012-12-20 2014-10-29 歌尔声学股份有限公司 一种用于小型免提语音通讯系统中的回声消除装置和方法
CN104050971A (zh) * 2013-03-15 2014-09-17 杜比实验室特许公司 声学回声减轻装置和方法、音频处理装置和语音通信终端
US20140278418A1 (en) * 2013-03-15 2014-09-18 Broadcom Corporation Speaker-identification-assisted downlink speech processing systems and methods
US9936290B2 (en) * 2013-05-03 2018-04-03 Qualcomm Incorporated Multi-channel echo cancellation and noise suppression
CN105324982B (zh) * 2013-05-06 2018-10-12 波音频有限公司 用于抑制不需要的音频信号的方法和设备
US9602922B1 (en) * 2013-06-27 2017-03-21 Amazon Technologies, Inc. Adaptive echo cancellation
DK2822263T3 (da) * 2013-07-05 2019-06-17 Sennheiser Communications As Kommunikationsanordning med ekkoundertrykkelse
GB2512413B (en) * 2013-09-18 2015-05-06 Imagination Tech Ltd Acoustic echo cancellation
GB2512155B (en) * 2013-09-18 2015-05-06 Imagination Tech Ltd Acoustic echo cancellation
JP6160403B2 (ja) * 2013-09-26 2017-07-12 沖電気工業株式会社 エコー抑圧装置及びエコー抑圧プログラム
CN104519212B (zh) * 2013-09-27 2017-06-20 华为技术有限公司 一种消除回声的方法及装置
GB201321052D0 (en) * 2013-11-29 2014-01-15 Microsoft Corp Detecting nonlinear amplitude processing
US9319783B1 (en) * 2014-02-19 2016-04-19 Amazon Technologies, Inc. Attenuation of output audio based on residual echo
JP6295722B2 (ja) * 2014-02-28 2018-03-20 沖電気工業株式会社 エコー抑圧装置、プログラム及び方法
US9762742B2 (en) * 2014-07-24 2017-09-12 Conexant Systems, Llc Robust acoustic echo cancellation for loosely paired devices based on semi-blind multichannel demixing
US9398374B2 (en) * 2014-08-12 2016-07-19 Cirrus Logic, Inc. Systems and methods for nonlinear echo cancellation
GB2525051B (en) * 2014-09-30 2016-04-13 Imagination Tech Ltd Detection of acoustic echo cancellation
GB2527865B (en) * 2014-10-30 2016-12-14 Imagination Tech Ltd Controlling operational characteristics of an acoustic echo canceller
GB2532042B (en) * 2014-11-06 2017-02-08 Imagination Tech Ltd Pure delay estimation
KR102306798B1 (ko) * 2015-03-20 2021-09-30 삼성전자주식회사 에코 제거 방법 및 그 전자 장치
GB2536742B (en) * 2015-08-27 2017-08-09 Imagination Tech Ltd Nearend speech detector
US9659555B1 (en) * 2016-02-09 2017-05-23 Amazon Technologies, Inc. Multichannel acoustic echo cancellation
US9653060B1 (en) * 2016-02-09 2017-05-16 Amazon Technologies, Inc. Hybrid reference signal for acoustic echo cancellation
US10129408B1 (en) * 2016-10-11 2018-11-13 Google Llc Residual echo detection based on non-causality

Also Published As

Publication number Publication date
GB201511278D0 (en) 2015-08-12
US20200336602A1 (en) 2020-10-22
CN113382120A (zh) 2021-09-10
GB2527934A (en) 2016-01-06
GB2527934B (en) 2016-06-01
GB201417263D0 (en) 2014-11-12
CN105472189A (zh) 2016-04-06
US20160094718A1 (en) 2016-03-31
GB2525051A (en) 2015-10-14
US11601554B2 (en) 2023-03-07
GB2525051B (en) 2016-04-13
CN105472189B (zh) 2021-06-29
US10841431B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
DE102015116323A1 (de) Detektion von Schallechokompensation
DE60024815T2 (de) System und verfahren zur erkennung eines nahen sprechers durch spektrumanalyse
DE112012001201B4 (de) Echolöschvorrichtung und Echodetektor
DE69532394T2 (de) Verfahren und Vorrichtung zur Echokompensation mit Anwendung der &#34;fast projection scheme&#34;
DE69631086T2 (de) Teilbandechokompensationsverfahren unter Verwendung eines Projektionsalgorithmus
DE69728262T2 (de) Echounterdrücker und nicht- linearer prozessor eines echokompensators
DE60203282T2 (de) Telefongerät
EP0729229B1 (de) Adaptives Balancefilter
DE102008039330A1 (de) Vorrichtung und Verfahren zum Berechnen von Filterkoeffizienten zur Echounterdrückung
DE102015116475A1 (de) Automatische Abstimmung eines Verstärkungscontrollers
DE69634841T2 (de) Verfahren und Vorrichtung zur Echokompensation
DE112015007019B4 (de) Echolöscheinrichtung und Sprachtelekommunikationseinrichtung
DE102014100407A1 (de) Geräuschminderungsvorrichtungen und Geräuschminderungsverfahren
DE102008039329A1 (de) Vorrichtung und Verfahren zur Berechnung von Steuerinformationen für ein Echounterdrückungsfilter und Vorrichtung und Verfahren zur Berechnung eines Verzögerungswerts
DE10017646A1 (de) Geräuschunterdrückung im Zeitbereich
DE112017004612T5 (de) Vollduplex-sprachkommunikationssystem und -verfahren
EP3454572B1 (de) Verfahren zum erkennen eines defektes in einem hörinstrument
DE102011050612A1 (de) Audiokommunikationsvorrichtung und -verfahren unter Verwendung von festen Echokompensations-Filterkoeffizienten
DE19806015C2 (de) Verfahren zur Verbesserung der akustischen Rückhördämpfung in Freisprecheinrichtungen
DE112014007255B4 (de) Echolöscheinrichtung und Echolöschverfahren
DE102018117557B4 (de) Adaptives nachfiltern
DE10000009A1 (de) Verfahren zur koordinierten Echo- und/oder Geräuschabsenkung
DE102018117558A1 (de) Adaptives nachfiltern
DE112005003681T5 (de) Hörhilfe mit Rückkopplungssignal-Reduktionsfunktion
DE60111122T2 (de) Verfahren und system zur detektion und regelung von schweren echos

Legal Events

Date Code Title Description
R012 Request for examination validly filed