DE60129327T2 - Anordnung und verfahren in bezug auf die vermittlung von sprache - Google Patents

Anordnung und verfahren in bezug auf die vermittlung von sprache Download PDF

Info

Publication number
DE60129327T2
DE60129327T2 DE60129327T DE60129327T DE60129327T2 DE 60129327 T2 DE60129327 T2 DE 60129327T2 DE 60129327 T DE60129327 T DE 60129327T DE 60129327 T DE60129327 T DE 60129327T DE 60129327 T2 DE60129327 T2 DE 60129327T2
Authority
DE
Germany
Prior art keywords
jitter buffer
size
terminal unit
speech
packets
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.)
Expired - Lifetime
Application number
DE60129327T
Other languages
English (en)
Other versions
DE60129327D1 (de
Inventor
Jim Sundqvist
Hakan Lennestal
Anders Nohlgren
Morgan Lindqvist
Wei Wang
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60129327D1 publication Critical patent/DE60129327D1/de
Publication of DE60129327T2 publication Critical patent/DE60129327T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6472Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6481Speech, voice
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Machine Translation (AREA)
  • Devices For Executing Special Programs (AREA)
  • Communication Control (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegenden Erfindung betrifft eine Anordnung, speziell eine Empfangsendgeräteeinheit (oder allgemeiner ein Endgerät, das als ein Empfänger agiert) in einem Kommunikationssystem, welches paketbasierte Kommunikation von Sprache und Daten unterstützt, beispielsweise einem IP-Netz. Die Anordnung oder die Empfangsendgeräteeinheit schließt eine Empfangseinrichtung ein, eine Sprachdekodiereinrichtung und einen Jitter-Puffer zum Handhaben von Verzögerungsschwankungen in dem Empfang eines aus Rahmen mit codierter Sprache enthaltenden Paketen bestehenden Sprachsignals. Die Erfindung betrifft auch eine Anordnung zum Verbessern des Handhabens von Verzögerungsschwankungen in einem Jitter-Puffer in einer Endgeräteeinheit in einem Kommunikationssystem, welches paketbasierte Kommunikation von Sprache und Daten unterstützt. Die Erfindung betrifft auch ein Verfahren des Anpassens der Größe eines Jitter-Puffers in einer Endgeräteeinheit in einem Kommunikationssystem, welches paketbasierte Kommunikation von Sprache und Daten unterstützt.
  • STAND DER TECHNIK
  • Ein Bereich, der eine schnelle Entwicklung innerhalb von Telekommunikationen erfährt, betrifft Sprache über IP (die TCP/IP, Transmission Control Protocol/Internet Protocol bzw. Übertragungssteuerprotokoll/Internetprotokoll-Garnitur). Anfangs war einer der Hauptgründe, es so attraktiv zu finden, dass es möglich sein würde, Telefonrufe bei sehr niedrigen Kosten vorzunehmen. Jedoch wurde später erkannt, dass die Technologie viel mehr Potential hat. Nun kann gesehen werden, dass es sehr vielversprechend für neue und unterschiedliche Geschäftsanwendungen innerhalb des Telekommunikationsbereichs ist. Da sowohl Sprache als auch Daten dasselbe Netz verwenden und dasselbe Übertragungsprotokoll, wird es viel leichter sein, beispielsweise unterschiedliche Informationsanwendungen wie Call-Center, Rufabschirmung, vereinheitlichte Nachrichten etc. zu implementieren als mit traditionellen Telekommunikationstechnologien. Für die Anwendung von Voice over IP (Sprache über Internetprotokoll), wird Sprache oder werden Sprachdaten gruppiert, um Pakete zu bilden und zu geteilten gemeinsamen Netzen gesendet zu werden. Bedingt durch die Art solcher Netze werden jedoch spezifische technische Probleme angetroffen wie Paketverlust, Paketverzögerung und Jitter, die häufig auftreten.
  • Jitter kann beschrieben werden als die Schwankung im Ankommen von aufeinanderfolgenden Paketen. Ein Echtzeitdienst wie Sprache sendet typischerweise ein Paket mit codierter Sprache alle 20 ms in Entsprechung zu 160 Abtastungen beim Verwenden einer Abtastfrequenz von 8 kHz. Da die Verzögerung quer über das Netz variiert, werden unterschiedliche Pakete unterschiedlich verzögert. Zudem ist der Takt einer sendenden Endgeräteeinheit nicht synchronisiert mit dem Takt einer empfangenden Endgeräteeinheit. Um die Verzögerungsschwankungen zu glätten, ist eine Empfangsanordnung oder der empfangende Teil eines Endgerätes, das im Allgemeinen sowohl als ein Empfänger als auch als ein Sender funktioniert, gewöhnlich mit einem sogenannten Jitter-Puffer versehen. Die Größe des Jitter-Puffers ist wichtig vom Gesichtspunkt der Sprachqualität.
  • Wenn die Größe des Jitter-Puffers zu groß ist, wird die Einwegverzögerung vom Mund zum Ohr zu lang und die empfundene Qualität wird verschlechtert. ITU-T Recommendation G.114 "One-way transmission time" (Einwegübertragungszeit), ITU-T 1996, gibt beispielsweise an, dass die Einwegverzögerung weniger als 150 ms für einen regulären Telefondienst sein sollte. Wenn andererseits der Jitter-Puffer zu klein ist, werden Pakete, die um mehr als die Größe des Jitter-Puffers verzögert sind, als verloren betrachtet, da sie zu spät ankommen, um für irgendeine Sprachsynthese verwendet zu werden.
  • Daher wird ein adaptiver Jitter-Puffer gewünscht zum Ausgleichen der Größe des Jitter-Puffers, d.h., der Verzögerung auf der Empfangsseite gegen Paketverlust. Die Verzögerung kann mit der Zeit variieren. Um imstande zu sein, jene Schwankungen zu handhaben, muss die Größe des Jitter-Puffers, d.h., die Anzahl von Abtastungen, die die Sprachparameter in ihm repräsentieren würden, demgemäß anpassbar sein. Der Jitter-Puffer kann auf unterschiedliche Weisen gemessen und angepasst werden. Es ist bekannt, den Jitter-Puffer während des Prüfens der maximalen Schwankungen in den Ankunftszeiten für empfangene Pakete zu messen. Die Einrichtung zum Durchführen der eigentlichen Jitter-Puffer-Anpassung kann von unterschiedlicher Art sein. Beispielsweise ist es bekannt, eine Jitter-Puffer-Anpassung durch Verwenden des Beginnens eines Gesprächsanstiegs zum Zurücksetzen des Jitter-Puffers auf einen spezifizierten Pegel durchzuführen. Der Abstand, in der Anzahl von Abtastungen, zwischen zwei aufeinanderfolgenden Gesprächsanstiegen, d.h., wenn es Stille gibt, wird auf der Empfangsseite angehoben, wenn der Jitter-Puffer zu klein ist und die Anzahl von Abtastungen wird verringert, wenn der Jitter-Puffer zu groß ist. Durch diese Aktion wird die Größe des Jitter-Puffers angepasst. Bei IP-Telefonielösungen unter Verwendung des RTP-Protokolls (Real Time Protocol bzw. Echtzeit-Protokoll), siehe "RTP; A Transport Protocol for Real-Time Applications" (RTP, ein Transport-Protokoll für Echtzeitanwendung), RFC1889, IETF, Januar 1996 von H. Schulrinne et al, wird das Markierungs-Flag in dem RTP-Header verwendet zum Identifizieren des Beginns eines Gesprächsanstiegs, und die Größe der Jitter-Puffers kann geändert werden, wenn ein solches Paket auf der Empfangsseite ankommt.
  • Der Stand der Technik ist in WO 96/15598 offenbart, die einen Audio-Senderempfänger beschreibt, welcher auf der Empfangsseite den Umfang an Audiodaten in dem Puffer einer Audio-Vorrichtung steuert.
  • Jedoch ist es ein Nachteil einer Lösung, wie sie oben erwähnt worden ist, dass das Zurücksetzen des Jitter-Puffers auf einen gewissen Pegel zu Beginn jedes Gesprächsanstiegs zu statisch ist. Es deckt beispielsweise nicht den Fall ab, in dem die Netzbedingungen sich ändern, oder wenn die falsche Entscheidung getroffen worden ist. Wenn die Jitter-Puffergröße zu klein wird, werden Pakete verloren gehen und wenn der Jitter-Puffer zu groß wird, wird eine unnötige Verzögerung eingefügt. In beiden Fällen wird die wahrgenommene Sprachqualität beeinträchtigt, was nachteilig ist. Da der Jitter-Puffer nur angepasst wird, wenn es tatsächlich eine Sprachruheperiode gibt, werden die Probleme noch schwerwiegender, wenn die Perioden mit Sprache lang sind, da es während der gesamten Zeit keine Möglichkeit gibt, eine Anpassung auszuführen.
  • RESÜMEE DER ERFINDUNG
  • Demnach wird eine (Empfangs-) Endgeräteeinheit in einem Kommunikationssystem benötigt, wie sie oben bezeichnet worden ist, durch welche die Schwankung in der Ankunftszeit (d.h., dass Pakete unregelmäßig ankommen) zwischen aufeinander folgenden Paketen in einer effizienten Weise gehandhabt werden kann. Auch wird eine Endgeräteeinheit benötigt, durch die die wahrgenommene Sprachqualität gut sein wird, speziell verbessert verglichen mit bisher bekannten Empfangsendgeräte-Einheiten. Auch wird eine (Empfangs-)Endgeräteeinheit benötigt, durch die es möglich ist, Verzögerungsschwankungen zu glätten, d.h., durch die Jitter gehandhabt werden können, in den die Größe des Jitter-Puffers in einer effizienten Art und Weise angepasst werden kann. Ein Empfangsendgerät, das einen Jitter-Puffer enthält, der derart adaptiv ist, dass die Ausgewogenheit zwischen der Verzögerung auf der (Empfangs-)Seite und der Verlust von Paketen optimiert werden, wird ebenfalls benötigt. Eine Empfangsendgeräteeinheit mit einem Jitter-Puffer, die das Erfüllen irgendwelcher Erfordernisse und Empfehlungen ermöglicht, die sich auf reguläre Telefondienste beziehen, und für welche die Anpassung des Jitter-Puffers in leichter Weise durchgeführt werden kann, wird ebenfalls benötigt. Es sollte klar sein, dass wenn eine Empfangsendgeräteeinheit erwähnt wird, im Allgemeinen die Empfangsfunktionalität einer Endgeräteeinheit gemeint ist, da meist eine Endgeräteeinheit sowohl als ein Empfänger als auch als ein Sender agiert.
  • Einem Jitter-Puffer wird in dieser Anmeldung dahingehend eine breite Interpretation verliehen, dass er sich (wie in den meisten Fällen), auf den konventionellen Jitter-Puffer beziehen kann bei dem Pakete gespeichert werden, bevor sie von der Dekodiereinrichtung geholt werden, aber er sich in einigen Ausführungsformen auch auf eine Speicher-/Puffer-Einrichtung beziehen kann, in der Sprache in ihrer dekodierten Form gespeichert ist, d.h., nach dem Dekodieren in der Dekodiereinrichtung. Dies ist anwendbar wenn das Dekodieren im Wesentlichen ausgeführt wird, sobald Pakete in dem Empfangsendgerät empfangen werden. Dies ist es, was mit der funktionalen Größe eines Jitter-Puffers gemeint ist.
  • Darüber hinaus können eine Anordnung und ein Verfahren des Anpassens der (funktionalen) Größe eines Jitter-Puffers in einer Endgeräteeinheit in einem Kommunikationssystem, das paketbasierte Kommunikation von Sprache und Daten unterstützt, benötigt werden, durch welche Jitter-Puffer-Anpassungen in einer effizienten und leichten Weise ausgeführt werden können. Es wird auch ein Verfahren benötigt, durch welches die Verzögerungsschwankungen beim Empfang aufeinanderfolgender, Sprache enthaltender Pakete geglättet werden können. Zudem wird ein Verfahren benötigt, durch welches eine gute Sprachqualität bereitgestellt werden kann und durch welches das Risiko des Paketverlusts reduziert wird. Auch wird ein Verfahren benötigt, durch welches die wahrgenommen Sprachqualität bei der (Empfangs-)Endgeräte-Einheit verbessert werden kann verglichen mit bislang bekannten Verfahren. Auch wird ein Verfahren benötigt, durch welches die Jitter-Puffer-Handhabungsfähigkeit innerhalb einer Endgeräteeinheit verbessert werden kann und erleichtert werden kann, speziell optimiert werden kann.
  • Demnach wird eine Endgeräteeinheit, wie sie anfangs benannt worden ist, bereitgestellt, die eine Empfangseinrichtung einschließt, eine Sprachdekodiereinrichtung und einen Jitter-Puffer, in welcher Rahmen mit codierter Sprache enthaltende Pakete empfangen werden. Das heißt, sie empfängt Pakete von dem Sprachparameter umfassenden Netz, die einen oder mehrere Sprachrahmen repräsentieren, welche eine Anzahl von Abtastungen umfassen. Sie schließt ferner eine Puffersteuereinrichtung ein zum Behalten von Information über die Größe des Jitter-Puffers um der Sprachdekodiereinrichtung Steuerinformation bereitzustellen derart, dass die Sprachdekodiereinrichtung basierend auf dieser Information, die Information in Bezug auf das empfangene (codierte oder dekodierte) Sprachsignal einschließt, eine dynamische Anpassung der Größe des Jitter-Puffers vornimmt durch Modifikation des empfangenen paketisierten Sprachsignals. Gemäß unterschiedlichen Ausführungsformen wird das Sprachsignal während des Dekodierschrittes oder nach dem Dekodieren modifiziert.
  • In einer bevorzugten Ausführungsform verwendet die Jitter-Puffer-Steuereinrichtung Information in Bezug auf die derzeitige Größe des Jitter-Puffers und in Bezug auf die gewünschte (normale) Größe des Jitter-Puffers, um zu bestimmen, wenn und wie die Jitter-Puffergröße anzupassen ist.
  • Ein Paket enthält insbesondere eine Anzahl von Sprachrahmen, einen oder mehrere, von denen jeder eine Anzahl von Sprache repräsentierenden Parametern enthält. In einer speziellen Implementierung besteht ein Empfangspaket aus einem Sprachrahmen, der beispielsweise 160 Abtastungen repräsentiert, wenn sie dekodiert sind. Erfindungsgemäß wird insbesondere das Sprachsignal in der Zeit komprimiert oder ausgedehnt, um auf diese Weise die funktionale Größe des Jitter-Puffers anzupassen. Die derzeitige Größe des Jitter-Puffers wird speziell repräsentiert durch die Anzahl von Abtastungen, die in der Empfangsendgeräteeinheit verbleiben bis das empfangene Paket durch die Dekodiereinrichtung geholt werden muss und die gewünschte (normale) Größe des Jitter-Puffers wird repräsentiert durch die Anzahl an Abtastungen, die in der Empfangsendgeräteeinheit verbleiben sollte, bis das empfangene Paket durch die Dekodiereinrichtung geholt werden muss.
  • Speziell bezieht sich die Erfindung auf die funktionale Größe des Jitter-Puffers, die relevant ist, wenn die Sprachdekodiereinrichtung tatsächlich Pakete im Wesentlichen holt, sobald sie ankommen, sie dekodiert und sie speichert, bevor sie zu dem D/A-Wandler geliefert werden. Dieses Speichern nach dem Dekodieren entspricht dem tatsächlichen Speichern im Jitter-Puffer, demnach wird die Terminologie funktionaler Größe des Jitter-Puffers verwendet, da das Erfindungskonzept auch solche Ausführungsformen abdeckt. Dann ist jedoch die Adaption irgendwie verzögert, da die Anpassung der Größe in Bezug auf das nachfolgende Paket ausgeführt wird.
  • Speziell zum Steuern der Größe des Jitter-Puffers wird eine Anzahl von Abtastungen auf das Dekodieren eines Paketes in der Dekodiereinrichtung hinzugefügt/entfernt. In einer speziellen Implementierung wird zum Adaptieren der Größe der Jitter-Puffers alternativ eine Anzahl von Abstandsperioden (oder eine Anzahl von Abtastungungen, die eine oder mehrere Abstandsperioden repräsentieren) beim Dekodieren hinzugefügt/entfernt. Noch weiter kann die Anzahl von Rahmen, die ein Paket enthält, erhöht oder verringert werden abhängig davon, ob die Größe des Jitter-Puffers angehoben oder reduziert werden muss.
  • In vorteilhafter Weise erfaßt die Puffersteuereinrichtung die Ankunftszeit von Paketen bei dem Jitter-Puffer und die Zeit, zu der Pakete von der Dekodiereinrichtung geholt werden, um zu bestimmen, wenn und wie die Jitter-Puffergröße angepasst werden muss. Eine Rückmeldungseinrichtung ist vorgesehen zum Informieren der Jitter-Puffersteuereinrichtung in Bezug auf die derzeitige Jitter-Puffergröße derart, dass die Steuereinrichtung immer mit aktualisierter Information in Bezug auf die Jitter-Puffergröße versorgt ist. Über die Rückmeldungseinrichtung wird speziell Information zu der Steuereinrichtung darüber bereitgestellt, wie viele Abtastungen/Rahmen/Abstandsperioden, zu dem Paket hinzugefügt bzw. von dem Paket entfernt worden sind bei der letzten Anpassung der Jitter-Puffergröße. Alternativ, wenn sich die gesamte Informationsverarbeitungsfähigkeit in der Steuereinrichtung befindet, gibt es keinen Bedarf zum Übertragen von Information, da sie bereits für die Steuereinrichtung verfügbar ist. In einer speziellen Implementierung wird zum Ändern der Anzahl von Abtastungen oder Abstandsperioden das derzeit empfangene Paket verwendet. Alternativ werden zum Hinzufügen eines Rahmens zu einem Paket, die Parameter einer Anzahl von vorangehenden Rahmen zum Synthetisieren eines neuen Rahmens verwendet. Alternativ können zum Einfügen eines Rahmens Parameter eines vorangehenden Rahmens und eines nachfolgenden Rahmens in einem Interpolationsschritt verwendet werden zum Bereitstellen eines neuen Rahmens. Zum Auslöschen eines Rahmens wird der nachfolgende Rahmen in vorteilhafter Weise aus dem Jitter-Puffer gelöscht.
  • In einer speziellen Implementierung umfasst die Dekodiereinrichtung einen CELP-Dekoder oder Ähnliches und eine bereits existierende Steuereinrichtung davon wird als Jitter-Puffer-Steuereinrichtung verwendet. In einer alternativen Implementierung ist eine Einrichtung vorgesehen zum Durchführen einer LPC-Analyse zum Bereitstellen eines LPC-Residuums und zum Durchführen einer LPC-Synthese.
  • Demnach wird auch ein Verfahren des Anpassens der (funktionalen) Größe eines Jitter-Puffers in einer Endgeräteeinheit in einem paketbasierte Kommunikation von Sprache und Daten unterstützenden Kommunikationssystem bereitgestellt, das die Schritte umfasst: Empfangen eines Sprachsignals mit codierter Sprache in Paketen von einer Sendeseite in einem Jitter-Puffer einer Empfangsendgeräteeinheit; Speichern der Pakete in dem Jitter-Puffer; Holen der Pakete von dem Jitter-Puffer zu der Sprachdekodiereinrichtung. Das Verfahren umfasst ferner die Schritte: Erfassen, wenn die funktionale Größe des Jitter-Puffers zu vergrößern oder zu verkleinern ist, wenn ja, Ausdehnen/Komprimieren des empfangenen Sprachsignals in der Zeit durch Steuern der Anzahl von Abtastungen, die die in dem Jitter-Puffer gespeicherten Sprachrahmen repräsentieren würden, wenn sie dekodiert wären. Speziell umfasst das Verfahren die Schritte: Ausdehnen/Komprimieren des Sprachsignals; Erhöhen/Verringern der Rate, bei der die Dekodiereinrichtung Pakete von dem (aktuellen) Jitter-Puffer holt (oder alternativ die Rate, bei der die Dekodiereinrichtung Rahmen in dem Fall ausgibt, wenn das Dekodieren im Wesentlichen sobald ein Paket bei dem Jitter-Puffer ankommt, vorgenommen worden ist). In einer speziellen Implementierung umfasst das Verfahren den Schritt zum Anpassen der Größe des Jitter-Puffers; Addieren/Löschen einer oder mehrerer Abtastwerte, wenn ein Paket in der Dekodiereinrichtung dekodiert wird. In einer alternativen Ausführungsform schließt das Verfahren den Schritt ein; Addieren/Entfernen einer oder mehrerer Abstandsperioden auf das Dekodieren in der Dekodiereinrichtung hin. In noch einer anderen Implementierung schließt das Verfahren den Schritt ein; Addieren/Entfernen eines oder mehrerer Rahmen zu/von einem Paket. (Ein zusätzlicher Rahmen wird dann zwischen zwei Paketen eingefügt. Der zusätzliche Rahmen wird einen Sprachrahmen erzeugen, der N Abtastwerte, z.B. 160 Abtastwerte, umfasst).
  • In vorteilhafter Weise umfasst das Verfahren den Schritt des (relevant für alle vorangehenden Ausführungsformen) Erfassens der Ankunftszeiten von Paketen zu dem Jitter-Puffer und der Zeiten, bei denen Pakete durch die Dekodiereinrichtung geholt werden, in der automatischen Steuereinrichtung, um zu bestimmen, wenn und wie die Jitter-Puffergröße angepasst werden muss. Statt des Erfassens, wenn Pakete durch die Dekodiereinrichtung geholt werden, wird gemäß einer alternativen Ausführungsform bestimmt, wenn die Dekodiereinrichtung ein Paket zu der D/A-Wandlungseinrichtung auszugeben hat (z.B. von einem der Dekodiereinrichtung zugeordneten Eingangspuffer (plag-out buffer)).
  • Das Verfahren umfasst vorzugsweise die Schritte: dynamisches Anpassen der Größe des Jitter-Puffers durch Erhöhen/Verringern der Rate, bei der die Dekodiereinrichtung Pakete aus dem Jitter-Puffer holt. Gemäß einer Ausführungsform umfasst es den Schritt des Verwendens eines CELP- oder eines CELP-artigen Dekoders zur Adaptionssteuerung, hierbei existierende LPC-Parameter verwendend, die ein LPC-Residuum liefern. In einer alternativen Ausführungsform wird eine LPC-Analyse durchgeführt zum Bereitstellen eines LPC-Residuums vor dem Addieren/Entfernen von Abtastwerten/Rahmen/Abstandsperioden, eine LPC-Synthese durchführend.
  • Demnach wird auch eine Anordnung zum Verbessern des Handhabens von Verzögerungsvariationen eines Jitter-Puffers in einer Endgeräteeinheit in einem paketbasierte Kommunikation von Sprache und Daten unterstützenden Kommunikationssystemen bereitgestellt, wobei Pakete mit Rahmen (einem oder mehreren) codierter Sprache in dem Jitter-Puffer von einer Sende-Endgeräteeinheit bei einer variierenden ersten Frequenz empfangen werden, und wobei eine Sprachdekodiereinrichtung Pakete von dem Jitter-Puffer mit einer zweiten Frequenz holt. Die Anordnung umfasst eine Jitter-Puffer-Steuereinrichtung zum dynamischen Steuern der zweiten Frequenz, mit der die Dekodiereinrichtung Pakete von dem Jitter-Puffer holt derart, dass die Größe des Jitter-Puffers geändert werden kann oder angepasst werden kann. Die Frequenz, bei der das Holen von Paketen durchgeführt wird, wird durch das Erhöhen/Verringern der Anzahl von Abtastwerten/Abstandsperioden/Rahmen durchgeführt, die in einem Paket enthalten sind, wenn es in der Dekodiereinrichtung dekodiert wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird im Folgenden in einer nicht einschränkenden Weise und unter Bezugnahme auf die beiliegenden Zeichnungen weiter beschrieben, in denen zeigt:
  • 1 ein Sprachsignal im Zeitbereich;
  • 2 ein LPC-Residuum eines Sprachsignals im Zeitbereich;
  • 3 einen Analyse-durch-Synthese-Sprachcodierer mit einem LTP-Filter;
  • 4 einen Analyse-durch-Synthese-Sprachcodierer mit einem adaptiven Codebuch;
  • 5 ein sehr schematisches Blockdiagramm zweier Telekommunikationseinheiten, von denen eine als eine Sendeanordnung agiert, die ein Signal über das Netz zu der anderen als eine Empfangsanordnung agierenden sendet;
  • 6 ein Blockdiagramm der Teile einer Endgeräteeinheit, die zur Anpassung des Jitter-Puffers gemäß der Erfindung relevant sind;
  • 7A eine Ursprungsabfolge zweier Sprachrahmen;
  • 7B das Einfügen eines Rahmens in die Abfolge der 7A;
  • 8A eine Ursprungsschwingungformabfolge;
  • 8B das Einfügen eines Abstands basierend auf dem Schwingungsformsegment der Abfolge der 8A;
  • 9A eine Ursprungsschwingungsform;
  • 9B das Einfügen eines Schwingungsformsegments in die Schwingungsform der 9A, und
  • 10 ein Ablaufdiagramm zum Beschreiben der Funktionsweise der Jitter-Puffer-Steuereinrichtung.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In einem paketbasierten Kommunikationssystem, das paketbasierte Kommunikation von Sprache und Daten unterstützt, tastet eine erste Endgeräteeinheit, wenn sie als Sende-Kommunikationseinheit agiert, Eingangssprache ab, die eine Anzahl von Sprachparameter umfasst (z.B. drei Arten von Parametern), welche hier als Sprachrahmen repräsentiert werden, der eine Anzahl von Abtastwerten, z.B. 160 Abtastwerte für einen 20 ms-Sprachrahmen und wenn eine Abtastrate von 8 kHz verwendet wird, umfasst, welche Parameter in Paketen paketiert sind und über das Netz zu einer Empfangsendgeräteeinheit übertragen werden, die das wiedererstellte dekodierte Sprachsignal mit einer Abtastrate von z.B. 8 kHz ausgeben sollte. Auf der Empfangsseite sind die Pakete demnach unverpackt. Jedoch, wie früher in der Anmeldung erwähnt, können die Verzögerungen, mit denen die Pakete auf der Empfangsseite empfangen werden, von einem Paket zum anderen unterschiedlich sein, da einige der Pakete rasch über das Netz übermittelt werden, wohingegen andere langsam übermittelt werden. Zudem sind die Takte des Sende- und Empfangsendegeräts jeweils nicht synchronisiert. Wenn ein nachfolgendes Paket nicht ankommt, wenn das vorangehende Paket bereits ausgegeben worden ist, wird dies als eine Störung durch den Benutzer der Empfangseinheit wahrgenommen. der Jitter-Puffer wird verwendet zum Handhaben der Verzögerungsschwankungen und es ist wichtig, dass immer irgendetwas ausgegeben wird.
  • Aus Gründen der Erläuterung zeigt 1 ein typisches Segment eines Sprachsignals im Zeitbereich. Dieses Sprachsignal zeigt eine Kurzzeit-Korrelation entsprechend dem Sprach-Trakt und eine Langzeit-Korrelation entsprechend den Stimmbändern. Die Kurzzeit-Korrelation kann unter Verwendung eines LPC-Filters vorhergesagt werden und die Langzeit-Korrelation kann durch die Verwendung eines LTP-Filters vorhergesagt werden. LPC bedeutet lineares prädiktives Codieren und LTP bedeutet Langzeitvorhersage. Linear impliziert in diesem Fall, dass die Vorhersage bzw. Prädiktion eine Linearkombination vorangehender Abtastwerte des Sprachsignals ist.
  • Das LPC-Filter wird gewöhnlich dargestellt:
    Figure 00130001
  • Durch Führen eines Sprachsignals durch das LPC-Filter wird H(z), das LPC-Residuum (Restwert bei der Linear-Vorhersage-Codierung), rLPC(n) gefunden. Das in 2 gezeigte LPC-Residuum enthält Abstandsimpulse (Pitch-Impulse) P, die durch die Stimmbänder erzeugt werden. Die Distanz zwischen zwei Abstandsimpulsen ist eine sogenannte Verzögerung bzw. ein Nacheilen. Die Abstandsimpulse P sind auch vorhersagbar und da sie die Langzeit-Korrelation des Sprachsignals repräsentieren, werden sie durch einen Langzeit-Vorhersager, d.h., ein LTP-Filter vorhergesagt, das durch die Distanz L zwischen den Abstandsimpulsen P und die Verstärkung b eines Abstandsimpulses P gegeben ist. Das LTP-Filter wird allgemein angegeben: F(z) = b·z-L
  • Wenn das LPC-Residuum durch die Inverse des LTP-Filters F(z) geführt wird, wird das LTP-Residuum rLPC(n) erstellt. In dem LTP-Residuum ist die Langzeit-Korrelation in dem LPC-Residuum entfernt, was dem LTP-Residuum eine rauschartige Erscheinung verleiht.
  • Viele niederbitratigen Sprachcodierer sind sogenannte Hybridcodierer. In 3 ist eine Analyse-durch-Synthese-Sprachcodierer 100 mit LTP-Filter 140 dargestellt. Der Stimmtrakt wird mit einem LPC-Filter 150 beschrieben und die Stimmbänder werden mit einem LTP-Filter 140 beschrieben während das LTP-Residuum r ^LTP(n) Schwingungsform mit einem Satz von mehr oder weniger stochastischen Codebuchvektoren von dem festen Codebuch 130 verglichen wird. Das Eingangssignal IIN ist aufgeteilt in Rahmen 110 mit einer typischen Länge von 10–30 ms. Für jeden Rahmen wird ein LPC-Filter (Kurzzeit-Vorhersager) 150 durch eine LPC-Analyse 120 berechnet und das LPC-Filter 150 ist in einer geschlossenen Schleife eingeschlossen zum Finden der Parameter des LTP-Filters 140, d.h., des Verzögerungsabschnitts und der LTP-Verstärkung, des festen Codebuchs, des Codebuchindex und der Codebuchverstärkung. Der Sprachdekoder 180 ist in dem Codierer eingeschlossen und besteht aus dem festen Codebuch 130, dessen Ausgang r ^LTP(n) mit dem LTP-Filter 140 verbunden ist, dessen Ausgang r ^LTP(n) mit dem LTP-Filter 140 verbunden ist, dessen Ausgang r ^LPC(n) mit dem LPC-Filter 150 verbunden ist, das eine Schätzung s(n) des Ursprungssprachsignals SIN(n) erzeugt. Bei der Analyse zum Finden des besten Parametersatzes zum Darstellen der Ursprungssequenz werden die Parameter des festen Codebuchs, die Verstärkung und der Langzeit-Vorhersager derart in unterschiedlicher Weise kombiniert zum Erzeugen unterschiedlicher Synthesesignale. Jedes geschätzte Signal s(n) wird mit dem Ursprungs- Sprachsignal SIN(n) verglichen und ein Differenzsignal e(n) wird berechnet. Das Differenzsignal e(n) wird dann in 160 gewichtet zum Berechnen eines Wahrnehmungs-gewichteten Fehlermaßes eW(n). Der Parametersatz, der das geringste Wahrnehmungs-gewichtete Fehlermaß eW(n) liefert, wird zu der Empfangsseite 170 übermittelt. Dieses Verfahren, Analyse durch Synthese, besteht demnach im Vergleichen unterschiedlicher synthetisierter Signale und Auswählen der besten Übereinstimmung.
  • 4 zeigt einen anderen Typ von Analyse-durch-Synthese-Sprachcodierer 100, in welchem das LTP-Filter der 3 (140) durch ein adaptives Codebuch 135 ausgetauscht wird. Das LPC-Residuum rLPC(n) wird dann von der Summe der adaptiven und festen Codebücher 135 und 130 ausgegeben. Alle anderen Elemente haben dieselbe Funktionalität wie in 3, die den Analyse-durch-Synthese-Sprachcodierer mit dem LTP-Filter 140 zeigt.
  • Die obige kurze Zusammenfassung der Funktionsweise von Sprachcodierung unter Bezugnahme auf 3 und 4 ist bloß zum Zwecke des Übermittelns eines Verständnisses des Verfahrens eingeschlossen, das in Bezug auf die vorliegende Erfindung beschrieben wird. In realen Implementierungen wird viel Arbeit damit verbracht, die Komplexität zu reduzieren und die wahrgenommene Sprachqualität zu verbessern. Dies ist jedoch nicht Teil der vorliegenden Erfindung. Irgendein Typ von Sprachcodierung kann implementiert werden, z.B. Verfahren zum Verbessern der Sprachqualität, wie sie in der schwedischen Patentanmeldung "Verfahren und Vorrichtung in einem Telekommunikationssystem", Anmeldungsnummer 9903223-7, angemeldet am 9. September 1999, offenbart sind, die hiermit durch Bezugnahme einbezogen wird.
  • 5 illustriert sehr schematisch Blockdiagramme zweier Telefoneinheiten, z.B. IP-Telefone, von denen jede sicherlich imstande ist, sowohl als Sender als auch als Empfänger zu agieren, aber in dieser Figur ist eine der Telefonendgeräteeinheiten 11 dazu gedacht, als Empfänger zu agieren zum Senden eines Signals zu einer anderen Telefonendgeräteeinheit 12, die als Empfangstelefon agiert. Die Endgeräteeinheiten 11, 12 schließen in einer konventionellen Weise ein Mikrofon 1, eine A/D-Umwandlungseinrichtung 2, eine Sprachcodiereinrichtung 3, eine Sprachepaketiereinrichtung 4 und eine Sprachentschlüsselungseinrichtung 5 ein zum Senden eines Signals über das Netz zu einer anderen Endgeräteeinheit 12 oder einer Senderempfängereinrichtung. Die Sprachentschlüsselungseinrichtung ist sicherlich nicht notwendig für das Funktionieren der vorliegenden Erfindung.
  • Der Empfangsteil davon umfasst einen Sprachpuffer 10 zum Empfangen von Signalen vom Netz, einen Jitter-Puffer 20 zum Handhaben der Verzögerungsschwankungen in dem Empfang von Paketen über das Netz, eine Sprachentschlüsselungseinrichtung 30 und eine Sprachdekodiereinrichtung 40, einen D/A-Wandler 60 und eine Lautsprechereinrichtung 70. Der Sprachpuffer und der Jitter-Puffer können auch aus einer gemeinsamen Einheit bestehen, die einfach als Jitter-Puffer bezeichnet wird. In der Figur ist eine Jitter-Puffer-Steuereinrichtung 50 schematisch angegeben, die mit dem Jitter-Puffer 80 und dem Sprachdekoder 40 kommuniziert und zum Steuern der Anpassung der Größe des Jitter-Puffers 20 verwendet wird, wie unter Bezugnahme auf 6 weiter erläutert wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung umfasst die Dekodiereinrichtung auf der Empfangsseite einen CELP-Dekoder oder einen CELP-artigen Dekoder. In diesem Fall kann die Adaptionssteuerung unter Verwendung der Charakteristika und der Einrichtung solcher Dekoder ausgeführt werden. Gemäß anderer Ausführungsformen wird die konventionelle oder irgendeine Dekodiereinrichtung verwendet und gemäß dem Erfindungskonzept werden die Charakteristika des Eingangssprachsignals für die Anpassung verwendet. In beiden Fällen basiert das Erfindungskonzept auf dem Eingangssprachsignal, von dem entweder behauptet werden kann, dass es in der Zeit ausgedehnt oder komprimiert ist, um die angemessene Anpassung des Jitter-Puffers vorzunehmen (d.h., die Größe der Jitter-Puffers).
  • 6 ist ein schematisches Blockdiagramm welches insofern vereinfacht ist, als es nur jene Teile der Empfangseinheit zeigt, die tatsächlich in die Anpassung des Jitter-Puffers gemäß irgendwelcher Ausführungsformen der Erfindung einbezogen ist. Demnach wird angenommen, dass die Eingaben zu dem Jitter-Puffer Pakete von dem Netz sind (z.B. von einer als Sender agierenden Endgeräteeinheit), und die Pakete vom Netz Sprachparameter umfassen, die einen oder mehrere Sprachrahmen repräsentieren, von denen jeder eine Anzahl N von Abtastwerten, z.B. 160 Abtastwerte, wenn die Abtastfrequenz 8 kHz ist, implementiert. Demnach werden Pakete in dem Jitter-Puffer 20 gespeichert und der Jitter-Puffer muss eine gewisse Größe haben, um einen kontinuierlichen Strom zu dem Sprachdekoder 40 zu ermöglichen. (Sicherlich können andere Abtastfrequenzen verwendet werden).
  • Wenn beispielsweise die Größe des Puffers zu gering ist, gibt es nichts, das ausgegeben werden könnte, was der Fall sein kann, wenn die Verzögerung im Netz zu lang wird. Gemäß dieser Erfindung wird die Jitter-Puffergröße dann erhöht. Wenn der Sprachdekoder wünscht, eine Ausgabe mit einer Frequenz von 8 kHz vorzunehmen, holt er Pakete, d.h., normalerweise 160 Abtastwerte umfassend, von dem Jitter-Puffer, synchronisiert die Sprache und gibt sie aus. Wenn beispielsweise die Größe des Jitter-Puffers festgelegt ist und 160 Abtastwerten entspricht, ist es nicht möglich, die Größe des Jitter-Puffers zu ändern und ein Paket wird alle 20 ms geholt. Wenn jedoch gemäß der Erfindung erfasst wird, dass die Jitter-Puffergröße erhöht werden muss, dann holt beispielsweise der Sprachdekoder nicht das Paket nach 20 ms, sondern stattdessen nach 22 ms, d.h., er wartet zwei Millisekunden, bis er das nächste Paket holt.
  • Gemäß einer Implementierung werden dann Abtastwerte in der Dekodiereinrichtung hinzugefügt, was prinzipiell bedeutet, dass das Sprachsignal um zwei ms ausgedehnt wird. Beispielsweise können eine oder zwei Abstandsperioden hinzugefügt werden oder z.B. 16 Abtastwerte während einer gegebenen Periode. Demnach wird ein Paket geholt, das eine Anzahl von Sprachparametern enthält. Normalerweise würden Parameter in eine Anzahl von Abtastwerten umgewandelt werden, üblicherweise 160 Abtastwerte. Wenn eine Anpassung der Größe des Jitter-Puffers benötigt wird, kann der Umfang der Abtastwerte, die die Parameter repräsentieren, geändert werden und dann können Abtastwerte, Abstandsperioden oder Rahmen in der Dekodiereinrichtung hinzugefügt/entfernt werden oder Rahmen können in dem Jitter-Puffer hinzugefügt/entfernt werden. Dies bedeutet, dass die Zeitperiode, bis das nachfolgende Paket geholt wird, verlängert oder abgekürzt wird. Wenn die Zeitperiode verlängert wird, wird die Größe des Jitter-Puffers vergrößert und umgekehrt, wenn die Zeitperiode abgekürzt wird, wird die Größe des Jitter-Puffers reduziert.
  • Zurück zu 6, gemäß der Erfindung hält die Jitter-Puffer-Steuereinrichtung 50 Information über die derzeitige Größe der Jitter-Puffers in Entsprechung zu der Anzahl von Abtastwerten, die die Parameter in dem Jitter-Puffer repräsentieren würden, nach dem Dekodieren, und die der normalen Jitter-Puffergröße in Entsprechung zu der Normal- oder gewünschten Größe des Jitter-Puffers 20 in Entsprechung zu der Anzahl von Abtastwerten, die die Parameter repräsentieren sollten, nach dem Dekodieren. In einer bevorzugten Implementierung erfasst die Jitter-Puffer-Steuereinrichtung 50 die Zeiten, zu denen Pakete ankommen und die Zeit, wenn Pakete durch den Sprachdekoder 40 geholt werden. Auf der Eingabeseite variiert die Zeit, d.h., die Frequenz variiert bedingt durch die Verzögerungsschwankungen. Eine Lösung ist dann, Pakete mehr oder weniger häufig zu holen, um dynamisch die Rate, bei der Pakete geholt werden, anzupassen. Demnach bestimmt die Jitter-Puffer- Steuereinrichtung 50 unter Verwendung der Information bezüglich der Ankunftszeiten von Paketen zu dem Jitter-Puffer und der Zeiten, wenn Pakete durch die Dekodiereinrichtung geholt werden, ob und wie die Größe des Jitter-Puffers 20 angepasst werden muss. Demnach wird in einer vorteilhaften Implementierung Information über das Sprachsignal von dem Sprachdekoder 40 für die Jitter-Puffer-Steuereinrichtung 50 bereitgestellt, z.B. eine Analyse des Sprachsignalinhalts enthaltend, welche Information Eingangsdaten umfasst, die bei der Entscheidung, wann, ob und wie die Anpassung durchzuführen ist, zu verwenden ist. Die Anpassung (Adaption) bzw. Modifikation kann während des Dekodierschrittes durchgeführt werden oder nach dem Dekodieren. Information in Bezug auf das Sprachsignal, auf dem die Modifikationsentscheidung basiert, kann sich in unterschiedlichen Ausführungsformen auf das codierte oder das dekodierte Sprachsignal beziehen. Diese Prozedur wird nachstehend ferner beschrieben. Sich auf die Entscheidung, die getroffen worden ist, beziehende Steuerinformation, wird in dieser Implementierung zu dem Sprachdekoder 40 weitergeleitet. Demnach extrahiert die Sprachdekodereinrichtung 40 jedes Mal, wenn der Sprachdekoder einen Sprachanalyserahmen für Sprachsyntheseerzeugung zu verarbeiten hat, den Rahmen von dem Jitter-Puffer 20 gemeinsam mit Dateninformation. Die Dateninformation kann beispielsweise eine geschätzte Bitrate innerhalb des Rahmens und so weiter sein.
  • Wie oben erwähnt, erhält der Sprachdekoder 40 parallel auch die Steuerinformation von der Jitter-Puffer-Steuereinrichtung 50, ob oder nicht er den derzeitigen Rahmen modifizieren sollte. Wenn die Steuerinformation sagt, dass eine Modifizierung erforderlich ist, ist auch Information in Bezug darauf, wie der Rahmen modifiziert werden sollte, d.h. ausgedehnt oder komprimiert, enthalten und die Art der Modifizierung, d.h., wenn beispielsweise ein einzelner Rahmen hinzuzufügen oder zu entfernen ist, wenn eine oder mehrere Abstandsperioden hinzuzufügen oder zu entfernen ist/sind oder wenn ein Rahmen (oder mehr als ein Rahmen) hinzuzufügen oder zu entfernen ist. In einer speziellen Ausführungsform wird eine Modifizierung innerhalb des derzeitigen Rahmens oder Pakets in der geeignetsten Weise ausgeführt. Gemäß einer Ausführungsform liegt die Informationsverarbeitungsfähigkeit (Intelligenz) in der Jitter-Puffer-Steuereinrichtung. Alternativ kann die Funktionalität der Jitter-Puffer-Steuereinrichtung in dem Sprachdekoder bereitgestellt werden. Darüber hinaus können die Steuerungsfunktionalität und die Informationsverarbeitungsfähigkeit zwischen dem Sprachdekoder und der Jitter-Puffer-Steuereinrichtung verteilt sein. Dann wird beispielsweise Information über das Ergebnis einer angedachten Modifizierung etc. von dem Sprachdekoder für die Jitter-Puffer-Steuereinrichtung bereitgestellt.
  • Eine Modifizierung kann auf unterschiedliche Arten vorgenommen werden, z.B. während des Ausdehnens oder Komprimierens des Sprachsignals abhängig davon, ob die Größe des Jitter-Puffers zu erhöhen oder zu verringern ist, und das Sprachsignal kann auf unterschiedliche Arten ausgedehnt oder komprimiert werden. Eine Art ist, einen oder mehrere Abtastwerte einzufügen/zu löschen. Es ist auch möglich, eine oder mehrere Abstandsperioden (Pitch-Periode) einzufügen oder zu löschen (was eigentlich auch ein Einfügen/Löschen einer Anzahl von Abtastwerten ist). Darüber hinaus ist es möglich, einen oder mehrere Rahmen einzufügen/zu löschen, d.h., auch dies ist ein Einfügen/Löschen einer Anzahl von Abtastwerten, welche die allgemeinste Definition ist. Selbst wenn ein Sprachsignal auf andere Weise ausgedehnt oder komprimiert werden kann, sind jene die geeignetsten Weisen für den Erfindungszweck.
  • Sobald das Sprachsignal in der Zeit ausgedehnt oder komprimiert wird, wird die Jitter-Puffergröße indirekt beeinträchtigt, da der Ausgabepunkt des nächsten Sprachrahmens angepasst wird. Jedoch wurden die hier offenbarten Verfahren für eine Kompensierung von Takt-Drift in der Abtastfrequenz zwischen der Sende- und der Empfangsseite evaluiert zum Vermeiden von Aushungern im Eingangspuffer (plag-out buffer) oder zum Vermeiden einer zunehmenden Verzögerung. Aushungern wird auftreten, wenn die Empfangsseite eine höhere Abtastrate hat als die Sendeseite und die Verzögerung wird zunehmen, wenn die Empfangsseite eine geringere Abtastrate hat als die Sendeseite. Gemäß dem Erfindungskonzept können jene Verfahren für Jitter-Pufferanpassung verwendet werden.
  • Demnach kann die Jitter-Puffergröße auf unterschiedliche Arten unter Verwendung von Abtast-, Abstands- oder Rahmen-Einfügen/Löschen angepasst werden.
  • In dem Fall dass die Modifikation ein Rahmeneinfügen sein sollte (beispielsweise durch die Steuereinrichtung 50 entschieden), kann dies auf unterschiedliche Arten vorgesehen sein. In einer Ausführungsform werden die Parameter eines vorangehenden Rahmens wiederholt und während der Synthese des eingefügten Rahmens verwendet. Alternativ wird in Entsprechung zu einer vorteilhaften Implementierung ein Satz von Parametern verwendet während der Synthese des eingefügten Rahmens, der von einer Interpolation von Parametern von dem vorangehenden Rahmen und dem nächsten Rahmen jeweils hergeleitet wird. Dies auszuführen ist per se bekannt, aber für einen anderen Zweck, d.h., um Rahmenverluste zu kaschieren (Fehlerkaschiereinheiten bzw. Error Concealment Units).
  • 7A und 7B illustrieren schematisch das Einfügen eines Rahmens. In 7A ist ein Abschnitt einer Ursprungsrahmenabfolge illustriert, in welcher ein vorangehender Rahmen sowie ein nächster Rahmen angegeben sind. In 7B ist gezeigt, wie der eingefügte Rahmen zwischen dem vorangehenden Rahmen und dem nächsten Rahmen eingeführt wird.
  • Wenn ein Rahmen zu löschen ist, kann der als Nächstes nachfolgende Rahmen aus dem Jitter-Puffer gelöscht werden und eine Glättungsaktion wird im nächsten Rahmen vorgenommen.
  • Vom Sprachdekoder 40 wird Sprachinformation und synthetisierte Sprache ausgegeben. Die Sprachinformation umfasst eine Anzahl von Abtastwerten, die erzeugt worden sind, Information darüber, wie viele Abtastwerte in einer Abstandsperiode umfasst sind sowie andere Charakteristika der Sprache, z.B. wenn die Sprache stimmhaft oder stimmlos ist. Die Jitter-Puffer-Steuereinrichtung 50 verwendet die Sprachinformation, um die Entscheidung darüber zu treffen, welche Modifikation, wenn überhaupt, vorzunehmen ist. Normalerweise wird die Abstandsperiode zwischen im Wesentlichen 20 und 140 Abtastwerten liegen, wenn eine Abtastinformationsfrequenz von 8 kHz verwendet wird. Da die Abstandsperiode quasi stationär ist, wird zumindest während der stimmhaften Segmente der Sprache die Jitter-Puffer-Steuereinrichtung 50 eine grobe Schätzung darüber erhalten, was die Abstandsperiode sein wird durch Berücksichtigen der Abstandsperioden vorangehender Rahmen. Basierend auf dieser Information ist die Jitter-Puffer-Steuereinrichtung 50 imstande, zu entscheiden, ob eine Abstands-basierte Aktion oder ob eine Rahmen-basierte Aktion die geeignetere ist. Das Ergebnis des Modifizierens wird durch den Sprachdekoder 40 geliefert, nachdem die Modifikationsaktion ausgeführt worden ist. Die Größe des Sprachsyntheserahmens wird abhängig davon, welche Aktion ergriffen wird, variieren. Für ein einzelnes Abtastwerteinfügen/Löschen wird der Wert jeweils Rahmengröße+1 bzw. Rahmengröße-1 sein. Für ein Rahmeneinfügen/Löschen wird der Wert 2×Rahmengröße bzw. 0 sein. Für die Aktion Abstandseinfügen/Löschen wird die Größe des Sprachsyntheserahmens abhängig davon variieren, welche Abstandsperiode tatsächlich eingefügt oder entfernt worden ist.
  • Die Jitter-Puffer-Steuereinrichtung 50 verwendet zwei Werte, um eine Entscheidung in Bezug auf ein Anpassen zu treffen, wie vorangehend kurz erwähnt. Der erste Wert ist eine derzeitige Größe des Jitter-Puffers, die repräsentiert wird durch die Anzahl von Abtastwerten, die in der Empfangsendgeräteeinheit verbleiben bis das empfangene Paket durch die Dekodiereinrichtung zu holen ist. Der zweite Wert ist die Normal-Größe, welche repräsentiert wird durch die Anzahl an Abtastwerten, die in der Empfangsendgeräteeinheit verbleiben sollte, bis das empfangene Paket durch die Dekodiereinrichtung zu holen ist. Wenn die derzeitige Größe zu sehr abweicht von der Normal-Größe, um eine Adaption innerhalb ein und desselben Sprachrahmens zu ermöglichen, werden nachfolgende Rahmen verwendet zum Adaptieren der Größe der Jitter-Puffers 50.
  • In Ausführungsformen, in denen die Empfangsendgeräteeinheit, d.h., mit anderen Worten, der Empfangsteil einer Endgeräteeinheit, da das Endgerät eigentlich sowohl als ein Empfänger als auch ein Sender agiert, einen Dekoder enthält, der kein CELP-Dekoder oder ein Dekoder eines ähnlichen Typs ist, sollte es für jeden Fachmann auf dem Gebiet der Sprachverarbeitung offensichtlich sein, dass dieselben Verfahren, wie sie oben herangezogen worden sind, verwendet werden können durch Einfügen einiger zusätzlicher Schritte, nämlich jener des Durchführens einer LPC-Analyse zum Erhalten eines LPC-Residuums (LPC-Rest), und dann Durchführen derselben Aktionen, wie sie oben beschrieben worden sind, des Einfügens/Löschens eines oder mehrerer Abtastwerte, Rahmen oder Abstandsperioden, und dann eine LPC-Synthese durchzuführen. In der Patentanmeldung "Verfahren und Vorrichtung in einem Telekommunikationssystem", auf die oben Bezug genommen worden ist, wird ein Abtastraten-Umwandlungsverfahren beschrieben.
  • Das Erfindungskonzept kann in einer zudem allgemeineren Weise implementiert werden in dem Fall, dass kein CELP-artiger Dekoder verfügbar ist. Allgemeine Verfahren werden beschrieben, die in einer Anordnung bzw. einem Verfahren gemäß der vorliegenden Erfindung verwendet werden können. In einer einfachsten Ausführungsform wird ein einzelner Abtastwert dann eingefügt oder gelöscht in dem groben Sprachsignal. In diesem Fall wird eine Rahmensbildung des Sprachsignals vorgenommen. Zu entfernende Abtastwerte werden in einer Weise ausgewählt, dass Segmente mit mehr Information, d.h., bei denen das Signal rasch variiert, vermieden werden. Jedoch sollte beim Implementieren dieses Verfahrens Vorsicht walten gelassen werden, da wenn ein Einfügen/Löschen zu häufig vorgenommen wird, die Sprachqualität Gefahr laufen wird, verschlechtert zu sein. Wenn es ein Bedarf für eine schnellere Anpassung an das Grobsprachsignal gibt, kann ein Segment der Schwingungsform wie in 8A, 8B schematisch dargestellt, wiederholt werden, wobei 8A eine Ursprungsschwingungsformabfolge zeigt und 8B zeigt, wie eine Abstands- bzw. Pitchbasierte Schwingungsform eingefügt wird. Das Wiederholen kann eine vollständige Abstandsperiode sein, aber es kann auch beschränkt werden auf eine einzelne Schwingung, wie sehr schematisch in 9B gezeigt. 9A zeigt die Ursprungsschwingungsform, wohingegen 9B die modifizierte Schwingungsform zeigt, bei der ein Schwingungsformsegment eingefügt worden ist.
  • Demnach kann erfindungsgemäß das Konzept implementiert werden, wenn CELP- oder CELP-artige Dekoder verfügbar sind, wenn andere Dekoder verfügbar sind unter Verwendung eines Pseudo-CELP-Ansatzes, wie oben beschrieben, oder Einfügungen/Löschungen können zu/von dem Sprachsignal selbst vorgenommen werden.
  • 10 ist ein Ablaufdiagramm zum Beschreiben des Ablaufs der Jitter-Puffer-Steuereinrichtung 50. Sie funktioniert folgendermaßen: von dem Start 200 wird geprüft, ob es ein Netzereignis gegeben hat, 210. Dies bedeutet mit anderen Worten, dass geprüft wird, ob ein Paket angekommen ist. Wenn nicht, wird der Sprachdekoder aktualisiert, sofern die Extraktionszeiten betroffen sind, 211, was bedeutet, dass er sich der Tatsache bewusst sein muss, dass für eine andere Zeitperiode kein Paket angekommen ist. Wenn es jedoch eingerichtet wurde, dass ein Paket angekommen war, werden die Jitter-Puffer-Berechnungen aktualisiert, 220.
  • Die Berechnungen der Größe des Jitter-Puffers können auf unterschiedliche Weisen ausgeführt werden. Eine Art zum Berechnen ist es, einen gleitenden Mittelwert zu haben, bei dem für jedes Paket gesehen werden kann, wieviel Zeit verstrichen ist bis ein kommendes Paket zu verwenden ist für die Sprachsynthese. Für aufeinander folgende Pakete wird dies sicherlich variieren, aber durch Nehmen einer Anzahl von Werten, beispielsweise die zehn letzten Werte, und dann Bilden des Durchschnitts, ist es möglich, zu sehen, ob der Jitter-Puffer dazu neigt, zu groß oder zu klein zu werden, oder ob es erscheint, dass er die angemessene Größe hat. Es wird dann eingerichtet, wenn die Paketverlust-Wahrscheinlichkeit einen maximalen Schwellwert THRmax überschreitet, 230. Auch dieser Wert hängt von der Situation ab. THRmax ist der Wahrscheinlichkeitsschwellwert, der beobachtet werden sollte, d.h., er sollte nicht überschritten werden, um eine ausreichende Sprachqualität bereitzustellen, aber er variiert abhängig davon, welcher Sprachdekoder tatsächlich verwendet wird. Die Jitter-Puffer-Minimalgröße JPmin ist die kleinste Größe, die der Jitter-Puffer haben sollte abhängig von der Varianz in der Verzögerungsvariation kommender Pakete. Der Jitter-Puffer hat auch einen Maximalwert JPmax, der nicht überschritten werden sollte, andernfalls würde die Sprachqualität negativ beeinträchtigt. Verzögerungsvariation ist die berechnete Variation des Intervalls zwischen zwei aufeinander folgenden Paketen. Wenn Jitter-Puffergröße kleiner ist als die maximale Jitter-Puffergröße JPmax, 231, sollte die Jitter-Puffergröße erhöht werden, 232, und dann wird die Prozedur gestoppt, 233, bis sie noch einmal von 200 oben wiederholt wird. Wenn jedoch die Jitter-Puffergröße nicht kleiner als das Maximum ist, wird nichts vorgenommen, 231A, bis die Prozedur noch einmal von 200 oben wiederholt wird. Wenn es jedoch eingerichtet ist, dass die Wahrscheinlichkeit von Paketverlusten kleiner war als der maximale Schwellwert THRmax (230), wird geprüft, ob die Jitter-Puffergröße die maximale Jitter-Puffergröße JPmin überschreitet, 240. Wenn Ja, wird die Jitter-Puffergröße verringert, 250, und dann wird nichts ausgeführt, 260, bis die Prozedur noch einmal von 200 oben wiederholt wird. Wenn es eingerichtet war, dass die Jitter-Puffergröße nicht die minimale Größe überschritten hat, wird nichts gemacht, 241, bis die Prozedur von 200 oben wiederholt wird.
  • Es sollte klar sein, dass die Erfindung nicht auf die explizit beschriebenen Ausführungsformen beschränkt ist, sondern dass sie variiert werden kann in einer Anzahl von Weisen innerhalb des Schutzbereichs innerhalb der beiliegenden Ansprüche. Sie ist beispielsweise nicht auf irgendeine spezielle Art von Dekodiereinrichtung beschränkt aber sie ist in ähnlicher Weise anwendbar auf sogenannte CELP-Dekoder oder CELP-artige Dekoder wie auf andere Dekoder. Darüber hinaus kann ein Paketspeichern in dem physikalischen Jitter-Puffer bewirkt werden oder nach dem Dekodieren in der Dekodiereinrichtung, demnach wird Bezug genommen auf die funktionale Größe des Jitter-Puffers oder den funktionalen Jitter-Puffer.

Claims (27)

  1. Eine Endgeräteeinheit (11; 12) in einem Kommunikationssystem, welches paketbasierte Kommunikation unterstützt, mit Empfangsmitteln, Sprachdekodierungsmitteln (40) und einem Jitter-Puffer (20) zur Anwendung auf Verzögerungsschwankungen bei dem Empfang eines Sprachsignals, welches Rahmen mit kodierter Sprache enthält, dadurch gekennzeichnet, dass die Endgeräteeinheit weiterhin Jitter-Puffersteuerungsmittel (50) umfasst, die angepasst sind, die funktionale Größe des Jitter-Puffers (20) durch Vorhalten von Informationen über die funktionale Größe des Jitter-Puffers anzupassen, und zur Bereitstellung der Sprachdekodierungssysteme, wobei weiterhin Informationen über das empfangene, paketierte, kodierte/dekodierte Sprachsignal (40) mit Steuerinformationen genutzt werden, und dadurch, dass die Sprachdekodierungsmittel (40), die auf den Informationen basieren, eine dynamische Anpassung der Größe des Jitter-Puffers (20) durch eine Modifikation des kodierten oder dekodierten Sprachsignals verfügbar macht.
  2. Eine Endgeräteeinheit nach Anspruch 1, dadurch gekennzeichnet, dass die Jitter-Puffersteuerungsmittel (50) Informationen über die aktuelle Größe des Jitter-Puffers (20) und über die gewünschte Größe des Jitter-Puffers (20) nutzt, um festzustellen, ob und wie die Jitter-Puffergröße angepasst werden muss.
  3. Eine Endgeräteeinheit nach Anspruch 2, dadurch gekennzeichnet, dass die Pakete eine Anzahl von Sprach-Rahmen enthalten.
  4. Eine Endgeräteeinheit nach Anspruch 3, dadurch gekennzeichnet, dass ein empfangenes Paket einen Sprach-Rahmen enthält, der zum Beispiel 160 Abtastwerte repräsentiert, wenn er durch die Dekodierungsmittel dekodiert ist.
  5. Eine Endgeräteeinheit nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die aktuelle Größe des Jitter-Puffers durch die Anzahl von Abtastwerte repräsentiert wird, welche in der empfangenden Endgeräteeinheit verbleiben, bis das empfangene Paket durch die Kodierungsmittel herangezogen wird, und dadurch dass die gewünschte (Normal-)Größe des Jitter-Puffers durch die Anzahl der Abtastwerte repräsentiert ist, die in der empfangenden Endgeräteeinheit verbleiben sollen, bis das empfangene Paket durch die Dekodierungsmittel herangezogen werden muss.
  6. Eine Endgeräteeinheit nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Größe des Jitter-Puffers (20) durch Kompression oder Ausdehnen des empfangenen Sprachsignals in der Zeit angepasst ist.
  7. Eine Endgeräteeinheit nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass zur Steuerung der Größe des Jitter-Puffers (20) die Frequenz, mit der die Dekodierungsmittel (50) Pakete aus dem Jitter-Puffer heranziehen, verringert/erhöht wird.
  8. Eine Endgeräteeinheit nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass zur Anpassung der Größe des Jitter-Puffers (20) eine Anzahl von Abtastwerten hinzugefügt oder entfernt wird, wenn ein Paket durch die Dekodierungsmittel dekodiert wird.
  9. Eine Endgeräteeinheit nach Anspruch 8, dadurch gekennzeichnet, dass zur Anpassung der Größe des Jitter-Puffers (20) eine Anzahl von Abstands-Perioden hinzuaddiert oder entfernt wird, wenn ein Paket durch die Dekodierungsmittel dekodiert wird.
  10. Eine Endgeräteeinheit nach Anspruch 8, dadurch gekennzeichnet, dass die Anzahl der Rahmen in dem Paket entweder in den Dekodierungsmitteln oder in dem Jitter-Puffer erhöht/verkleinert wird.
  11. Eine Endgeräteeinheit mindestens nach Anspruch 2, dadurch gekennzeichnet, dass die Jitter-Puffersteuerungsmittel die Ankunftszeiten von Paketen in dem Jitter-Puffer und die Zeit erkennt, zu der Pakete durch die Dekodierungsmittel (40) herangezogen werden oder von den Kodierungsmitteln (40) ausgegeben werden müssen, um festzustellen, ob und wie die funktionale Größe der Jitter-Puffergröße angepasst werden muss.
  12. Eine Endgeräteeinheit nach Anspruch 11, dadurch gekennzeichnet, dass Rückmeldungs-Mittel verfügbar sind, um die Jitter-Puffersteuerungsmittel (50) über die aktuelle Jitter-Puffergröße zu informieren, so dass die Steuerungsmittel immer über aktuelle Informationen hinsichtlich der Jitter-Puffergröße verfügen.
  13. Eine Endgeräteeinheit nach Anspruch 12, dadurch gekennzeichnet, dass über die Rückmeldungs-Mittel Informationen darüber bei den Jitter-Puffersteuerungsmitteln verfügbar sind, wie viele Abtastwerte/Rahmen/Abstands-Perioden bei der letzten Anpassung der Jitter-Puffergröße hinzuaddiert/entfernt wurden.
  14. Eine Endgeräteeinheit nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass zur Änderung der Anzahl der Abtastwerte/Abstands-Perioden das aktuell empfangene Paket genutzt wird.
  15. Eine Endgeräteeinheit mindestens nach Anspruch 9, dadurch gekennzeichnet, dass zum Addieren eines Rahmens zu einem Paket die Parameter der Anzahl der vorangegangenen Rahmen genutzt werden, um einen neuen Rahmen zu synthetisieren.
  16. Eine Endgeräteeinheit nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass zum Hinzufügen eines Rahmens durch Einfügen eines Rahmens Parameters eines vorangegangenen Rahmens und eines nachfolgenden Rahmens bei einem Interpolationsschritt zur Erzeugung eines neuen Rahmens genutzt werden.
  17. Eine Endgeräteeinheit mindestens nach Anspruch 9, dadurch gekennzeichnet, dass zum Löschen eines Rahmens der nachfolgende Rahmen aus dem Jitter-Puffer gelöscht wird.
  18. Eine Endgeräteeinheit nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Dekodierungsmittel (40) einen CELP-Dekoder oder Ähnliches enthält und dass die dazugehörigen, existierenden Steuerungsmittel als Jitter-Puffersteuerungsmittel genutzt werden.
  19. Eine Endgeräteeinheit nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, dass sie Mittel zur Ausführung einer LPC-Analyse umfassen, um einen LPC-Restwert zur Ausführung einer LPC-Synthese verfügbar zu machen.
  20. Ein Verfahren zur Anpassung der funktionalen Größe eines Jitter-Puffers in einer Endgeräteeinheit in einem Kommunikationssystem, das paketbasierte Kommunikation von Sprache und Daten unterstützt, mit den folgenden Schritten: – Empfangen eines Sprachsignals mit kodierter Sprache in Paketen von einer sendenden Endgeräteeinheit in einen Jitter-Puffer einer empfangenden Endgeräteeinheit, – Speicherung der Pakete in dem Jitter-Puffer, – Heranziehung von Paketen aus dem Jitter-Puffer in Sprachdekodierungsmittel, dadurch gekennzeichnet, dass weiterhin die folgenden Schritte enthalten sind: – Erkennen (230, 231, 240) durch Nutzung von Informationen über das empfangene Signal, ob die Größe des Jitter-Puffers vergrößert oder verkleinert werden muss, und falls ja, – Ausdehnen/Komprimieren des empfangenen Sprachsignals in der Zeit durch Steuern der Anzahl von Abtastwerten, die die Sprach-Rahmen, die in dem Jitter-Puffer gespeichert sind, wenn dekodiert, repräsentieren würden.
  21. Das Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass zum Ausdehnen/Komprimieren des Sprachsignals der folgende Schritt umfasst ist: – Verkleinerung/Vergrößerung der Rate, zu der die Dekodierungsmittel Pakete aus dem Jitter-Puffer heranziehen.
  22. Das Verfahren nach Anspruch 20 oder 21, dadurch gekennzeichnet, dass zur Anpassung der Größe (232, 250) des Jitter-Puffers folgender Schritt umfasst ist: – Hinzufügen/Entfernen von mehreren Abtastwerten, wenn ein Paket in den Dekodierungsmitteln dekodiert wird.
  23. Das Verfahren nach Anspruch 20, 21 oder 22, dadurch gekennzeichnet, dass zum Anpassen der Größe (232, 250) des Jitter-Puffers die folgenden Schritte umfasst sind: – Hinzufügen von einer oder mehrerer Abstands-Perioden beim Dekodieren in den Dekodierungsmitteln, wenn die Größe des Jitter-Puffers vergrößert werden muss, und/oder – Entfernen von einer oder mehrerer Abstands-Perioden in den Dekodierungsmitteln, um die Größe des Jitter-Puffers zu verkleinern.
  24. Das Verfahren nach Anspruch 20 oder 21, dadurch gekennzeichnet dass, der folgende Schritt zur Anpassung der Größe (232, 250) des Jitter-Puffers umfasst ist: – Hinzufügen/Entfernen von einem oder mehreren Rahmen zu/von einem Paket.
  25. Das Verfahren nach einem der Ansprüche 20 bis 24, dadurch gekennzeichnet, dass weiterhin der folgende Schritt umfasst ist: – Erkennen der Zeit der Ankunft von Paketen in dem Jitter-Puffer und der Zeit, zu der Pakete durch die Dekodierungsmittel herangezogen werden oder von den Dekodierungsmitteln ausgegeben werden müssen, in automatischen Steuerungsmitteln, um festzustellen, ob und wie die Jitter-Puffergröße angepasst werden muss.
  26. Das Verfahren nach einem der Ansprüche 19 bis 24, dadurch gekennzeichnet, dass der folgende Schritt umfasst ist: – Nutzen eines CELP- oder CELP-ähnlichen Dekoders zur Anpassungssteuerung, wobei existierende LPC-Parameter genutzt werden, die einen LPC-Restwert ergeben.
  27. Das Verfahren nach einem der Ansprüche 20 bis 25, dadurch gekennzeichnet, dass der folgende Schritt umfasst ist: – Ausführung einer LPC-Analyse um einen LPC-Restwert vor dem Einfügen/Entfernen von Abtastwerten/Rahmen/Abstands-Perioden zu erhalten.
DE60129327T 2000-05-31 2001-05-22 Anordnung und verfahren in bezug auf die vermittlung von sprache Expired - Lifetime DE60129327T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0002016 2000-05-31
SE0002016A SE518941C2 (sv) 2000-05-31 2000-05-31 Anordning och förfarande relaterande till kommunikation av tal
PCT/SE2001/001140 WO2001093516A1 (en) 2000-05-31 2001-05-22 Arrangement and method relating to communication of speech

Publications (2)

Publication Number Publication Date
DE60129327D1 DE60129327D1 (de) 2007-08-23
DE60129327T2 true DE60129327T2 (de) 2008-03-20

Family

ID=20279894

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60129327T Expired - Lifetime DE60129327T2 (de) 2000-05-31 2001-05-22 Anordnung und verfahren in bezug auf die vermittlung von sprache

Country Status (8)

Country Link
US (2) US7246057B1 (de)
EP (1) EP1293072B1 (de)
AT (1) ATE367038T1 (de)
AU (1) AU2001262828A1 (de)
DE (1) DE60129327T2 (de)
ES (1) ES2287133T3 (de)
SE (1) SE518941C2 (de)
WO (1) WO2001093516A1 (de)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7047190B1 (en) * 1999-04-19 2006-05-16 At&Tcorp. Method and apparatus for performing packet loss or frame erasure concealment
SE518941C2 (sv) 2000-05-31 2002-12-10 Ericsson Telefon Ab L M Anordning och förfarande relaterande till kommunikation av tal
US7453897B2 (en) 2001-10-03 2008-11-18 Global Ip Solutions, Inc. Network media playout
US7110422B1 (en) * 2002-01-29 2006-09-19 At&T Corporation Method and apparatus for managing voice call quality over packet networks
DE50201096D1 (de) * 2002-03-28 2004-10-28 Siemens Schweiz Ag Zuerich Verfahren zur Einstellung eines Jitterpuffers in einem Media Gateway
US7564810B2 (en) * 2002-05-08 2009-07-21 Microsoft Corporation Method and system for managing power consumption of a network interface module in a wireless computing device
EP1460810B1 (de) 2003-03-20 2010-07-14 Siemens Aktiengesellschaft Verfahren und Jitterpufferregelschaltung zur Regelung eines Jitterpuffers
US20050049853A1 (en) * 2003-09-01 2005-03-03 Mi-Suk Lee Frame loss concealment method and device for VoIP system
GB2405773B (en) * 2003-09-02 2006-11-08 Siemens Ag A method of controlling provision of audio communication on a network
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
EP1728342B1 (de) * 2004-03-22 2008-02-20 Nextream France Temporal-slaving-einrichtung
MY149811A (en) * 2004-08-30 2013-10-14 Qualcomm Inc Method and apparatus for an adaptive de-jitter buffer
US7674096B2 (en) * 2004-09-22 2010-03-09 Sundheim Gregroy S Portable, rotary vane vacuum pump with removable oil reservoir cartridge
US7418013B2 (en) * 2004-09-22 2008-08-26 Intel Corporation Techniques to synchronize packet rate in voice over packet networks
US8085678B2 (en) * 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US7924711B2 (en) * 2004-10-20 2011-04-12 Qualcomm Incorporated Method and apparatus to adaptively manage end-to-end voice over internet protocol (VolP) media latency
US7359409B2 (en) * 2005-02-02 2008-04-15 Texas Instruments Incorporated Packet loss concealment for voice over packet networks
US8155965B2 (en) * 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
US8355907B2 (en) * 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders
US7599399B1 (en) * 2005-04-27 2009-10-06 Sprint Communications Company L.P. Jitter buffer management
US7916742B1 (en) * 2005-05-11 2011-03-29 Sprint Communications Company L.P. Dynamic jitter buffer calibration
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7864814B2 (en) 2005-11-07 2011-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Control mechanism for adaptive play-out with state recovery
US8213444B1 (en) 2006-02-28 2012-07-03 Sprint Communications Company L.P. Adaptively adjusting jitter buffer characteristics
US20070263672A1 (en) * 2006-05-09 2007-11-15 Nokia Corporation Adaptive jitter management control in decoder
US7796626B2 (en) 2006-09-26 2010-09-14 Nokia Corporation Supporting a decoding of frames
WO2008069719A1 (en) * 2006-12-06 2008-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Jitter buffer control
CN101409609A (zh) * 2007-10-09 2009-04-15 北京信威通信技术股份有限公司 一种无线***中高效可靠传输语音的方法及装置
KR101418354B1 (ko) * 2007-10-23 2014-07-10 삼성전자주식회사 음성 통신 시스템에서 플레이아웃 스케줄링 방법 및 장치
US20090157396A1 (en) * 2007-12-17 2009-06-18 Infineon Technologies Ag Voice data signal recording and retrieving
US8346995B2 (en) 2008-09-30 2013-01-01 Microsoft Corporation Balancing usage of hardware devices among clients
US8245229B2 (en) * 2008-09-30 2012-08-14 Microsoft Corporation Temporal batching of I/O jobs
US8479214B2 (en) * 2008-09-30 2013-07-02 Microsoft Corporation Hardware throughput saturation detection
US20110257964A1 (en) * 2010-04-16 2011-10-20 Rathonyi Bela Minimizing Speech Delay in Communication Devices
US8612242B2 (en) * 2010-04-16 2013-12-17 St-Ericsson Sa Minimizing speech delay in communication devices
KR101399604B1 (ko) * 2010-09-30 2014-05-28 한국전자통신연구원 지터버퍼 조정장치, 전자장치 및 그 방법
US8924200B2 (en) * 2010-10-15 2014-12-30 Motorola Mobility Llc Audio signal bandwidth extension in CELP-based speech coder
US9177570B2 (en) 2011-04-15 2015-11-03 St-Ericsson Sa Time scaling of audio frames to adapt audio processing to communications network timing
US9313338B2 (en) * 2012-06-24 2016-04-12 Audiocodes Ltd. System, device, and method of voice-over-IP communication
US8831001B2 (en) * 2012-06-24 2014-09-09 Audiocodes Ltd. Device, system, and method of voice-over-IP communication
TWI511500B (zh) 2012-09-07 2015-12-01 Apple Inc 用於具有不同條件之網路之適應型抖動緩衝區管理
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
EP2768246B1 (de) * 2013-02-13 2019-06-12 Sennheiser Communications A/S Verfahren zum Betreiben eines Hörgeräts und Hörgerät
US9894445B2 (en) * 2013-02-13 2018-02-13 Sennheiser Communications A/S Method for operating a hearing device and hearing device
DK2768247T3 (da) * 2013-02-13 2019-06-17 Sennheiser Communications As Fremgangsmåde til betjening af en høreanordning og høreanordning
PT3011564T (pt) 2013-06-21 2018-05-08 Fraunhofer Ges Forschung Escalonador de tempo, descodificador de áudio, método e programa de computador utilizando um controlo de qualidade
AU2014283320B2 (en) * 2013-06-21 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Jitter buffer control, audio decoder, method and computer program
GB2521104B (en) 2013-08-28 2017-05-31 Metaswitch Networks Ltd Data processing
CN105099949A (zh) * 2014-04-16 2015-11-25 杜比实验室特许公司 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
EP3357197B1 (de) * 2015-09-29 2019-07-24 Dolby Laboratories Licensing Corporation Verfahren und system zur handhabung von heterogenem jitter
KR102419595B1 (ko) 2016-01-07 2022-07-11 삼성전자주식회사 재생 지연 조절 방법 및 이를 적용한 전자 장치
US11343301B2 (en) * 2017-11-30 2022-05-24 Goto Group, Inc. Managing jitter buffer length for improved audio quality

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1572995A (en) 1994-02-11 1995-08-29 Newbridge Networks Corporation Method of dynamically compensating for variable transmission delays in packet networks
US5825771A (en) 1994-11-10 1998-10-20 Vocaltec Ltd. Audio transceiver
FR2739995B1 (fr) * 1995-10-13 1997-12-12 Massaloux Dominique Procede et dispositif de creation d'un bruit de confort dans un systeme de transmission numerique de parole
US6366959B1 (en) * 1997-10-01 2002-04-02 3Com Corporation Method and apparatus for real time communication system buffer size and error correction coding selection
US6466550B1 (en) * 1998-11-11 2002-10-15 Cisco Technology, Inc. Distributed conferencing system utilizing data networks
US6452950B1 (en) * 1999-01-14 2002-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive jitter buffering
US6377931B1 (en) * 1999-09-28 2002-04-23 Mindspeed Technologies Speech manipulation for continuous speech playback over a packet network
US6522746B1 (en) * 1999-11-03 2003-02-18 Tellabs Operations, Inc. Synchronization of voice boundaries and their use by echo cancellers in a voice processing system
US7027989B1 (en) * 1999-12-17 2006-04-11 Nortel Networks Limited Method and apparatus for transmitting real-time data in multi-access systems
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
SE518941C2 (sv) 2000-05-31 2002-12-10 Ericsson Telefon Ab L M Anordning och förfarande relaterande till kommunikation av tal
EP1359698B1 (de) * 2002-04-30 2005-01-12 Psytechnics Ltd Verfahren und Einrichtung zur Beschreibung von Übertragungsfehlern

Also Published As

Publication number Publication date
SE0002016L (sv) 2001-12-01
US20070206645A1 (en) 2007-09-06
DE60129327D1 (de) 2007-08-23
ATE367038T1 (de) 2007-08-15
AU2001262828A1 (en) 2001-12-11
SE518941C2 (sv) 2002-12-10
ES2287133T3 (es) 2007-12-16
US7246057B1 (en) 2007-07-17
WO2001093516A1 (en) 2001-12-06
EP1293072B1 (de) 2007-07-11
SE0002016D0 (sv) 2000-05-31
EP1293072A1 (de) 2003-03-19

Similar Documents

Publication Publication Date Title
DE60129327T2 (de) Anordnung und verfahren in bezug auf die vermittlung von sprache
DE60034484T2 (de) Verfahren und vorrichtung in einem kommunikationssystem
DE60029147T2 (de) Qualitätsverbesserung eines audiosignals in einem digitalen netzwerk
DE60126513T2 (de) Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
DE60218252T2 (de) Verfahren und Vorrichtung zur Sprachtranskodierung
DE69915830T2 (de) Verbesserte verfahren zur rückgewinnung verlorener datenrahmen für ein lpc-basiertes, parametrisches sprachkodierungsystem.
DE69631318T2 (de) Verfahren und Vorrichtung zur Erzeugung von Hintergrundrauschen in einem digitalen Übertragungssystem
DE60122203T2 (de) Verfahren und system zur erzeugung von behaglichkeitsrauschen bei der sprachkommunikation
DE69730473T2 (de) System zur Kodierung und Übertragung von Sprachsignalen
DE69533734T2 (de) Durch Sprachaktivitätsdetektion gesteuerte Rauschunterdrückung
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
AT405346B (de) Verfahren zum herleiten der nachwirkperiode in einem sprachdecodierer bei diskontinuierlicher übertragung, sowie sprachcodierer und sender-empfänger
DE60016532T2 (de) Verfahren zur verschleierung von rahmenausfall
DE69925168T2 (de) Erkennung der aktivität komplexer signale für verbesserte sprach-/rauschklassifizierung von einem audiosignal
DE69917677T2 (de) SPRACHKODIERUNG MIT VERäNDERBAREM KOMFORT-RAUSCHEN FüR VERBESSERTER WIEDERGABEQUALITäT
DE69730779T2 (de) Verbesserungen bei oder in Bezug auf Sprachkodierung
DE60027177T2 (de) Gerät und verfahren für ein telekommunikationssystem
DE19935808A1 (de) Echounterdrückungseinrichtung zum Unterdrücken von Echos in einer Sender/Empfänger-Einheit
EP2245621B1 (de) Verfahren und mittel zur enkodierung von hintergrundrauschinformationen
DE10251113A1 (de) Verfahren zum Betrieb eines Spracherkennungssystems
DE69820362T2 (de) Nichtlinearer Filter zur Geräuschunterdrückung in linearen Prädiktions-Sprachkodierungs-Vorrichtungen
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
DE60036854T2 (de) Verfahren und gerät zur multiplexierung von sprach- und steuerpaketen in einem cdma system
EP2245620B1 (de) Verfahren und mittel zur enkodierung von hintergrundrauschinformationen
DE60133830T2 (de) Langsames sprachkodierungsverfahren auf der grundlage eines netzwerkprotokolls

Legal Events

Date Code Title Description
8364 No opposition during term of opposition