Nothing Special   »   [go: up one dir, main page]

DE60126513T2 - Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder - Google Patents

Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder Download PDF

Info

Publication number
DE60126513T2
DE60126513T2 DE60126513T DE60126513T DE60126513T2 DE 60126513 T2 DE60126513 T2 DE 60126513T2 DE 60126513 T DE60126513 T DE 60126513T DE 60126513 T DE60126513 T DE 60126513T DE 60126513 T2 DE60126513 T2 DE 60126513T2
Authority
DE
Germany
Prior art keywords
jitter buffer
audio data
packets
data
time
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
DE60126513T
Other languages
English (en)
Other versions
DE60126513D1 (de
Inventor
Antti Kurittu
Olli Kirla
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of DE60126513D1 publication Critical patent/DE60126513D1/de
Publication of DE60126513T2 publication Critical patent/DE60126513T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/181Transcoding devices; Rate adaptation devices
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • BEREICH DER ERFINDUNG
  • Die Erfindung betrifft ein Verfahren zum Ändern der Größe eines Jitterpuffers, der an einem Empfangsende in einem Kommunikationssystem eingesetzt wird, das ein Paketnetz zum Puffern empfangener, Audiodaten enthaltender Pakete beinhaltet, damit variierende Verzögerungen der genannten empfangenen Pakete kompensiert werden können. Die Erfindung betrifft ferner ein solches Kommunikationssystem, ein solches Empfangsende und Verarbeitungsmittel für ein solches Empfangsende.
  • HINTERGRUND DER ERFINDUNG
  • Ein Beispiel für ein Paketnetz ist ein VoIP (Voice-over-IP) Netzwerk.
  • IP-Telefonie oder VoIP (Voice-over-IP) ermöglicht es Benutzern, Audiosignale wie Sprache über das Internet-Protokoll zu senden. Das Senden von Sprache über das Internet erfolgt durch Einfügen von Sprachsamplen oder komprimierter Sprache in Paketen. Die Pakete werden dann unabhängig voneinander gemäß der in jedem Paket enthaltenen IP-Adresse zu ihrem Ziel geleitet.
  • Ein Nachteil der IP-Telefonie ist die Verfügbarkeit und Leistung von Netzwerken. Die lokalen Netzwerke können zwar stabil und vorhersehbar sein, aber das Internet ist häufig überfüllt und es gibt keine Garantie, dass keine Pakete verloren gehen oder erheblich verzögert werden. Verlorene Pakete und lange Verzögerungen haben unmittelbare Auswirkungen auf die Sprachqualität, die Wechselseitigkeit und die Geschwindigkeit des Gesprächs.
  • Aufgrund des unabhängigen Routing der Pakete brauchen die Pakete zudem unterschiedliche Zeiten zum Durchlaufen des Netzwerks. Die Variation der Paketankunftszeiten wird als Jitter bezeichnet. Um die Sprache am Empfangsende korrekt wiederzugeben, müssen die Pakete jedoch in der Reihenfolge der Übertragung und gleichmäßig beabstandet vorliegen. Um diese Anforderung zu erfüllen, kann ein Jitterpuffer verwendet werden. Der Jitterpuffer kann sich vor oder hinter einem Decoder befinden, der am Empfangsende zum Decodieren der Sprache verwendet wird, die zur Übertragung codiert wurde. Im Jitterpuffer kann dann die richtige Reihenfolge der Pakete gewährleistet werden, indem Sequenznummern geprüft werden, die in den Paketen enthalten sind. Ebenso enthaltene Zeitmarken können des Weiteren verwendet werden, um den Jitterpegel im Netzwerk zu ermitteln und um den Jitter bei der Wiedergabe zu kompensieren.
  • Die Größe des Jitterpuffers hat jedoch einen gegenteiligen Effekt auf die Zahl der Pakete, die verloren gehen, und auf die Verzögerung von Ende zu Ende. Wenn der Jitterpuffer sehr klein ist, gehen viele Pakete verloren, weil sie erst nach ihrem Wiedergabezeitpunkt ankommen. Andererseits kommt es, wenn der Jitterpuffer sehr groß ist, zu einer zu großen Ende-zu-Ende-Verzögerung. Beides, Paketverlust und Ende-zu-Ende-Verzögerung, wirken sich auf die Sprachqualität aus. Daher muss die Größe des Jitterpuffers so gewählt werden, dass ein akzeptabler Wert für Paketverlust und Verzögerung erzielt wird. Da beide zeitlich variieren können, müssen adaptive Jitterpuffer verwendet werden, damit ständig ein guter Kompromiss für die beiden Faktoren garantiert werden kann. Die Größe eines adaptiven Jitterpuffers kann auf der Basis von gemessenen Verzögerungen von empfangenen Sprachpaketen und gemessenen Verzögerungsvarianzen zwischen empfangenen Sprachpaketen geändert werden.
  • Bekannten Methoden passen die Jitterpuffergröße zu Beginn eines Talkspurt an. Zu Beginn eines Talkspurt und daher am Ende einer Sprechpause wird die wiedergegebene Sprache durch die Anpassung der Jitterpuffergröße nicht beeinflusst. Dies bedeutet jedoch, dass eine Anpassung bis zum Beginn eines Talkspurt verzögert werden muss, und dass ein Sprachaktivitätsdetektor (VAD) benötigt wird. Solche Methoden sind z.B. in „An Algorithm for Playout of Packet Voice Based on Adaptive Adjustment of Talkspurt Silence Periods", LCN '99, Conference on Local Computer Networks, 1999, auf den Seiten 224–231 von J. Pinto und K. J. Christensen, sowie in "Adaptive Playout Mechanisms for Packetized Audio Applications in Wide-Area Networks", INFOCOM '94, 13th Proceedings IEEE Networking for Global Communications, 1994, auf den Seiten 680–688, Bd. 2, von R. Ramjee, J. Kurose, D. Towsley und H. Schulzrinne beschrieben.
  • Ein ähnliches Problem mit Jitterpuffern kann z.B. in Voice-over-ATM Netzwerken entstehen.
  • Ein ähnliches Problem kann zudem bei der Zeitanpassung in GSM-(Global System for Mobile Communications) oder 3G-(Third Generation)-Systemen entstehen. In Funkkommunikationssystemen wie GSM oder 3G erfordert die Luftschnittstelle eine enge Synchronisation zwischen der Uplink- und der Downlink-Übertragung. Jedoch unterscheidet sich zu Beginn eines Anrufs oder nach einer Übergabe (Handover) die anfängliche Phasenverschiebung zwischen Uplink- und Downlink-Framing in einem Transcoder, der auf der Netzwerkseite zum Codieren von Daten für Downlink-Sendungen und zum Decodieren von Daten von Uplink-Sendungen verwendet wird, von der entsprechenden Phasenverschiebung an der Funkschnittstelle. Diese Phasenverschiebung ist auch in der Phasenverschiebung nur beim Downlink-Framing im Transcoder und an einer Funkschnittstelle des Funkkommunikationssystems sichtbar. Daher wird eine Downlink-Pufferung benötigt, um eine korrekte Synchronisation für die Luftschnittstelle zu erzielen, und dieser Puffer ist in GSM in einer Basisstation und in 3G-Netzwerken in einer Funknetzsteuerung (RNC) des Kommunikationssystems enthalten. Die Pufferung ergibt eine zusätzliche Verzögerung von bis zu einem Sprachframe (Sprachrahmen) in der Basisstation in der Downlink-Richtung. Um diese Pufferungsverzögerung minimal zu halten, kann ein Zeitanpassungsverfahren auf der Netzwerkseite angewendet werden. Die Zeitanpassung (Time Alignment) dient zum Anpassen der Phasenverschiebung im Framing des Transcoders und somit zum Minimieren der Pufferungsverzögerung nach einer Rufeinrichtung oder einer Übergabe (Handover). Während der Zeitanpassung fordert die Basisstation oder die Funknetzsteuerung den Transcoder auf, eine gewünschte Zeitanpassung durchzuführen. Bei der Zeitanpassung müssen die Sendezeitpunkte eines codierten Sprachframe und der folgenden Frames vorgezogen oder verzögert werden. Dabei muss das Fenster (ein Sprachframe) des Eingangspuffers von linearen Samplen vor dem Codierer in der gewünschten Richtung um den Betrag von Samples verschoben werden, der von der Basisstation verlangt wird. Derzeit erfolgt eine Zeitanpassung durch Auslassen oder Wiederholen von Sprachsamplen, was die Sprachqualität herabsetzt.
  • Das US-Patent 5,825,771 A stellt ein Kommunikationssystem mit einem Paketnetz bereit, wobei ein Empfangsende einen Puffer zum Puffern empfangener, Audiodaten enthaltender Pakete verwendet, damit variierende Verzögerungen der empfangenen Pakete kompensiert werden können.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Aufgabe für einen ersten Aspekt der Erfindung ist es, die Größe eines Jitterpuffers schneller an sich ändernde Bedingungen in Voice-over-IP Sendungen anpassen zu können.
  • Die Erfindung ist in den beiliegenden Ansprüchen dargelegt.
  • Die Erfindung geht von der Idee aus, dass die Größe eines Jitterpuffers unmittelbar an die vorliegenden Übertragungsbedingungen angepasst werden kann, d.h. z.B. auch bei laufenden Audioübertragungen wie aktive Sprache, wenn ein leerer Raum, der sich aus einem vergrößerten Jitterpuffer ergibt, kompensiert wird. Dies wird erfindungsgemäß durch Erzeugen zusätzlicher Daten auf der Basis der existierenden Daten immer dann erzielt, wenn der Jitterpuffer vergrößert werden muss.
  • Es ist somit ein Vorteil der Erfindung, dass sie auf einfache Weise eine schnellere Anpassung an geänderte Übertragungsbedingungen ermöglicht. Spezieller, die Jitterpuffergröße kann unmittelbar nach der Entscheidung geändert werden, dass der Jitterpuffer vergrößert werden muss, anstatt auf eine Audiopause zu warten.
  • Das Paketnetz kann insbesondere ein Voice-over-Internet Protokoll oder ein Voice-over-ATM Netzwerk sein.
  • Vorteilhafterweise, aber nicht unbedingt, wird der Jitterpuffer immer dann, wenn ermittelt wird, dass der aktuelle Jitterpuffer verkleinert werden muss, darüber hinaus durch Kondensieren von wenigstens einem Teil der gerade im Jitterpuffer vorhandenen Audiodaten verkleinert. Wenn somit der Jitterpuffer auch verkleinert wird, ohne dass auf eine Sprechpause gewartet wird, dann wird kein Sprachaktivitätsdetektor benötigt, da keine Sprechpausen mehr erfasst zu werden brauchen.
  • Es gibt eine Reihe verschiedener Möglichkeiten zum Expandieren oder Komprimieren der existierenden Jitterpufferdaten, um eine Vergrößerung oder Verkleinerung des Jitterpuffers zu kompensieren. Grundsätzlich werden fünf bevorzugte Ausgestaltungen dargelegt.
  • In einer ersten bevorzugten Ausgestaltung der Erfindung zum Vergrößern des Jitterpuffers wird eine bekannte Bad-Frame-Handling-Methode zum Vergrößern des Jitterpuffers angewendet, d.h. ein leerer Jitterpufferraum wird so behandelt, als wenn die entsprechenden Pakete bei der Übertragung verloren gegangen wären und dieser Verlust verborgen werden muss.
  • Insbesondere kann der in der ITU-T Recommendation G.711, Anhang I: „A High Quality Low Complexity Algorithm for Packet Loss Concealment with G.711", September 1999, definierte Bad-Frame-Handler zum Vergrößern des Jitterpuffers verwendet werden. Dieser Bad-Frame-Handler arbeitet mit einer Tonhöhenwellenformreplikation. Tonhöhenwellenformreplikationen basieren auf dem quasiperiodischen Charakter von Sprachsignalen, was bedeutet, dass sich die Inhalte von aufeinander folgenden Paketen wahrscheinlich ähneln werden. So können Lücken durch Replizieren von einer oder mehreren Tonhöhenperioden vorangegangener Pakete gefüllt werden.
  • Um einen glatten Übergang zwischen dem echten und dem synthetisierten Audiosginal zu gewährleisten, kann eine vorbestimmte Anzahl von Samples des echten und des synthetisierten Audiosginals überlappungsaddiert werden. Aus demselben Grund können wiederholte Tonhöhenperiodenlängen-Wellenformen überlappungsaddiert werden.
  • Wenn der Jitterpuffer um viele Pakete auf einmal vergrößert werden soll, werden Phoneme unnatürlich lang. Um diesen Effekt zu kompensieren, könnte die Vergrößerung des Jitterpuffers auf mehrere kleine Vergrößerungen von jeweils nur einem addierten Paket verteilt werden. Dies würde die Signalvariation vergrößern, da das Synthetisieren von einem Paket aus zwei gültigen Paketen erfolgen würde und nicht alle benötigten Pakete vom Tonhöhenpuffer synthetisiert würden, was zu einer besseren Tonqualität führt. Wenn der Jitterpuffer jedoch in kleinen Schritten vergrößert wird, dann kann auf veränderliche Netzwerkverzögerungen nicht so schnell reagiert werden, wie wenn viele synthetisierte Pakete gleichzeitig erzeugt würden. Daher wird vorgeschlagen, wenn der Jitterpuffer um mehrere Pakete vergrößert werden muss, alle Pakete gleichzeitig zu erzeugen und die resultierenden Daten zu dämpfen, um zu verhindern, dass die Tonqualität leidet.
  • In einer ersten bevorzugten Ausgestaltung der Erfindung zum Verkleinern des Jitterpuffers werden zwei gewählte Frames überlappt und die Frames dazwischen werden verworfen. Die überlappenden Frames werden mit einer Distanz zueinander ausgewählt, mit der die gewünschte Jitterpufferverkleinerung erzielt werden kann. Wenn nur eine Verkleinerung von einem Frame erzielt werden soll, dann werden zwei aufeinander folgende Frames gewählt. Diese Ausgestaltung resultiert in einer einfachen Implementation, die nur wenig Rechenleistung erfordert.
  • Vorteilhafterweise wird der zur Überlappung verwendete zeitlich erste Frame zunächst mit einer Downramp-Funktion multipliziert, und der zur Überlappung verwendete zeitlich zweite Frame wird zunächst mit einer Upramp-Funktion multipliziert. Zum Ausführen der Überlappung werden die Produkte dann addiert.
  • Eine zweite und eine dritte bevorzugte Ausgestaltung der Erfindung zum Vergrößern und Verkleinern eines Jitterpuffers basieren auf Zeitskalierung, die ein Ausdehnen oder Komprimieren eines gewählten Datensegments in einem Puffer ermöglicht.
  • In der zweiten bevorzugten Ausgestaltung wird eine Zeitbereich-Zeitskalierung angewendet.
  • In Jitterpuffergrößenänderungsverfahren auf der Basis einer Zeitbereich-Zeitskalierung werden zunächst Daten aus den empfangenen Daten ausgewählt, die für die Zeitskalierung verwendet werden sollen. Dann wird ein Zeitskalierungsverfahren zum Zeitskalieren des gewählten Sprachteils angewendet. Dieses neue zeitskalierte Signal kann dann zum Ersetzen von wenigstens einem Teil des zuerst gewählten Signals verwendet werden, wodurch die Änderung der Jitterpuffergröße kompensiert wird.
  • Ein Zeitbereich-Zeitskalierungsverfahren von guter Qualität und mit geringer Rechenleistung ist WSOLA (Waveform Similarity OverLap Add), das z.B. von W. Verhelst und M. Roelands in „An overlap-add technique based on waveform similarity (WSOLA) for high quality time-scale modification of speech", ICASSP-93., IEEE International Conference on Acoustics, Speech and Signal Processing, 1993, Band 2, auf den Seiten 554–557 beschrieben wurde. Das WSOLA-Verfahren basiert auf der Konstruktion einer synthetischen Wellenform, die eine maximale lokale Ähnlichkeit mit dem ursprünglichen Signal beibehält. Die synthetische Wellenform und die ursprüngliche Wellenform haben maximale Ähnlichkeit um Zeitpunkte herum, die durch eine Time-Warping-Funktion vorgegeben werden.
  • Das Zeitbereich-Skalierungsverfahren kann für Zeitskalenexpansion oder -kompression und somit zum Vergrößern oder Verkleinern des verwendeten Jitterpuffers angewendet werden.
  • Am Übergang von den zeitskalierten Daten zu den Folgedaten entspricht die Tonhöhenperiode möglicherweise nicht der ursprünglichen Tonhöhenperiode. Um diesen Effekt von Phasenfehlübereinstimmungen zwischen zeitskalierten Daten und den folgenden echten Daten zu verringern, kann die Zeitskalierung um eine vorbestimmte Länge erweitert werden, vorzugsweise um die Länge eines zusätzlichen halben Pakets. Die Verlängerung des zeitskalierten Signals, das nicht zum Substituieren empfangener Audiodaten im Jitterpuffer benötigt wird, wird mit den folgenden echten Daten überlappt.
  • Gemäß der dritten bevorzugten Ausgestaltung wird eine Frequenzbereich-Zeitskalierung zum Erzeugen zusätzlicher Daten oder zum Kondensieren der existierenden Daten angewandt.
  • Bei einer Frequenzbereich-Zeitskalierung werden zunächst überlappende, fensterstrukturierte Teile der ursprünglichen Daten Fourier-transformiert. Dann wird eine Zeitskalenmodifikation angewandt. Die Modifikation hängt einerseits davon ab, ob eine Jitterpuffervergrößerung oder -verkleinerung kompensiert werden soll, und andererseits vom Betrag der Vergrößerung oder Verkleinerung. Nach der Zeitskalenmodifikation werden inverse Fourier-Transformationen auf die zeitskalenmodifizierten, Fourier-transformierten Daten angewandt. Aufgrund der Zeitskalenmodifikation unterscheidet sich die Distanz zwischen den Analysefenstern, die auf die ursprünglichen Daten angewandt wurden, von der Distanz zwischen den Synthesefenstern, die sich aus der inversen Fourier-Transformation ergeben. Je nach der Zeitskalenmodifikation werden die resultierenden Daten somit gegenüber den ursprünglichen Daten expandiert oder komprimiert. Daher kann auch dieses Verfahren gleichermaßen zum Addieren und Entfernen von Daten zum Vergrößern oder Verkleinern eines verwendeten Jitterpuffers angewendet werden.
  • Insbesondere kann ein Phasenvocoder-Zeitskalenmodifikationsverfahren für die dritte bevorzugte Ausgestaltung der Erfindung zur Anwendung kommen, das beispielsweise in „Applications of Digital Signal Processing to Audio and Acoustics", Kluwer Academic Pub; ISBN: 0792381300, 1998, von K. Brandenburg und M. Kahrs beschrieben wurde. Dieses Verfahren basiert auf der Ausführung von Kurzzeit-Fourier-Transformationen (STFT) eines Sprachsignals.
  • Während die ersten drei dargelegten bevorzugten Ausgestaltungen der Erfindung von decodierten Audiosginalen ausgehen, kann die Erfindung in einer vierten bevorzugten Ausgestaltung mit parametrischer Audiosignalcodierung eingesetzt werden. In diesem Fall kann der Jitterpuffer gemäß einem bekannten Bad-Frame-Handling vergrößert werden. Dies kann beispielsweise mit einem Bad-Frame-Handler des Codierers erfolgen.
  • Ein Beispiel für einen Bad-Frame-Handler, der in der vierten bevorzugten Ausgestaltung der Erfindung zum Einsatz kommen kann, ist die Fehlerverbergung in EFR-(Enhanced Full Rate)-Codec, beschrieben in „Substitution and muting of lost frames for Enhanced Full Rate (EFR) speech traffic channels (GSM 06.61 Version 8.0.0 Release 1999). Digital cellular telecommunications system (Phase 2+)", ETSI EN 300 727 v.8.0.0, März 2000, das in GSM benutzt wird. Dieses Dokument gibt eine Frame-(Paket)-Substitutions- und Stummschaltprozedur für einen oder mehrere aufeinander folgende verlorene Frames vor. Auf leere Frames angewendet, die aus einer Vergrößerung des Jitterpuffers resultieren, wird der erste leere Frame durch Wiederholen des letzten Frame ersetzt, der vor dem leeren Frame empfangen wurde. Wenn mehr als ein aufeinander folgender Leerframe eingefügt werden musste, dann erfolgt die Substitution durch Kopieren des letzten empfangenen Frame für jeden fehlenden Frame und Verringern des Ausgangspegels um 3 dB/Frame. Die Ausgangspegelskalierung erfolgt durch Skalieren der Codebook-Verstärkungen und durch Modifizieren der LSF-Parameter.
  • Wenn der Jitterpuffer mit parametrischer Audiosignalcodierung verkleinert werden soll, dann werden einige Frames verworfen. Die Verstärkungsparameter und LPC-(Linear Predictive Coding)-Koeffizienten der Frames um den/die verworfenen Frame(s) herum können so modifiziert werden, dass die Frames um den/die verworfenen Frame(s) herum glatt verbunden werden. Alternativ kann/können der/die Frame(s) ohne weitere Änderungen verworfen werden.
  • Auch die fünfte bevorzugte Ausgestaltung zum Vergrößern und Verkleinern eines Jitterpuffers ist für parametrische Audiodatencodierung vorgesehen.
  • In der fünften bevorzugten Ausgestaltung zum Vergrößern des Jitterpuffers werden zusätzliche Daten von benachbarten parametrisch codierten Audiodaten interpoliert. In der fünften bevorzugten Ausgestaltung zum Verkleinern eines Jitterpuffers werden die enthaltenen parametrisch codierten Audiodaten durch Interpolieren gewählter Audiodaten zu weniger Audiodaten reduziert. Die gewählten Audiodaten können nebeneinander liegen oder beabstandet sein; in letzterem Fall werden die Daten zwischen den gewählten Daten verworfen.
  • Auch Zeitskalierung kann auf parametrisch codierte Audiodaten angewendet werden.
  • Es wurden zwar fünf unterschiedliche bevorzugte Grundausgestaltungen der Erfindung dargelegt, aber es liegen zahlreiche alternative oder modifizierte Ausgestaltungen im Rahmen der Erfindung. Insbesondere kann die Erfindung auf der Basis eines beliebigen anderen geeigneten Zeitskalierungs- und/oder Bad-Frame-Handling-Verfahrens zum Kompensieren einer Jitterpuffergrößenänderung realisiert werden.
  • Wenn beispielsweise Zeitskalierung angewendet werden soll, dann kann ein erstes Zeitskalierungsverfahren für eine Zeitskalenexpansion und ein anderes Verfahren für eine Zeitskalenkompression angewandt werden.
  • Während eine Vergrößerung des Jitterpuffers vorzugsweise ausgeführt wird, unmittelbar nachdem eine Vergrößerung als notwendig ermittelt wurde, kann eine nötige Verkleinerung des Jitterpuffers bis zu einer Sprechpause aufgeschoben werden, falls ein Sprachaktivitätsdetektor zur Verfügung steht, da eine Verkleinerung des Jitterpuffers nicht so zeitkritisch ist wie eine Vergrößerung des Jitterpuffers.
  • Wenn ein Bad-Frame-Handling-Verfahren eingesetzt wird, dann kann zusätzlich ein existierender Bad-Frame-Handler für die Handhabung von Jitterpuffergrößenänderungen verwendet werden.
  • KURZBESCHREIBUNG DER FIGUREN
  • Die Erfindung wird nachfolgend ausführlicher mit Bezug auf die Zeichnungen erläutert. Dabei zeigt:
  • 1 den Grundsatz von drei Ausgestaltungen der Erfindung zum Ändern der Jitterpuffergröße;
  • 2 Diagramme, die eine Jitterpuffervergrößerung gemäß der ersten Ausgestaltung der Erfindung auf der Basis eines Verfahrens für Bad-Frame-Handling illustrieren;
  • 3 Diagramme, die eine Jitterpufferverkleinerung gemäß der ersten Ausgestaltung der Erfindung illustrieren;
  • 4 Diagramme, die den Grundsatz einer Zeitbereich-Zeitskalierung gemäß einer zweiten Ausgestaltung der Erfindung illustrieren;
  • 5 ein Flussdiagram der zweiten Ausgestaltung der Erfindung;
  • 6 Diagramme, die die zweite Ausgestaltung der Erfindung näher illustrieren;
  • 7 Diagramme, die den Grundsatz einer dritten Ausgestaltung der Erfindung auf der Basis von Frequenzbereich-Zeitskalierung illustrieren;
  • 8 ein Flussdiagram der dritten Ausgestaltung der Erfindung;
  • 9 Jitterpuffersignale vor und nach der Zeitskalierung gemäß der dritten Ausgestaltung der Erfindung;
  • 10 ein Flussdiagram, das eine vierte Ausgestaltung der Erfindung zum Ändern einer Jitterpuffergröße im Parameterbereich illustriert;
  • 11 eine schematische Darstellung eines Teils eines ersten Systems, in dem die Erfindung zum Einsatz kommen kann;
  • 12 eine schematische Darstellung eines Teils eines zweiten Systems, in dem die Erfindung eingesetzt werden kann; und
  • 13 eine schematische Darstellung eines Teils eines ersten [dritten] Systems, in dem die Erfindung eingesetzt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • 1 illustriert die Grundsätze der ersten drei Ausgestaltungen der Erfindung, die dargestellt werden.
  • Die linke Seite der Figur zeigt eine Vergrößerung eines Paketstroms, während die linke [rechte] Seite eine Verkleinerung eines Paketstroms zeigt. Der obere Teil der Figur zeigt für beide Fälle ursprüngliche Ströme, der mittlere Teil für beide Fälle Ströme, die gemäß der ersten Ausgestaltung der Erfindung behandelt wurden, der untere Teil für beide Fälle Ströme, die gemäß der zweiten oder dritten Ausgestaltung behandelt wurden.
  • Im linken oberen Teil von 1 ist ein erster Paketstrom mit acht ursprünglichen, Sprachdaten enthaltenden Paketen 1 bis 8 gezeigt. Dieser Paketstrom ist in einem Jitterpuffer eines Empfangsendes in einem Voice-over-IP Netz enthalten, bevor eine Jitterpuffervergrößerung notwendig wird. Der rechte obere Teil von 1 zeigt einen zweiten Paketstrom mit neun Sprachdaten enthaltenden Paketen 9 bis 17. Diese Paketströme sind in einem Jitterpuffer eines Empfangsendes in einem Voice-over-IP Netz enthalten, bevor eine Jitterpufferverkleinerung notwendig wird.
  • Auf der linken Seite in der Mitte von 1 ist der erste Paketstrom nach einer Vergrößerung des Jitterpuffers dargestellt. Der Jitterpuffer wurde durch Bereitstellen eines leeren Raums mit der Länge von einem Paket zwischen dem ursprünglichen Paket 4 und dem ursprünglichen Paket 5 des Paketstroms im Jitterpuffer vergrößert. Dieser leere Raum wird mit einem Paket 18 gefüllt, das gemäß einem Bad-Frame-Handler BFH gemäß Definition in dem oben erwähnten ITU-T G.711 Codec erzeugt wurde, wobei der leere Raum einfach als verlorenes Paket angesehen wird. Der ursprüngliche Strom wird somit um die Länge von einem Paket vergrößert.
  • Auf der rechten Seite in der Mitte von 1 ist dagegen der zweite Paketstrom nach einer Verkleinerung des Jitterpuffers dargestellt. Dies erfolgt in der ersten beschriebenen Ausgestaltung durch Überlappen von zwei aufeinander folgenden Paketen, in diesem Beispiel dem ursprünglichen Paket 12 und dem ursprünglichen Paket 13 des zweiten Paketstroms. Die Überlappung reduziert die Zahl der Sprachsamples, die im Jitterpuffer enthalten sind, in der Länge von einem Paket, somit kann die Größe des Jitterpuffers um die Länge von einem Paket reduziert werden.
  • Auf der linken Seite unten in 1 ist wiederum der erste Paketstrom nach einer Vergrößerung des Jitterpuffers dargestellt, die in einem leeren Raum mit der Länge von einem Paket zwischen den ursprünglichen Paketen 4 und 5 des ersten Paketstroms resultierte. Dieses Mal wurden jedoch die ursprünglichen Pakete 4 und 5 im Zeitbereich oder im Frequenzbereich gemäß der zweiten oder dritten Ausgestaltung der Erfindung zeitskaliert, um den resultierenden leeren Raum zu füllen. Dies bedeutet, dass die Daten der ursprünglichen Pakete 4 und 5 zum Füllen des Raums von drei anstatt zwei Paketen expandiert wurden. Die Größe des ursprünglichen Stroms wurde somit um die Länge von einem Paket vergrößert.
  • Auf der rechten Seite unten in 1 ist schließlich wieder der zweite Paketstrom nach einer Verkleinerung des Jitterpuffers dargestellt. Die entsprechende Verkleinerung des Datenstroms wurde gemäß der zweiten oder dritten Ausgestaltung durch Zeitskalieren der Daten der drei ursprünglichen Pakete auf die Länge von zwei Paketen realisiert. In dem vorliegenden Beispiel wurden die Daten der ursprünglichen Pakete 12 bis 14 des zweiten Paketstroms auf die Länge von zwei Paketen kondensiert. Die Größe des ursprünglichen Stroms wurde somit um die Länge von einem Paket reduziert.
  • Die Vergrößerung und Verkleinerung des Jitterpuffers gemäß der ersten Ausgestaltung der Erfindung wird nun mit Bezug auf die 2 und 3 ausführlich erläutert.
  • 2 wurde dem Spezifikation ITU-T G.711 Anhang entnommen, wo sie zum Illustrieren des Verbergens von verlorenen Paketen verwendet wird, während sie hier zum Illustrieren der ersten Ausgestaltung der Erfindung verwendet wird, bei der der ITU-T Bad-Frame-Handler zwischen benachbarten Paketen zum Kompensieren einer Vergrößerung des Jitterpuffers aufgerufen wird.
  • 2 zeigt drei Diagramme, die die Amplitude von Signalen über die Sample-Nummer der Signale darstellen. Im ersten Diagramm sind die in den Jitterpuffer eingegebenen Signale dargestellt, während ein zweites und ein drittes Diagramm synthetisierte Sprache zu zwei unterschiedlichen Zeitpunkten zeigen. Die Diagramme illustrieren, wie der Jitterpuffer gemäß der ersten Ausgestaltung der Erfindung mit Bad-Frame-Handling gemäß dem oben aufgeführten ITU-T G.711 Codec vergrößert wird. Wie oben erwähnt, beschreibt der angegebene Standard ein Paketverlustverbergungsverfahren für den ITU-T G.711 Codec auf der Basis einer Tonhöhenwellenformreplikation.
  • Die in dieser Ausgestaltung verwendete Paketgröße ist 20 ms, was 160 Samples entspricht. Der BFH wurde so modifiziert, dass er 20 ms Pakete handhaben kann.
  • Die angekommenen Pakete sowie die synthetisierten Pakete werden in einem Historienpuffer mit einer Länge von 390 Samples gespeichert.
  • Nach einer Vergrößerung des Jitterpuffers um die Länge von zwei Paketen gibt es einen leeren Raum im Jitterpuffer, der zwei verlorenen Paketen entspricht, im ersten Diagramm von 2 mit einer die empfangenen Signale verbindenden horizontalen Linie angedeutet. Am Anfang jedes leeren Raums wird der Inhalt des Historienpuffers auf einen Tonhöhenpuffer kopiert, der im gesamten leeren Raum verwendet wird, um eine synthetische Wellenform zu finden, die den leeren Raum verbergen kann. In der Situation im ersten Diagramm bilden die Samples, die sich auf der linken Seite der beiden leeren Pakete befinden, d.h. die Samples, die vor der Vergrößerung ankamen, den aktuellen Inhalt des Tonhöhenpuffers.
  • Jetzt wird ein Kreuzkorrelationsverfahren zum Berechnen einer Tonhöhenperiodenschätzung vom Tonhöhenpuffer angewendet. Wie im zweiten Diagramm von 2 illustriert, wird das erste leere Paket dann durch Replizieren der Wellenform, die um eine Tonhöhenperiodenlänge vom Ende des Historienpuffers zurück beginnt, angedeutet durch eine mit 21 bezeichnete senkrechte Linie, in der benötigten Anzahl ersetzt. Um einen glatten Übergang zwischen der echten und der synthetisierten Sprache sowie zwischen wiederholten Tonhöhenperiodenlängen-Wellenformen zu gewährleisten, werden die letzten 30 Samples im Historienpuffer, in der Region, die im ersten Diagramm durch eine vertikale und eine mit 22 bezeichnete geneigte Linie begrenzt wird, mit den 30 Samples vor der synthetischen Wellenform in der Region, die durch die vertikale Linie 21 und eine verbundene geneigte Linie begrenzt wird, überlappend addiert. Das überlappte Signal ersetzt die letzten 30 Samples 22 im Tonhöhenpuffer. Dieses Überlappungsaddierungsverfahren bewirkt eine algorithmische Verzögerung von 3,75 ms oder 30 Samples. Auf dieselbe Weise wird ein glatter Übergang zwischen wiederholten Tonhöhenperiodenlängen-Wellenformen gewährleistet.
  • Die synthetische Wellenform wird ferner über die Dauer der leeren Pakete hinaus verlängert, um einen glatten Übergang zwischen der synthetischen Wellenform und dem nachfolgend empfangenen Signal zu gewährleisten. Die Verlängerung 23 hat eine Länge von 4 ms. Am Ende des leeren Raums wird die Verlängerung um 4 ms pro zusätzlichem addierten leeren Paket erhöht. Die maximale Verlängerungslänge beträgt 10 ms. Am Ende des leeren Raums wird diese Verlängerung mit dem Signal des ersten Pakets nach dem leeren Raum überlappt, wobei die Überlappungsregion in der Figur durch die geneigte Linie 25 angedeutet wird. Das zweite Diagramm von 2 illustriert den Zustand des synthetisierten Signals nach 10 ms, wenn Samples von einer Paketlänge repliziert wurden.
  • Falls es ein zweites hinzugefügtes leeres Paket gibt, wie im ersten Diagramm von 2, dann wird eine weitere Tonhöhenperiode zum Tonhöhenpuffer hinzugefügt. Jetzt hat die zu replizierende Wellenform eine Länge von zwei Tonhöhenperioden und beginnt an der mit 24 bezeichneten vertikalen Linie. Als Nächstes werden die 30 Samples 24 vor dem Tonhöhenpuffer mit den letzten 30 Samples 22 im Tonhöhenpuffer überlappungsaddiert. Auch hier ersetzt das überlappte Signal die letzten 30 Samples in der Region 22 im Tonhöhenpuffer. Ein glatter Übergang zwischen Signalen mit einer und zwei Tonhöhenperiodenlängen wird durch Ausführen einer Überlappungsaddition zwischen den mit 23 und 26 bezeichneten Regionen gewährleistet. Region 26 wird durch Subtrahieren von Tonhöhenperioden platziert, bis der Tonhöhenzeiger in der ersten Wellenlänge des gerade benutzten Abschnitts des Tonhöhenpuffers liegt. Das Resultat der Überlappungsaddierung ersetzt die Samples in Region 23. Das dritte Diagramm von 2 zeigt das synthetisierte Signal, in dem ein leerer Raum der Länge von zwei Paketen verborgen wurde, die zum Vergrößern des Jitterpuffers hinzugefügt wurden.
  • Für eine weitere Vergrößerung des Jitterpuffers würde eine weitere Tonhöhenperiode zum Tonhöhenpuffer hinzugefügt.
  • Wenn die Vergrößerung des Jitterpuffers hoch ist, ist es jedoch wahrscheinlicher, dass das Ersatzsignal das ursprüngliche Signal verfälscht. Um dieses Problem zu abzumildern, wird mit Dämpfung gearbeitet. Das erste Ersatzpaket wird nicht gedämpft. Das zweite Paket wird mit einer linearen Rampe gedämpft. Das Ende des Pakets wird im Vergleich zum Anfang mit der benutzten Paketgröße von 20 ms um 50% gedämpft. Diese Dämpfung wird auch für die folgenden Pakete angewandt. Dies bedeutet, dass die Signalamplitude nach 3 Paketen (60 ms) null ist.
  • Ebenso können die Bad-Frame-Handling-Verfahren von parametrischen Sprachcodierern zum Kompensieren einer Vergrößerung des Jitterpuffers eingesetzt werden.
  • 3 illustriert, wie der Jitterpuffer gemäß der ersten Ausgestaltung der Erfindung durch Überlappung von zwei benachbarten Paketen verkleinert wird. Zu diesem Zweck zeigt die Figur drei Diagramme, die die Amplitude von Signalen über die Sample-Zahl der Signale veranschaulichen.
  • Das erste Diagramm in 3 zeigt die Signale von vier Paketen 3134, die gerade in einem Jitterpuffer vor einer Verkleinerung gespeichert sind, wobei jedes Paket 160 Samples enthält. Jetzt soll der Jitterpuffer um ein Paket verkleinert werden. Dazu werden die beiden benachbarten Pakete 32, 33 wie im ersten Diagramm dargestellt mit einer Downramp-Funktion 36 bzw. einer Upramp-Funktion 37 multipliziert. Dann werden die multiplizierten Pakete 32, 33 der Signale überlappt, was im zweiten Diagramm von 3 dargestellt ist. Schließlich wird der überlappte Teil des Signals 32/33 addiert, wie im dritten Diagramm von 3 zu sehen ist, wobei das vierte Paket jetzt durch das Paket 35 gebildet wird, das auf das ursprüngliche vierte Paket 34 folgt. Das Ergebnis der Überlappungsaddierung ist ein Signal, das ein Paket weniger enthält als das ursprüngliche Signal, und dieses entfernte Paket ermöglicht eine Verkleinerung des Jitterpuffers.
  • Wenn der Jitterpuffer um mehr als ein Paket auf einmal verkleinert werden soll, dann werden nicht benachbarte, sondern beabstandete Pakete überlappungsaddiert, und die Pakete dazwischen werden verworfen. Wenn beispielsweise die Jitterpuffergröße von drei Paketen auf eins geändert werden soll, dann wird das erste Paket im Jitterpuffer mit dem dritten Paket im Jitterpuffer wie für die Pakete 32 und 33 mit Bezug auf 3 beschrieben überlappungsaddiert und das zweite Paket wird verworfen.
  • In einer zweiten Ausgestaltung der Erfindung wird eine unmittelbare Vergrößerung und Verkleinerung eines Jitterpuffers mit einem Zeitbereich-Zeitskalierungsverfahren, spezieller einem WSOLA-(Waveform Similarity Overlap Add)-Verfahren ermöglicht, das im oben erwähnten Dokument „An overlap-add technique based on waveform similarity (WSOLA) for high quality time-scale modification of speech" beschrieben ist.
  • Das WSOLA-Verfahren ist für eine beispielhafte Zeitskalierung, die in einer Reduzierung von Samplen eines Signals resultiert, in 4 illustriert, die im oberen Teil eine ursprüngliche Wellenform x(n) und im unteren Teil eine synthetische Wellenform y(n) enthält, die mit geeigneten Werten der ursprünglichen Wellenform x(n) konstruiert wurde. n gibt das jeweilige Sample der Signale an. Das WSOLA-Verfahren basiert auf der Konstruktion einer synthetischen Wellenform, die maximale lokale Ähnlichkeit mit dem ursprünglichen Signal behält. Die synthetische Wellenform y(n) und die ursprüngliche Wellenform x(n) haben maximale Ähnlichkeit um Zeitpunkte herum, die durch eine Zeit-Warping-Funktion τ–1(n) vorgegeben werden.
  • In 4 war das Eingangssegment 41 der ursprünglichen Wellenform x(n) das letzte Segment, das von der ursprünglichen Wellenform x(n) genommen wurde. Dieses Segment 41 ist das letzte Segment, das als Synthesesegment A zur synthetisierten Wellenform y(n) addiert wurde. Segment A wurde zum Ausgangssignal y(n) zum Zeitpunkt Sk-1 = (k – 1)S überlappungsaddiert, wobei S das Intervall zwischen Segmenten im synthetisierten Signal y(n) ist.
  • Das nächste Synthesesegment B wird vom Eingangssignal x(n) um den Zeitpunkt τ–1(Sk) genommen und zum Zeitpunkt Sk = kS zum Ausgangssignal y(n) überlappungsaddiert. Wie in der Figur zu sehen ist, würde Segment 41' des Eingangssignals x(n) perfekt mit Segment 41 des Eingangssignals x(n) überlappen. Segment 41' wird daher beim Wählen eines Segments 42 um den Zeitpunkt τ–1(Sk) des Eingangssignals x(n) als Schablone verwendet, die als nächstes Synthesesegment B zu verwenden ist. Es wird ein Maß der Ähnlichkeit zwischen Segment 41' und Segment 42 berechnet, um den optimalen Verschiebungswert Δ zu ermitteln, der die Ähnlichkeit zwischen den Segmenten maximiert. So wird das nächste Synthesesegment B gewählt, indem die beste Übereinstimmung 42 für die Schablone 41' um den Zeitpunkt τ–1(Sk) gesucht wird. Die beste Übereinstimmung muss innerhalb des Toleranzintervalls von Δ liegen und dieses Toleranzintervall liegt zwischen einem vorbestimmten Minimalwert Δmin und einem vorbestimmten Maximalwert Δmax.
  • Nach der Überlappungsaddierung des Synthesesegments 42 zum Ausgangssignal als Segment B wird Segment 42' des Eingangssignals x(n) als nächste Schablone verwendet.
  • Das WSOLA-Verfahren arbeitet mit regelmäßig beabstandeten Synthesepunkten Sk = kS. Die Länge des Analyse- und Synthesefensters ist konstant. Wenn das Analyse/Synthese-Fenster auf eine solche Weise gewählt wird, dass: Σ kν(n – kS) = 1 (1)und wenn das Analyse/Synthese-Fenster symmetrisch ist, dann lautet die Synthesegleichung für das WSOLA-Verfahren: y(n) = Σ kν(n – kS) × (n + τ–1(kS) – kS + Δk). (2)
  • Durch Wählen einer anderen Time-Warping-Funktion kann dasselbe Verfahren nicht nur zum Reduzieren der Sample eines Signals, sondern auch zum Erhöhen der Sample eines Signals verwendet werden.
  • Es ist wichtig, dass der Übergang vom ursprünglichen Signal zum zeitskalierten Signal glatt ist. Ferner sollte sich die Tonhöhenperiode bei den Sprüngen von dem wie empfangen benutzten Signal auf das zeitskalierte Signal nicht ändern. Wie zuvor erläutert, konserviert WSOLA-Zeitskalierung die Tonhöhenperiode. Wenn Zeitskalierung jedoch für einen Teil in der Mitte des Sprachsignals ausgeführt wird, dann kann eine gewisse Diskontinuität entweder zu Beginn oder am Ende des zeitskalierten Signals zuweilen nicht vermieden werden.
  • Um die Auswirkung einer solchen Phasenfehlübereinstimmung zu verringern, wird für die zweite Ausgestaltung der Erfindung vorgeschlagen, das mit Bezug auf 4 beschriebene Verfahren geringfügig zu ändern. Das modifizierte WSOLA (MWSOLA) Verfahren arbeitet mit Historieninformationen und zusätzlicher Verlängerung zum Verringern der Auswirkung dieses Problems.
  • Ein MWSOLA-Algorithmus, der eine Verlängerung der Zeitskala für eine zusätzliche Hälfte einer Paketlänge verwendet, wird nun mit Bezug auf das Flussdiagram von 5 und die fünf Diagramme von 6 beschrieben. Die verwendete Paketgröße ist 20 ms oder 160 Samples, wobei die Samplerate 8 kHz beträgt. Das verwendete Analyse/Synthese-Fenster hat dieselbe Länge wie die Pakete.
  • 5 illustriert das Grundverfahren zum Aktualisieren der Jitterpuffergröße mit dem vorgeschlagenen MWSOLA-Algorithmus. Wie auf der linken Seite des Flussdiagrams in 5 zu sehen ist, werden zunächst die zeitzuskalierenden Pakete gewählt. Außerdem wird eine Länge von einem halben Paket des zuvor angekommenen Signals, d.h. 80 Samples, als Historien-Samples gewählt. Die gewählten Samples sind auch im ersten Diagramm von 6 dargestellt. Nach dem Auswählen werden sie zum MWSOLA-Algorithmus weitergeleitet.
  • Der MWSOLA-Algorithmus, der auf der rechten Seite von 5 ausführlicher dargestellt ist, wird dann zum Erzielen der gewünschten Zeitskalierung der gewählten Signale wie mit Bezug auf 4 beschrieben verwendet.
  • Das Analyse/Synthese-Fenster wird durch Modifizieren eines Hanning-Fensters erzeugt, so dass die Bedingung von Gleichung (1) erfüllt wird. Die Time-Warping-Funktion τ–1(n) wird für Zeitskalenexpansion und -kompression, d.h. für eine Vergrößerung und für eine Verkleinerung des Jitterpuffers unterschiedlich konstruiert. Die Time- Warping-Funktion und die Grenzen der Suchregion Δ (Δ = [Δmin ... Δmax]) werden auf eine solche Weise gewählt, dass eine gute Signalvariation erhalten wird. Durch korrektes Festlegen der Grenzen der Suchregion und der Time-Warping-Funktion kann vermieden werden, dass benachbarte Analyse-Frames wiederholt gewählt werden. Schließlich wird der erste Frame vom Eingangssignal in ein Ausgangssignal kopiert, das das ursprüngliche Signal substituieren soll. Dadurch wird gewährleistet, dass die Änderung vom vorhergehenden ursprünglichen Signal auf das zeitskalierte Signal glatt ist.
  • Nach dem Festlegen der Anfangsparameter, wie der Time-Warping-Funktion und der Grenzen für die Suchregion, und dem Initialisieren eines Ausgangssignals, werden so lange wie nötig über eine Schleife neue Frames für das zeitskalierte Ausgangssignal gesucht. Eine beste Übereinstimmung zwischen den letzten L Samples des vorherigen Frame und den ersten L Samples des neuen Frame wird als Indikator bei der Suche des nächsten Frame benutzt. Die benutzte Länge L der Korrelation ist 1/2·Fensterlänge = 80 Samples. Die Suchregion Δ (Δ = [Δmin ... Δmax]) sollte länger sein als die maximale Tonhöhenperiode in Samples, so dass eine korrekte Synchronisation zwischen aufeinander folgenden Frames möglich ist.
  • Das zweite Diagramm von 6 zeigt, wie die verschiedene Segmente definierenden Analysefenster 6167 in das MWSOLA-Eingangssignal gesetzt werden, wenn zwei Pakete auf drei Pakete zeitskaliert werden.
  • Das dritte Diagramm von 6 zeigt den Erfolg der Überlappung der Synthesesegmente. Wie ersichtlich ist, überlappen sich die unterschiedlichen Fenster 6167 in diesem Fall sehr gut.
  • Eine Überlappungsaddierung aller Analyse/Synthese-Frames ergibt das zeitskalierte Signal, das im vierten Diagramm von 6 dargestellt ist, das das Ausgangssignal des MWSOLA-Algorithmus bildet. Der MWSOLA-Algorithmus gibt die neuen zeitskalierten Pakete und eine Verlängerung zurück, die mit der ersten halben Paketlänge des nächsten ankommenden Pakets überlappungsaddiert werden soll.
  • Wie wiederum auf der linken Seite des Flussdiagrams von 5 gezeigt ist, wird der Jitterpuffer dann mit den zeitskalierten Signalen aktualisiert und die Verlängerung wird mit dem nächsten ankommenden Paket überlappungsaddiert. Das resultierende Signal ist im fünften Diagramm von 6 zu sehen.
  • Dieser Vorgang verringert die Auswirkung von Phasen- und Amplitudenfehlübereinstimmungen zwischen dem zeitskalierten Signal und dem gültigen Signal.
  • Es wird nun ein Jitterpufferskalierungsverfahren auf der Basis eines Phasenvocoders mit Bezug auf die 7 bis 9 als dritte Ausgestaltung der Erfindung beschrieben. Dieses Verfahren ist ein Frequenzbereich-Zeitskalierungsverfahren.
  • Das Phasenvocoder-Zeitskalenmodifikationsverfahren basiert auf Kurzzeit-Fourier-Transformationen (STFT) des Sprachsignals im Jitterpuffer gemäß Beschreibung im oben erwähnten Dokument „Applications of Digital Signal Processing to Audio and Acoustics". 7 illustriert diese Technik. Die Zeitskalenmodifikation auf Phasenvocoderbasis beinhaltet eine Analysestufe, die im oberen Teil von 7 angedeutet ist, eine Phasenmodifikationsstufe, die in der Mitte von 7 zu sehen ist, und eine Synthesestufe, die im unteren Teil von 7 dargestellt ist.
  • In der Analysestufe werden Kurzzeit-Fourier-Transformationen von überlappenden fensterstrukturierten Teilen 7174 eines empfangenen Signals genommen. Insbesondere können Diskretzeit-Fourier-Transformationen (DFT) gemäß Beschreibung von J. Laroche und M. Dolson in „Improved Phase Vocoder Time-Scale Modification of Audio", IEEE Transactions on Speech and Audio Processing, Bd. 7, Nr. 3, Mai 1999, S. 323–332, in der Phasenvocoder-Analysestufe angewendet werden. Dies bedeutet, dass sowohl die Frequenzskalen- als auch die Zeitskalendarstellung des Signals diskret sind. Die Analysezeitpunkte t u / a sind regelmäßig um Ra Samples beabstandet, tua = u·Ra. Ra ist der Analysesprungfaktor. Die Kurzzeit-Fourier-Transformation ist dann:
    Figure 00280001
    wobei x das ursprüngliche Signal, h(n) das Analysefenster und Ωk = 2pi·k/N die Mittenfrequenz des k-ten Vocoder-Kanals ist. Die Vocoder-Kanäle können auch als Bins bezeichnet werden. N ist die Größe der DFT, wobei N länger sein muss als die Länge des Analysefensters. In praktischen Lösungen wird DFT gewöhnlich mit der Fast-Fourier-Transformation (FFT) erhalten. Die Grenzfrequenz des Analysefensters für die standardmäßigen (Hanning, Hamming) Fenster verlangt, dass die Analysefenster um wenigstens 75% überlappen. Nach der Analyse-FFT wird das Signal durch horizontale Vocoder-Kanäle und vertikale Analysezeitpunkte dargestellt.
  • In der Phasenmodifikationsstufe wird die Zeitskala des Sprachsignals modifiziert, indem der Analysesprungfaktor Ra anders als ein zu verwendender Synthesesprungfaktor Rs gesetzt wird, wie im erwähnten Dokument „Improved Phase Vocoder Time-Scale Modification of Audio" beschrieben ist. Die neue Zeitevolution der Sinuswellen wird durch Einstellen von |Y(tus , Ωk)| = |X(tua , Ωk)| und durch Berechnen der neuen Werte für Y(tus , Ωk) erzielt.
  • Die neuen Phasenwerte für Y(tus , Ωk) werden wie folgt berechnet. Es wird ein mit Phase-Unwrapping bezeichnetes Verfahren angewendet, bei dem das Phaseninkrement zwischen zwei aufeinander folgenden Frames zum Schätzen der momentanen Frequenz eines nahe gelegenen Sinusoids in jedem Kanal k verwendet wird. Zunächst wird das Überlagerungsphaseninkrement errechnet durch: ΔΦuk = ∠X(tua , Ωk) – ∠X(tu-1a , Ωk) – RaΩk. (4)
  • Dann wird durch Addieren oder Subtrahieren von Vielfachen von 2π, so dass das Ergebnis von (7[4]) zwischen ±π liegt, die Hauptbestimmung pΦuk ) des Überlagerungsphaseninkrements erhalten. Die momentane Frequenz wird dann wie folgt berechnet:
  • Figure 00290001
  • Die momentane Frequenz wird ermittelt, weil die FFT nur für diskrete Frequenzen Ωk berechnet wird. Somit repräsentiert die FFT das fensterstrukturierte Signal nicht unbedingt genau.
  • Die zeitskalierten Phasen der STFT zum Zeitpunkt t u / s werden wie folgt berechnet: ∠Y(tus , Ωk) = ∠Y(tu-1s , Ωk) + Rsωk(tua ). (6)
  • Die Wahl der anfänglichen Synthesephasen ∠Y(t0s , Ωk) ist für eine gute Sprachqualität wichtig. In dem oben erwähnten Dokument „Improved Phase Vocoder Time-Scale Modification of Audio" wird eine standardmäßige Initialisierungseinstellung von: ∠Y(t0s , Ωk) = ∠X(t0a , Ωk) (7)empfohlen, die eine Umschaltung von einem nicht zeitskalierten Signal auf ein zeitskaliertes Signal ohne Phasendiskontinuität möglich macht. Dies ist ein wichtiges Attribut für eine Jitterpufferzeitskalierung.
  • Nach dem Erhalt der Phasenwerte für Y(tus , Ωk) wird das Signal in einer Synthesestufe rekonstruiert.
  • In der Synthesestufe werden die modifizierten Kurzzeit-Fourier-Transformationen Y(tus , Ωk) zunächst invers Fourier-transformiert mit der Gleichung:
  • Figure 00300001
  • Die Synthesezeitpunkte werden wie folgt eingestellt: tus = u·Rs. Schließlich werden die Kurzzeitsignale mit einem Synthesefenster w(n) multipliziert und addiert, so dass sich insgesamt das Ausgangssignal y(n) ergibt:
  • Figure 00310001
  • Die Distanz zwischen den Analysefenstern unterscheidet sich von der Distanz zwischen den Synthesefenstern aufgrund der Zeitskalenmodifikation, daher wird eine Zeitverlängerung oder -kompression der empfangenen Jitterpufferdaten erzielt. Eine Synchronisation zwischen überlappenden Synthesefenstern wurde durch Modifizieren der Phasen in der STFT erzielt.
  • Die Anwendung einer Zeitskalierung auf der Basis eines Phasenvocoders zum Vergrößern oder Verkleinern eines Jitterpuffers ist im Flussdiagram von 8 illustriert.
  • Zuerst wird das Eingangssignal empfangen und ein Zeitskalierungsfaktor festgelegt.
  • Der Algorithmus wird dann durch Festlegen der Analyse- und Synthesesprunggrößen und durch Festlegen der Analyse- und Synthesezeitpunkte initialisiert. Dabei müssen ein paar Einschränkungen berücksichtigt werden, die z.B. in dem oben erwähnten Dokument „Applications of Digital Signal Processing to Audio and Acoustics" aufgeführt sind. Die Grenzfrequenz des Analysefensters muss die Bedingung wh < miniΔwi erfüllen, d.h. die Grenzfrequenz muss kleiner als der Abstand zwischen zwei Sinusoiden sein. Ferner muss die Länge des Analysefensters gering genug sein, damit die Amplituden und Momentanfrequenzen der Sinusoide als Konstanten innerhalb des Analysefensters angesehen werden können. Schließlich müssen, um ein Phase-Unwrapping zu ermöglichen, die Grenzfrequenz und die Analyserate die Bedingung whRa < π erfüllen. Die Grenzfrequenz für standardmäßige Analysefenster (Hamming, Hanning) ist wh ≈ 4π/Nw, wobei Nw die Länge des Analysefensters ist.
  • Als weiterer Anfangsparameter wird die Zahl der zu verarbeitenden Frames berechnet. Diese Zahl wird zum Ermitteln benutzt, wie viele Male die folgende Schleife in 8 verarbeitet werden muss. Schließlich werden Anfangssynthesephasen gemäß Gleichung (7) festgelegt.
  • Nach der Initialisierung folgt eine Vocoder-Verarbeitungsschleife für die eigentliche Zeitskalierung. Innerhalb der Phasenvocoder-Verarbeitungsschleife ist die Routine eine einfache Realisierung des oben dargelegten Verfahrens. Zunächst wird der jeweilige nächste Analyse-Frame durch Multiplizieren des Signals mit dem Analysefenster zum Zeitpunkt t u / a erhalten. Dann wird die FFT des Frame berechnet. Das Überlagerungsphaseninkrement wird durch Festlegen von Ra in Gleichung (4) auf tua – tu-1a berechnet. Momentanfrequenzen werden ebenfalls durch Festlegen von Ra in Gleichung (5) auf tua – tu-1a erhalten. Die zeitskalierten Phasen werden dann mit Gleichung (6) erhalten. Als Nächstes wird die IFFT der modifizierten FFT des aktuellen Frames gemäß Gleichung (8) berechnet. Das Ergebnis von Gleichung (8) wird dann mit dem Synthesefenster multipliziert und zum Ausgangssignal hinzugefügt. Vor dem nochmaligen Durchlaufen der Schleife werden die in den Gleichungen (4) und (6) zu verwendenden vorherigen Analyse- und Synthesephasen aktualisiert.
  • Schließlich werden, vor dem Ausgeben des zeitskalierten Signals, Übergänge zwischen dem zeitskalierten und dem nicht zeitskalierten Signal geglättet. Danach kann die Jitterpuffergrößenmodifikation abgeschlossen werden. 9 zeigt das resultierende Signal, wenn die Zeitskalierung von zwei Paketen in drei mit Zeitskalierung auf Phasenvocoderbasis erfolgt. In einem ersten Diagramm von 9 ist die Amplitude des Signals über den Samplen vor der Zeitskalierung dargestellt. In einem zweiten Diagramm von 9 ist die Amplitude des Signals über Samples nach der Zeitskalierung dargestellt. Die beiden Pakete mit den Samples 161 bis 481 im ersten Diagramm wurden auf drei Pakete mit Samples 161 bis 641 expandiert.
  • Vor dem Vergrößern des Jitterpuffers sollte eine Fehlerverbergung erfolgen. Zudem sollte eine vorbestimmte Anzahl von Paketen vor dem Vergrößern des Jitterpuffers empfangen werden.
  • 10 ist ein Flussdiagram, das eine vierte Ausgestaltung der Erfindung illustriert, die zum Ändern einer Jitterpuffergröße im Parameterbereich verwendet werden kann. Die parametrisch codierten Sprachframes werden von einem Decoder erst nach dem Puffern im Jitterpuffer decodiert.
  • In einem ersten Schritt wird ermittelt, ob die Jitterpuffergröße geändert werden muss. Falls sie nicht geändert zu werden braucht, wird der Inhalt des Jitterpuffers direkt zum Decoder weitergeleitet.
  • Falls ermittelt wird, dass der Jitterpuffer vergrößert werden muss, wird der Jitterpuffer vergrößert und zusätzliche Frames werden durch Interpolieren eines zusätzlichen Frame von zwei benachbarten Frames im Parameterbereich erzeugt. Die zusätzlichen Frames werden zum Füllen des leeren Pufferraums benutzt, der durch eine Vergrößerung entstanden ist. Erst dann werden die gepufferten Frames zum Decoder weitergeleitet.
  • Falls ermittelt wird, dass der Jitterpuffer verkleinert werden muss, wird der Jitterpuffer verkleinert und zwei benachbarte oder beabstandete Frames werden im Parameterbereich zu einem Frame interpoliert. Die Distanz der beiden für die Interpolation verwendeten Frames voneinander hängt vom Betrag der benötigten Verkleinerung des Jitterpuffers ab. Erst dann werden die gepufferten Frames zum Decoder weitergeleitet.
  • Die 11 bis 13 zeigen Teile von drei unterschiedlichen Voice-over-IP Kommunikationssystemen, in denen die Erfindung eingesetzt werden könnte.
  • Im Kommunikationssystem von 11 gehören ein Codierer 111 und ein Paketierungsmittel 112 zu einem Sendeende des Systems. Das Sendeende ist über ein Voice-over-IP Netzwerk 113 mit einem Empfangsende verbunden. Das Empfangsende umfasst einen Frame-Speicher 114, der über einen Decoder 115 mit einem adaptiven Jitterpuffer 116 verbunden ist. Der adaptive Jitterpuffer 116 hat ferner einen Steuereingang, der mit Steuermitteln verbunden ist, und einen Ausgang zu einem nicht dargestellten Verarbeitungsmittel des Empfangsendes.
  • Am Sendeende wird zu übertragende Sprache im Codierer 111 codiert und vom Paketierungsmittel 112 paketiert. Jedes Paket wird mit Informationen über seine richtige Position in einem Paketstrom und über die korrekte zeitliche Distanz zu den anderen Paketen versehen. Die resultierenden Pakete werden über das Voice-over-IP Netz 113 zum Empfangsende gesendet.
  • Am Empfangsende werden die empfangenen Pakete zunächst im Frame-Speicher 114 umgeordnet, um sie wieder in die ursprüngliche Reihenfolge zu bringen, in der sie vom Sendeende gesendet wurden. Die umgeordneten Pakete werden dann vom Decoder 115 in lineare PCM-Sprache decodiert. Der Decoder 115 führt auch ein Bad-Frame-Handling an den decodierten Daten durch. Danach werden die linearen PCM-Sprachpakete vom Decoder 115 zum adaptiven Jitterpuffer 116 weitergeleitet. Im adaptiven Jitterpuffer kann dann ein lineares Zeitskalierungsverfahren zum Vergrößern oder Verkleinern des Jitterpuffers angewendet werden, um dadurch mehr oder weniger Zeit für die Ankunft der Pakete am Frame-Speicher zu gewinnen.
  • Der Steuereingang des adaptiven Jitterpuffers 116 wird benutzt, um dem adaptiven Jitterpuffer 116 anzuzeigen, ob die Größe des Jitterpuffers 116 geändert werden muss. Diese Entscheidung wird vom Steuermittel auf der Basis der Beurteilung der aktuellen Gesamtverzögerung und der aktuellen Verzögerungsvariation zwischen den unterschiedlichen Paketen gefällt. Das Steuermittel zeigt dem adaptiven Jitterpuffer 116 spezieller an, ob und um welchen Betrag der Jitterpuffer 116 vergrößert oder verkleinert werden soll, sowie welche Pakete für eine Zeitskalierung auszuwählen sind.
  • Falls das Steuermittel dem adaptiven Jitterpuffer 116 anzeigt, dass seine Größe geändert werden muss, führt der adaptive Jitterpuffer 116 eine Zeitskalierung an wenigstens einem Teil der derzeit gepufferten Pakete gemäß den empfangenen Informationen durch, z.B. auf eine in der zweiten oder dritten Ausgestaltung beschriebene Weise. Der Jitterpuffer 116 wird daher durch Zeitskalenexpansion der gerade gepufferten Sprachdaten erweitert und durch Zeitskalenkompression der gerade gepufferten Sprachdaten reduziert. Alternativ könnte ein Verfahren auf der Basis eines Bad-Frame-Handling-Verfahrens zum Vergrößern des Puffers zum Ändern der Jitterpuffergröße angewendet werden. Dieses alternative Verfahren könnte beispielsweise das Verfahren der ersten Ausgestaltung der Erfindung sein, in dem ferner Daten zum Verkleinern des Puffers überlappt werden.
  • Die lineare Zeitskalierung von 11 kann insbesondere für einen niedrigen Bitraten-Codec angewendet werden.
  • 12 zeigt einen Teil eines Kommunikationssystems, das auf einem linearen PCM-Sprachzeitskalierungsverfahren basiert. In diesem System ist ein Sendeende, das dem in 11 entspricht und in 12 nicht dargestellt ist, wieder über ein Voice-over-IP Netzwerk 123 mit dem Empfangsende verbunden. Das Empfangsende ist jedoch etwas anders ausgelegt als das Empfangsende im System von
  • 11. Das Empfangsende umfasst jetzt Mittel für A-Law-Linear-Konvertierung 125, die mit einem adaptiven Jitterpuffer 126 verbunden ist. Der adaptive Jitterpuffer 126 hat wiederum zusätzlich einen Steuereingang, der mit Steuermitteln verbunden ist, und einen Ausgang zu einem Verarbeitungsmittel des Empfangsendes (nicht dargestellt).
  • Sprachdaten enthaltende Pakete, die vom Sendeende gesendet und vom Empfangsende über das Voice-over-IP Netzwerk 123 empfangen wurden, werden zunächst in das Mittel für A-Law-Linear-Konvertierung 125 des Empfangsendes eingegeben, wo sie in lineare PCM-Daten konvertiert werden. Danach werden die Pakete im adaptiven Jitterpuffer 126 umgeordnet. Ferner führt der adaptive Jitterpuffer 126 ein Bad-Frame-Handling durch, bevor er die Pakete mit einer korrekten Verzögerung zum Verarbeitungsmittel weiterleitet.
  • Das Steuermittel wird wiederum zum Entscheiden verwendet, wann und wie die Jitterpuffergröße geändert werden soll. Wann immer notwendig, wird dann ein Zeitskalierungsverfahren für lineare Sprache, z.B. eines der dargelegten Verfahren, im adaptiven Jitterpuffer 126 zum Ändern seiner Größe gemäß den vom Steuermittel empfangenen Informationen verwendet. Alternativ könnte wieder ein Verfahren auf der Basis eines Bad-Frame-Handling-Verfahrens zum Ändern der Jitterpuffergröße verwendet werden, z.B. das Verfahren der ersten Ausgestaltung der Erfindung. Bei diesem alternativen Ansatz könnte auch das Bad-Frame-Handling-Verfahren angewendet werden, das ohnehin im Jitterpuffer für Bad-Frame-Handling implementiert wird.
  • 13 zeigt schließlich einen Teil eines Kommunikationssystems, bei dem eine Niedrige-Bitrate-Codec und eine Parameterbereich-Zeitskalierung eingesetzt werden.
  • Auch hier ist wieder ein Sendeende, das dem in 11 entspricht und in 13 nicht dargestellt ist, über ein Voice-over-IP Netz 133 mit einem Empfangsende verbunden.
  • Das Empfangsende umfasst einen Paketspeicher und eine Organisiereinheit 134, die über einen adaptiven Jitterpuffer 136 mit einem Decoder 135 verbunden ist. Der adaptive Jitterpuffer 136 hat ferner einen mit dem Steuermittel verbundenen Steuereingang und der Ausgang des Decoders 135 ist mit einem Verarbeitungsmittel des Empfangsendes verbunden (Steuermittel und Verarbeitungsmittel sind nicht dargestellt).
  • Sprachdaten enthaltende Pakete, die vom Sendeende gesendet und vom Empfangsende über das Voice-over-IP Netzwerk 133 empfangen wurden, werden zunächst im Paketspeicher und in der Organisiereinheit 134 umgeordnet.
  • Die umgeordneten Pakete werden dann direkt zum adativen Jitterpuffer 136 weitergeleitet. Der Jitterpuffer 136 wendet Bad-Frame-Handling auf die empfangenen Pakete im Parameterbereich an. Die in den Paketen enthaltene Sprache wird erst nach dem Verlassen des adaptiven Jitterpuffers 136 im Decoder 135 decodiert.
  • Wie in den beiden anderen dargestellten Systemen wird das Steuermittel zum Entscheiden verwendet, wann und wie die Jitterpuffergröße verändert werden soll. Wann immer notwendig, wird dann ein Zeitskalierungsverfahren für parametrische Sprache im adaptiven Jitterpuffer 136 zum Ändern seiner Größe gemäß den vom Steuermittel empfangenen Informationen verwendet. Alternativ könnte auch ein Bad-Frame-Handling-Verfahren für ein Bad-Frame-Handling von Paketen im Parameterbereich zum Vergrößern des Jitterpuffers verwendet werden. Als weitere Alternative könnten zusätzliche Frames von zwei benachbarten Frames wie mit Bezug auf 10 vorgeschlagen interpoliert werden.
  • Das Verkleinern des Jitterpuffers könnte durch Verwerfen eines Pakets oder durch Interpolieren von zwei Paketen zu einem im Parameterbereich erzielt werden, wie mit Bezug auf 10 vorgeschlagen wurde. Besonders dann, wenn eine Verkleinerung um mehr als ein Paket gewünscht wird, könnten die Pakete um die gewünschte Anzahl von Paketen herum zu einem Paket interpoliert werden.

Claims (27)

  1. Verfahren zum Verändern der Größe eines Jitterpuffers (116; 126; 136), der am Empfangsende in einem Kommunikationssystem mit einem Paketnetz (113; 123; 133) zum Puffern empfangener, Audiodaten enthaltender Pakete verwendet wird, damit variierende Verzögerungen der genannten empfangenen Pakete kompensiert werden können, gekennzeichnet durch die folgenden Schritte: – Ermitteln, ob eine aktuelle Jitterpuffergröße erhöht oder verringert werden sollte, durch Auswertung der aktuellen Gesamtverzögerung und des Jitters in empfangenen Paketen; und – falls ermittelt wird, dass die aktuelle Jitterpuffergröße erhöht werden sollte, Erhöhen der Jitterpuffergröße und Kompensieren des resultierenden leeren Jitterpufferraums durch Erzeugen zusätzlicher Daten auf der Basis von in empfangenen Paketen enthaltenen Audiodaten.
  2. Verfahren nach Anspruch 1, bei dem, wenn ermittelt wurde, dass die aktuelle Jitterpuffergröße verringert werden soll, der Jitterpuffer durch Kondensieren von wenigstens einem Teil der gerade im Jitterpuffer (116; 126; 136) vorhandenen Audiodaten verkleinert wird.
  3. Verfahren nach einem der vorherigen Ansprüche, wobei die im Jitterpuffer (116; 126) gepufferten Audiodaten decodierte Audiodaten sind.
  4. Verfahren nach einem der vorherigen Ansprüche, bei dem die genannten zusätzlichen Daten erzeugt werden, indem der genannte leere Jitterpufferraum als verlorene Frames behandelt und der genannte leere Jitterpufferraum durch ein Bad-Frame-Handling kompensiert wird.
  5. Verfahren nach einem der vorherigen Ansprüche, bei dem zusätzliche Daten durch Replizieren einer Wellenform erzeugt werden, die ein ganzes Vielfaches von Tonlagenperiodenlängen vor einem Zeitpunkt beginnt, an dem die genannten zusätzlichen Daten hinzugefügt werden sollen.
  6. Verfahren nach einem der vorherigen Ansprüche, bei dem die genannten zusätzlichen Daten so erzeugt werden, dass sie einen Teil der empfangenen Audiodaten im Jitterpuffer (116; 126; 136) überlappen.
  7. Verfahren nach einem der vorherigen Ansprüche, bei dem wenigstens ein Teil der genannten zusätzlichen Daten gedämpft wird, falls mehr als eine vorbestimmte Menge an zusätzlichen Daten erzeugt wird.
  8. Verfahren nach einem der vorherigen Ansprüche, bei dem die Daten durch Überlappen der Audiodaten eines gewählten ersten Pakets (32) und der Audiodaten eines gewählten zweiten Pakets (33) und durch Verwerfen der Pakete zwischen dem genannten ersten und dem genannten zweiten Paket (32, 33) kondensiert werden.
  9. Verfahren nach Anspruch 8, bei dem Audiodaten überlappt werden durch Multiplizieren der Audiodaten eines gewählten ersten Pakets (32) mit einer Downramp-Funktion (36) und der Audiodaten eines gewählten zweiten Pakets (33) mit einer Upramp-Funktion (37), durch Addieren der multiplizierten Daten des genannten ersten und des genannten zweiten Pakets (32, 33) und durch Verwerfen der Pakete zwischen dem genannten ersten und dem genannten zweiten Paket (32, 33).
  10. Verfahren nach einem der Ansprüche 1 bis 3, wobei zum Verändern der Jitterpuffergröße mittels einer Zeitbereich-Zeitskalierung zusätzliche Daten erzeugt und/oder Audiodaten in dem genannten Jitterpuffer (116; 126; 136) kondensiert werden, und wobei die Zeitbereich-Zeitskalierung auf wenigstens einen Teil der gerade im Jitterpuffer (116; 126; 136) gepufferten Audiodaten zum Expandieren bzw. Komprimieren wenigstens des genannten Teils der Audiodaten angewendet wird.
  11. Verfahren nach Anspruch 10, wobei die Zeitbereich-Zeitskalierung Folgendes beinhaltet: a) Auswählen von empfangenen, gerade im Jitterpuffer (116; 126; 136) gepufferten Audiodaten, die für die Zeitskalierung verwendet werden sollen; b) Anwenden einer Zeitbereich-Zeitskalierungsmethode auf die ausgewählten Audiodaten zum Erhalten der zeitskalierten Audiodaten; und c) Ersetzen wenigstens eines Teils der ausgewählten empfangenen Audiodaten im Jitterpuffer (116; 126; 136) durch die zeitskalierten Audiodaten.
  12. Verfahren nach Anspruch 11, wobei die auf ausgewählte empfangene Audiodaten angewandte Zeitskalierung für eine vorbestimmte Länge erweitert wird, die die zum Ersetzen der empfangenen Audiodaten im Jitterpuffer (116; 126; 136) zu verwendende Länge überschreitet, wobei die Erweiterung mit den folgenden empfangenen Audiodaten überlappt wird.
  13. Verfahren nach einem der Ansprüche 10 bis 12, wobei die Zeitbereich-Zeitskalierung auf einem WSOLA-(Waveform Similarity Overlap Add)-Verfahren basiert.
  14. Verfahren nach einem der Ansprüche 1 bis 3, wobei zum Verändern der Jitterpuffergröße mittels einer Frequenzbereich-Zeitskalierung zusätzliche Daten erzeugt und/oder Audiodaten in dem genannten Jitterpuffer (116; 126; 136) kondensiert werden, und wobei die Frequenzbereich-Zeitskalierung auf wenigstens einen Teil der gerade im Jitterpuffer (116; 126; 136) gepufferten Audiodaten zum Expandieren bzw. Komprimieren von wenigstens dem genannten Teil der Audiodaten angewendet wird.
  15. Verfahren nach Anspruch 14, wobei die Frequenzbereich-Zeitskalierung Folgendes beinhaltet: – Fourier-Transformieren von überlappenden, in Fenster eingeteilten Teilen (7174) von wenigstens einem Teil der empfangenen, gerade im Jitterpuffer (116; 126; 136) enthaltenen Audiodaten; – Zeitskala-Modifizieren der Fourier-transformierten Audiodaten jedes Fensters (7174) gemäß einem benötigten Betrag an Vergrößerung oder Verkleinerung des Jitterpuffers; und – Inverses Fourier-Transformieren der Fourier-transformierten und Zeitskala-modifizierten Audiodaten jedes Fensters (7174).
  16. Verfahren nach Anspruch 14 oder 15, wobei die Frequenzbereich-Zeitskalierung Phasen-Vocoder basiert ist.
  17. Verfahren nach einem der Ansprüche 1 bis 2, wobei die im Jitterpuffer (136) gepufferten Audiodaten parametrische codierte Audiodaten sind.
  18. Verfahren nach Anspruch 17, wobei zum Vergrößern des Jitterpuffers zusätzliche Daten mit Hilfe eines Bad-Frame-Handlers (136) erzeugt werden.
  19. Verfahren nach Anspruch 17 oder 18, wobei zum Verkleinern des Jitterpuffers die Audiodaten im Jitterpuffer durch Verwerfen von wenigstens einem Frame im Jitterpuffer (136) kondensiert werden.
  20. Verfahren nach Anspruch 19, wobei Verstärkungsparameter und LPC-(Linear Predictive Coding)-Koeffizienten der Frames um den wenigstens einen verworfenen Frame herum so modifiziert werden, dass sie die Frames um den wenigstens einen verworfenen Frame herum glatt verbinden.
  21. Verfahren nach Anspruch 17, wobei zum Vergrößern des Jitterpuffers zusätzliche Audiodaten aus benachbarten Daten interpoliert werden.
  22. Verfahren nach Anspruch 17, wobei zum Verkleinern des Jitterpuffers ausgewählte benachbarte oder beabstandete Audiodaten zu reduzierten Audiodaten interpoliert werden.
  23. Kommunikationssystem, das ein Paketnetz (113; 123; 133) und wenigstens ein mögliches Empfangsende umfasst, wobei das Empfangsende Folgendes beinhaltet: – einen Jitterpuffer (116; 126; 136) zum Puffern von empfangenen Paketen, die Audiodaten enthalten; und – Verarbeitungsmittel zum Kompensieren variierender Verzögerungen von empfangenen Paketen, die in dem genannten Jitter-Puffer (116; 126; 136) gepuffert werden; dadurch gekennzeichnet, dass das Empfangsende ferner Folgendes beinhaltet: – Verarbeitungsmittel zum Ermitteln, ob der genannte Jitterpuffer (116; 126; 136) vergrößert oder verkleinert werden sollte, auf der Basis der aktuellen Gesamtverzögerung und der aktuellen Verzögerungsvariation zwischen den unterschiedlichen Paketen; und – Verarbeitungsmittel (116; 126; 136) zum Verändern der aktuellen Größe des genannten Jitterpuffers (116; 126; 136) mit dem Verfahren nach einem der Ansprüche 1 bis 22.
  24. Kommunikationssystem nach Anspruch 23, wobei das Empfangsende ferner einen Bad-Frame-Handler (115; 126; 136) zum Kompensieren von Paketen beinhaltet, die bei der Übertragung zum genannten Empfangsende verloren gegangen sind, wobei der Bad-Frame-Handler (115; 126; 136) darüber hinaus zum Erzeugen zusätzlicher Daten zum Vergrößern des Jitterpuffers durch das Verarbeitungsmittel zum Verändern der aktuellen Größe des genannten Jitterpuffers (116; 126; 136) verwendet wird.
  25. Verarbeitungsmittel (116; 126; 136) für ein Empfangsende eines Kommunikationssystems mit einem Paketnetz (113; 123; 133), dadurch gekennzeichnet, dass die genannten Verarbeitungsmittel (116; 126; 136) zum Verändern der aktuellen Größe eines Jitterpuffers (116; 126; 136) mit dem Verfahren nach einem der Ansprüche 1 bis 22 ausgelegt sind.
  26. Empfangsende für ein Kommunikationssystem mit einem Paketnetz (113; 123; 133), wobei das Empfangsende Folgendes beinhaltet: – einen Jitterpuffer (116; 126; 136) zum Puffern empfangener Pakete, die Audiodaten enthalten; – Verarbeitungsmittel zum Kompensieren variierender Verzögerungen von empfangenen Paketen, die in dem genannten Jitterpuffer (116; 126; 136) gepuffert werden; – Verarbeitungsmittel zum Ermitteln, ob der genannte Jitterpuffer (116; 126; 136) vergrößert oder verkleinert werden sollte, auf der Basis der aktuellen Gesamtverzögerung und der aktuellen Verzögerungsvariation zwischen den unterschiedlichen Paketen; und – Verarbeitungsmittel (116; 126; 136) nach Anspruch 25.
  27. Empfangsende nach Anspruch 26, das ferner einen Bad-Frame-Handler (126; 136) zum Kompensieren von Paketen beinhaltet, die bei der Übertragung zum genannten Empfangsende verloren gegangen sind, wobei der Bad-Frame-Handler (126; 136) darüber hinaus zum Erzeugen zusätzlicher Daten für eine Vergrößerung des Jitterpuffers durch das Verarbeitungsmittel (126; 136) zum Verändern der aktuellen Größe des genannten Jitterpuffers (126; 136) verwendet wird.
DE60126513T 2001-04-24 2001-04-24 Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder Expired - Lifetime DE60126513T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2001/004608 WO2002087137A2 (en) 2001-04-24 2001-04-24 Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder

Publications (2)

Publication Number Publication Date
DE60126513D1 DE60126513D1 (de) 2007-03-22
DE60126513T2 true DE60126513T2 (de) 2007-11-15

Family

ID=8164382

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60126513T Expired - Lifetime DE60126513T2 (de) 2001-04-24 2001-04-24 Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
DE60137656T Expired - Lifetime DE60137656D1 (de) 2001-04-24 2001-04-24 Verfahren zum ändern der Grösse eines Zitterpuffers und zur Zeitausrichtung, Kommunikationssystem, Empfängerseite und Transcoder

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60137656T Expired - Lifetime DE60137656D1 (de) 2001-04-24 2001-04-24 Verfahren zum ändern der Grösse eines Zitterpuffers und zur Zeitausrichtung, Kommunikationssystem, Empfängerseite und Transcoder

Country Status (7)

Country Link
US (1) US20040120309A1 (de)
EP (2) EP1536582B1 (de)
AT (2) ATE353503T1 (de)
AU (1) AU2001258364A1 (de)
DE (2) DE60126513T2 (de)
ES (2) ES2319433T3 (de)
WO (1) WO2002087137A2 (de)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665317B1 (en) * 1999-10-29 2003-12-16 Array Telecom Corporation Method, system, and computer program product for managing jitter
SE0004839D0 (sv) * 2000-12-22 2000-12-22 Ericsson Telefon Ab L M Method and communication apparatus in a communication system
US7697447B2 (en) * 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
JP2005503057A (ja) * 2001-09-12 2005-01-27 リシウム ネットワークス(ビー.ブイ.アイ.)リミテッド ジッタバッファおよびパケット化遅延の計算方法
US7162418B2 (en) * 2001-11-15 2007-01-09 Microsoft Corporation Presentation-quality buffering process for real-time audio
US7170855B1 (en) * 2002-01-03 2007-01-30 Ning Mo Devices, softwares and methods for selectively discarding indicated ones of voice data packets received in a jitter buffer
US7065485B1 (en) * 2002-01-09 2006-06-20 At&T Corp Enhancing speech intelligibility using variable-rate time-scale modification
US7099820B1 (en) * 2002-02-15 2006-08-29 Cisco Technology, Inc. Method and apparatus for concealing jitter buffer expansion and contraction
US7103006B2 (en) * 2002-05-01 2006-09-05 International Business Machines Corporation Method, system, and article of manufacture for data transmission
US20040064308A1 (en) * 2002-09-30 2004-04-01 Intel Corporation Method and apparatus for speech packet loss recovery
US7525918B2 (en) * 2003-01-21 2009-04-28 Broadcom Corporation Using RTCP statistics for media system control
US7394833B2 (en) * 2003-02-11 2008-07-01 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification
EP1604352A4 (de) * 2003-03-15 2007-12-19 Mindspeed Tech Inc Einfaches rauschunterdrückungsmodell
US7274740B2 (en) 2003-06-25 2007-09-25 Sharp Laboratories Of America, Inc. Wireless video transmission system
CN1297099C (zh) * 2003-06-25 2007-01-24 华为技术有限公司 一种减小附加延时的实时流缓存去抖方法
US7619995B1 (en) 2003-07-18 2009-11-17 Nortel Networks Limited Transcoders and mixers for voice-over-IP conferencing
US7415044B2 (en) 2003-08-22 2008-08-19 Telefonaktiebolaget Lm Ericsson (Publ) Remote synchronization in packet-switched networks
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
CN1320805C (zh) * 2003-09-17 2007-06-06 上海贝尔阿尔卡特股份有限公司 一种分组交换网络自适应抖动缓冲区调整方法
US9325998B2 (en) 2003-09-30 2016-04-26 Sharp Laboratories Of America, Inc. Wireless video transmission system
ES2338318T3 (es) * 2003-11-11 2010-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Adaptacion de memoria temporal de reproduccion basada en la longitud de rafaga de audio.
US20050104873A1 (en) * 2003-11-14 2005-05-19 Mallinath Hatti Last frame repeat
US8018850B2 (en) 2004-02-23 2011-09-13 Sharp Laboratories Of America, Inc. Wireless video transmission system
JP4462996B2 (ja) * 2004-04-27 2010-05-12 富士通株式会社 パケット受信方法及びパケット受信装置
US7424026B2 (en) 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
US7701886B2 (en) * 2004-05-28 2010-04-20 Alcatel-Lucent Usa Inc. Packet loss concealment based on statistical n-gram predictive models for use in voice-over-IP speech transmission
AU2005256062B2 (en) * 2004-06-09 2009-06-11 Vanu, Inc. Reducing cost of cellular backhaul
DE102004041015A1 (de) * 2004-08-24 2006-03-09 Siemens Ag Verfahren zum Umschalten einer Kommunikationsverbindung von einem ersten Verbindungsweg auf einen zweiten Verbindungsweg
CA2691762C (en) * 2004-08-30 2012-04-03 Qualcomm Incorporated Method and apparatus for an adaptive de-jitter buffer
US7418013B2 (en) * 2004-09-22 2008-08-26 Intel Corporation Techniques to synchronize packet rate in voice over packet networks
US7674096B2 (en) * 2004-09-22 2010-03-09 Sundheim Gregroy S Portable, rotary vane vacuum pump with removable oil reservoir cartridge
US7783482B2 (en) * 2004-09-24 2010-08-24 Alcatel-Lucent Usa Inc. Method and apparatus for enhancing voice intelligibility in voice-over-IP network applications with late arriving packets
US8085678B2 (en) 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
SE0402571L (sv) * 2004-10-22 2005-09-27 Cpum Kodning av RFID
US7970020B2 (en) * 2004-10-27 2011-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Terminal having plural playback pointers for jitter buffer
US20060107113A1 (en) * 2004-10-29 2006-05-18 Zhu Xing System and method for facilitating bi-directional test file transfer
US8356327B2 (en) 2004-10-30 2013-01-15 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7784076B2 (en) 2004-10-30 2010-08-24 Sharp Laboratories Of America, Inc. Sender-side bandwidth estimation for video transmission with receiver packet buffer
US7797723B2 (en) 2004-10-30 2010-09-14 Sharp Laboratories Of America, Inc. Packet scheduling for video transmission with sender queue control
CN1328891C (zh) * 2004-11-09 2007-07-25 北京中星微电子有限公司 一种ip网络环境下的语义完整性保障的方法
CN100341267C (zh) * 2004-12-02 2007-10-03 华为技术有限公司 混合打包时长的实时数据流去抖的实现方法
SE528248C2 (sv) * 2004-12-08 2006-10-03 Ericsson Telefon Ab L M Metod för kompensering av fördröjningar
JP2006189937A (ja) * 2004-12-28 2006-07-20 Toshiba Corp 受信装置、送受信装置、受信方法及び送受信方法
US7830862B2 (en) * 2005-01-07 2010-11-09 At&T Intellectual Property Ii, L.P. System and method for modifying speech playout to compensate for transmission delay jitter in a voice over internet protocol (VoIP) network
US20060187970A1 (en) * 2005-02-22 2006-08-24 Minkyu Lee Method and apparatus for handling network jitter in a Voice-over IP communications network using a virtual jitter buffer and time scale modification
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
JP2006262417A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd 通信速度制御方法及びその装置
US20060251130A1 (en) * 2005-04-11 2006-11-09 Greer Steven C Method and apparatus for dynamic time-warping of speech
US8411662B1 (en) 2005-10-04 2013-04-02 Pico Mobile Networks, Inc. Beacon based proximity services
US9544602B2 (en) 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
TWI305101B (en) * 2006-03-10 2009-01-01 Ind Tech Res Inst Method and apparatus for dynamically adjusting playout delay
US7652994B2 (en) 2006-03-31 2010-01-26 Sharp Laboratories Of America, Inc. Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
US8861597B2 (en) 2006-09-18 2014-10-14 Sharp Laboratories Of America, Inc. Distributed channel time allocation for video streaming over wireless networks
US7796626B2 (en) 2006-09-26 2010-09-14 Nokia Corporation Supporting a decoding of frames
US7652993B2 (en) 2006-11-03 2010-01-26 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US8279884B1 (en) * 2006-11-21 2012-10-02 Pico Mobile Networks, Inc. Integrated adaptive jitter buffer
EP2174516B1 (de) * 2007-05-15 2015-12-09 Broadcom Corporation Transportieren von gsm-paketen über ein diskontinuierliches auf ip basierendem netzwerk
CN101325631B (zh) * 2007-06-14 2010-10-20 华为技术有限公司 一种估计基音周期的方法和装置
WO2009047461A1 (fr) * 2007-09-21 2009-04-16 France Telecom Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite
EP2236001B1 (de) * 2008-01-22 2015-04-22 Savox Communications Oy AB (LTD) Verfahren und anordnung zum anschluss eines ad-hoc-kommunikationsnetzes an ein permanentes kommunikationsnetz
US8281369B2 (en) * 2008-03-12 2012-10-02 Avaya Inc. Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls
US8223641B2 (en) * 2008-07-28 2012-07-17 Cellco Partnership Dynamic setting of optimal buffer sizes in IP networks
EP3985666B1 (de) 2009-01-28 2022-08-17 Dolby International AB Verbesserte harmonische transposition
ES2639716T3 (es) * 2009-01-28 2017-10-30 Dolby International Ab Transposición armónica mejorada
US9525710B2 (en) * 2009-01-29 2016-12-20 Avaya Gmbh & Co., Kg Seamless switch over from centralized to decentralized media streaming
US8879464B2 (en) 2009-01-29 2014-11-04 Avaya Inc. System and method for providing a replacement packet
US8238335B2 (en) 2009-02-13 2012-08-07 Avaya Inc. Multi-route transmission of packets within a network
US7936746B2 (en) * 2009-03-18 2011-05-03 Avaya Inc. Multimedia communication session coordination across heterogeneous transport networks
US20100265834A1 (en) * 2009-04-17 2010-10-21 Avaya Inc. Variable latency jitter buffer based upon conversational dynamics
US8094556B2 (en) * 2009-04-27 2012-01-10 Avaya Inc. Dynamic buffering and synchronization of related media streams in packet networks
US8553849B2 (en) * 2009-06-17 2013-10-08 Avaya Inc. Personal identification and interactive device for internet-based text and video communication services
US8800049B2 (en) * 2009-08-26 2014-08-05 Avaya Inc. Licensing and certificate distribution via secondary or divided signaling communication pathway
KR101701759B1 (ko) * 2009-09-18 2017-02-03 돌비 인터네셔널 에이비 입력 신호를 전위시키기 위한 시스템 및 방법, 및 상기 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 저장 매체
US9380401B1 (en) 2010-02-03 2016-06-28 Marvell International Ltd. Signaling schemes allowing discovery of network devices capable of operating in multiple network modes
US8321216B2 (en) * 2010-02-23 2012-11-27 Broadcom Corporation Time-warping of audio signals for packet loss concealment avoiding audible artifacts
US8744367B2 (en) 2010-08-31 2014-06-03 At&T Intellectual Property I, L.P. Tail optimization protocol for cellular radio resource allocation
KR101399604B1 (ko) * 2010-09-30 2014-05-28 한국전자통신연구원 지터버퍼 조정장치, 전자장치 및 그 방법
US8527627B2 (en) 2010-12-14 2013-09-03 At&T Intellectual Property I, L.P. Intelligent mobility application profiling with respect to identified communication bursts
US9220066B2 (en) 2011-06-20 2015-12-22 At&T Intellectual Property I, L.P. Bundling data transfers and employing tail optimization protocol to manage cellular radio resource utilization
US9264872B2 (en) 2011-06-20 2016-02-16 At&T Intellectual Property I, L.P. Controlling traffic transmissions to manage cellular radio resource utilization
CN103325385B (zh) * 2012-03-23 2018-01-26 杜比实验室特许公司 语音通信方法和设备、操作抖动缓冲器的方法和设备
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
PL3321935T3 (pl) 2013-06-21 2019-11-29 Fraunhofer Ges Forschung Przelicznik czasu, dekoder sygnału audio, sposób i program komputerowy wykorzystujący kontrolę jakości
JP6251464B2 (ja) * 2013-06-21 2017-12-20 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. ジッターバッファ制御、オーディオデコーダ、方法およびコンピュータプログラム
US10412779B2 (en) * 2015-09-18 2019-09-10 Whatsapp Inc. Techniques to dynamically configure jitter buffer sizing
US9749178B2 (en) 2015-09-18 2017-08-29 Whatsapp Inc. Techniques to dynamically configure target bitrate for streaming network connections
CN105554019B (zh) * 2016-01-08 2018-07-24 全时云商务服务股份有限公司 一种音频去抖动系统和方法
US10439951B2 (en) 2016-03-17 2019-10-08 Dolby Laboratories Licensing Corporation Jitter buffer apparatus and method
EP3553777B1 (de) * 2018-04-09 2022-07-20 Dolby Laboratories Licensing Corporation Verdecken von paketverlusten mit niedriger komplexität für transcodierte audiosignale
CN109903752B (zh) * 2018-05-28 2021-04-20 华为技术有限公司 对齐语音的方法和装置
US10958301B2 (en) 2018-09-18 2021-03-23 Roku, Inc. Audio synchronization of a dumb speaker and a smart speaker using a spread code
US10931909B2 (en) 2018-09-18 2021-02-23 Roku, Inc. Wireless audio synchronization using a spread code
US10992336B2 (en) 2018-09-18 2021-04-27 Roku, Inc. Identifying audio characteristics of a room using a spread code
EP4104451B1 (de) 2020-03-30 2023-07-05 British Telecommunications public limited company Niedriglatente inhaltsbereitstellung
CN117061827B (zh) * 2023-08-17 2024-06-14 广州开得联软件技术有限公司 图像帧处理方法、装置、设备及存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4076958A (en) * 1976-09-13 1978-02-28 E-Systems, Inc. Signal synthesizer spectrum contour scaler
JPS55111995A (en) * 1979-02-20 1980-08-29 Sharp Kk Method and device for voice synthesis
JPS57159192A (en) * 1981-03-27 1982-10-01 Hitachi Ltd Audio packet exchange system
US4885790A (en) * 1985-03-18 1989-12-05 Massachusetts Institute Of Technology Processing of acoustic waveforms
JP2884163B2 (ja) * 1987-02-20 1999-04-19 富士通株式会社 符号化伝送装置
US5012518A (en) * 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
US5226108A (en) * 1990-09-20 1993-07-06 Digital Voice Systems, Inc. Processing a speech signal with estimated pitch
AU677079B2 (en) * 1993-06-14 1997-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Time alignment of transmission in a down-link of a CDMA system
US5583652A (en) * 1994-04-28 1996-12-10 International Business Machines Corporation Synchronized, variable-speed playback of digitally recorded audio and video
US5825771A (en) * 1994-11-10 1998-10-20 Vocaltec Ltd. Audio transceiver
NZ301168A (en) * 1995-02-28 1998-01-26 Motorola Inc Compression of multiple subchannel voice signals
US5920840A (en) * 1995-02-28 1999-07-06 Motorola, Inc. Communication system and method using a speaker dependent time-scaling technique
US5699481A (en) * 1995-05-18 1997-12-16 Rockwell International Corporation Timing recovery scheme for packet speech in multiplexing environment of voice with data applications
JP3265962B2 (ja) * 1995-12-28 2002-03-18 日本ビクター株式会社 音程変換装置
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
FI109755B (fi) * 1997-11-13 2002-09-30 Nokia Corp Menetelmä matkaviestinjärjestelmän transkooderin ohjaamiseksi sekä matkaviestinjärjestelmä
EP0921666A3 (de) * 1997-12-02 1999-07-14 Nortel Networks Corporation Sprachempfang über eine Paketübertragungseinrichtung
US6301258B1 (en) * 1997-12-04 2001-10-09 At&T Corp. Low-latency buffering for packet telephony
US6452950B1 (en) * 1999-01-14 2002-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive jitter buffering
US6754265B1 (en) * 1999-02-05 2004-06-22 Honeywell International Inc. VOCODER capable modulator/demodulator
US6389032B1 (en) * 1999-02-11 2002-05-14 International Business Machines Corporation Internet voice transmission
US6137734A (en) * 1999-03-30 2000-10-24 Lsi Logic Corporation Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
US7117156B1 (en) * 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US6785230B1 (en) * 1999-05-25 2004-08-31 Matsushita Electric Industrial Co., Ltd. Audio transmission apparatus
US6934759B2 (en) * 1999-05-26 2005-08-23 Enounce, Inc. Method and apparatus for user-time-alignment for broadcast works
US6580694B1 (en) * 1999-08-16 2003-06-17 Intel Corporation Establishing optimal audio latency in streaming applications over a packet-based network
US6859460B1 (en) * 1999-10-22 2005-02-22 Cisco Technology, Inc. System and method for providing multimedia jitter buffer adjustment for packet-switched networks
US6757282B1 (en) * 1999-11-09 2004-06-29 Synchrodyne Networks, Inc. Fast switching of data packet with common time reference
US6683889B1 (en) * 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
GB2360178B (en) * 2000-03-06 2004-04-14 Mitel Corp Sub-packet insertion for packet loss compensation in Voice Over IP networks
US6700895B1 (en) * 2000-03-15 2004-03-02 3Com Corporation Method and system for computationally efficient calculation of frame loss rates over an array of virtual buffers
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
JP2002162998A (ja) * 2000-11-28 2002-06-07 Fujitsu Ltd パケット修復処理を伴なう音声符号化方法
US7006511B2 (en) * 2001-07-17 2006-02-28 Avaya Technology Corp. Dynamic jitter buffering for voice-over-IP and other packet-based communication systems

Also Published As

Publication number Publication date
ES2319433T3 (es) 2009-05-07
ATE422744T1 (de) 2009-02-15
ATE353503T1 (de) 2007-02-15
WO2002087137A3 (en) 2003-03-13
ES2280370T3 (es) 2007-09-16
DE60126513D1 (de) 2007-03-22
EP1536582A2 (de) 2005-06-01
US20040120309A1 (en) 2004-06-24
WO2002087137A2 (en) 2002-10-31
EP1536582B1 (de) 2009-02-11
DE60137656D1 (de) 2009-03-26
AU2001258364A1 (en) 2002-11-05
EP1382143B1 (de) 2007-02-07
EP1536582A3 (de) 2005-06-15
EP1382143A2 (de) 2004-01-21

Similar Documents

Publication Publication Date Title
DE60126513T2 (de) Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
DE60034484T2 (de) Verfahren und vorrichtung in einem kommunikationssystem
DE60214358T2 (de) Zeitskalenmodifikation von signalen mit spezifischem verfahren je nach ermitteltem signaltyp
DE60129327T2 (de) Anordnung und verfahren in bezug auf die vermittlung von sprache
DE69915830T2 (de) Verbesserte verfahren zur rückgewinnung verlorener datenrahmen für ein lpc-basiertes, parametrisches sprachkodierungsystem.
DE60023237T2 (de) Verfahren zur verschleierung von paketverlusten
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE60029147T2 (de) Qualitätsverbesserung eines audiosignals in einem digitalen netzwerk
DE60032797T2 (de) Geräuschunterdrückung
DE69910058T2 (de) Verbesserung der periodizität eines breitbandsignals
AT405346B (de) Verfahren zum herleiten der nachwirkperiode in einem sprachdecodierer bei diskontinuierlicher übertragung, sowie sprachcodierer und sender-empfänger
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69735097T2 (de) Verfahren und vorrichtung zur verbesserung der sprachqualität in tandem-sprachkodierern
US7117156B1 (en) Method and apparatus for performing packet loss or frame erasure concealment
DE60122203T2 (de) Verfahren und system zur erzeugung von behaglichkeitsrauschen bei der sprachkommunikation
DE60128121T2 (de) Wahrnehmungsbezogen verbesserte aufbesserung kodierter akustischer signale
KR100576034B1 (ko) 비트 세이빙 뱅크, 인코더 및 스케일러블 인코더를 제공하여 스케일러블 데이터 스트림을 생성 및/또는 디코딩하는 방법 및 장치
KR100722707B1 (ko) 멀티미디어 신호를 전송하기 위한 전송 시스템
DE60118631T2 (de) Verfahren zum ersetzen verfälschter audiodaten
DE60027177T2 (de) Gerät und verfahren für ein telekommunikationssystem
US6526384B1 (en) Method and device for limiting a stream of audio data with a scaleable bit rate
DE60021049T2 (de) Akustischer Echokompensator unter Verwendung von linearer Prädiktionskodierung
CN112634912B (zh) 丢包补偿方法及装置
EP0865026A2 (de) Effizientes Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen
DE19814633C2 (de) Verfahren zur Verschleierung von Sprachsegmentverlusten bei paketorientierter Übertragung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition