DE60034484T2 - Verfahren und vorrichtung in einem kommunikationssystem - Google Patents

Verfahren und vorrichtung in einem kommunikationssystem Download PDF

Info

Publication number
DE60034484T2
DE60034484T2 DE60034484T DE60034484T DE60034484T2 DE 60034484 T2 DE60034484 T2 DE 60034484T2 DE 60034484 T DE60034484 T DE 60034484T DE 60034484 T DE60034484 T DE 60034484T DE 60034484 T2 DE60034484 T2 DE 60034484T2
Authority
DE
Germany
Prior art keywords
signal
frame
time
frames
expansion
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
DE60034484T
Other languages
English (en)
Other versions
DE60034484D1 (de
Inventor
Patrik SÖRQVIST
Soren Vang Andersen
Bastiaan Willem Kleijn
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.)
Global IP Solutions GIPS AB
Global IP Solutions Inc
Original Assignee
Global IP Sound Europe AB
Global IP Sound Inc
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 Global IP Sound Europe AB, Global IP Sound Inc filed Critical Global IP Sound Europe AB
Application granted granted Critical
Publication of DE60034484D1 publication Critical patent/DE60034484D1/de
Publication of DE60034484T2 publication Critical patent/DE60034484T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die Erfindung betrifft allgemein Systeme zum Übertragen von Ton über Paketvermittlungsnetze und insbesondere den Decodier-/Wiedergabe-Teil von empfangenen Ton-Daten in solchen Systemen.
  • ALLGEMEINER STAND DER TECHNIK
  • In Paketvermittlungsnetzen, wie beispielsweise dem Internet, unterliegt die Ankunftszeit von Datenpaketen einem signifikanten Verzögerungsjitter. Außerdem können Datenpakete bei der Übertragung verloren gehen oder vom Netz absichtlich verworfen werden, um Überlastprobleme zu lösen. Für Datenübertragungen ohne strikte Anforderungen in Bezug auf die Übertragungszeit kann eine fehlerfreie Übertragung mit einem Übertragungsprotokoll hergestellt werden, das mit Quittungsaustausch (handshaking) und Übertragungswiederholung arbeitet.
  • Wenn Tonsignale, wie beispielsweise Sprache oder Audiodaten über ein Paketvermittlungsnetz übertragen werden, werden Signalrahmen, d.h. aufeinander folgende Gruppen von Signalabtastungen (signal samples) zu Datenpaketen codiert, wobei jedes Datenpaket einem oder mehreren Signalrahmen entspricht. In Duplex-Kommunikationssystemen beispielsweise müssen diese Signalrahmen an der Empfängerseite ohne übermäßige Verzögerung wiedergegeben werden. In diesem Fall stellt ein Übertragungsprotokoll mit Handshaking und Übertragungswiederholung meistens keine machbare Lösung dar, um sicherzustellen, dass Signalrahmen für eine durchgehende Wiedergabe verfügbar sind.
  • Des Weiteren stellt ein Verzögerungsjitter für diese Signale eine Quelle von Problemen dar: wenn die Verzögerung eines Datenpakets dazu führt, dass es für eine durchgehende Wiedergabe von aufeinander folgenden Signalrahmen zu spät eintrifft, treten Probleme auf, die denjenigen ähneln, die auftreten, wenn das Datenpaket verloren gegangen ist.
  • Paketübertragung von Sprache ist eine lange Zeit eine wichtige Anwendung für Paketvermittlungsnetze gewesen. Die meisten Lösungen für die Probleme mit Verzögerungsjitter und verlorenen Paketen wurden in Verbindung mit Paketübertragung von Sprache vorgeschlagen. Herkömmlicherweise wird das Jitter-Problem durch den Einsatz eines so genannten Jitterpuffers reduziert. In dem Jitterpuffer werden eingehende Pakete gespeichert und in der richtigen Reihenfolge an den Decodierer und die Wiedergabevorrichtung weitergeleitet. Der Jitterpuffer ist so konfiguriert, dass er einen nützlichen Kompromiss zwischen Wiedergabeverzögerung und der Anzahl von verlorenen/verzögerten Paketen bietet. In dieser Auslegung müssen zwei Probleme gelöst werden:
    • (a) Wie kann der Jitterpuffer kontinuierlich in einem guten Betriebszustand gehalten werden, d.h. wie kann eine kurze Wiedergabeverzögerung bei gleichzeitigem Minimieren der Menge von Paketen, die für die Wiedergabe zu spät empfangen werden, sichergestellt werden?
    • (b) Was ist zu tun, wenn ein Datenpaket verloren geht oder Ober die Verzögerung der Zwischenspeicherung hinaus verzögert wird?
  • Wir nennen das erste Problem (a) das Zeitablaufproblem und bezeichnen Verfahren, die sich mit dem ersten Problem beschäftigen, als Zeitablauf-Wiederherstellungsverfahren. Wir nennen das zweite Problem (b) das Verlustrahmen-Problem und bezeichnen Verfahren, die sich mit dem zweiten Problem beschäftigen, als Verlustrahmen-Substitutionsverfahren. Im Folgenden werden Verfahren des Stands der Technik zum Lösen dieser zwei verschiedenen Probleme beschrieben.
  • Beim Behandeln der Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution in Verbindung mit paketvermittelter Übertragung von Ton nutzt und verfeinert die vorliegende Erfindung bzw. eine ihrer Ausführungsformen ein weiteres Verfahren, das ursprünglich für ein anderes Problem vorgeschlagen wurde: Oszillator-Modellierung zur Zeitskalierung von Sprache. Dieses Verfahren wird im Folgenden zusammengefasst.
  • Die oben genannten bekannten Verfahren verwenden Techniken zum Mischen oder Glätten von Signalsegmenten, um Unterbrechungen im Ton für die Wiedergabe zu ver meiden. Da gleiche oder ähnliche Techniken von der vorliegenden Erfindung verwendet werden, werden im Folgenden Techniken zum Mischen oder Glätten beschrieben.
  • I. Verfahren zur Zeitablauf-Wiederherstellung
  • Ein guter Kompromiss für die Konfiguration des Jitterpuffers ist eine Funktion der Statistik des Verzögerungsjitters. Da der Jitter zeitvariabel ist, wird der Jitterpuffer oft durchgehend während einer Übertragung konfiguriert, z.B. unter Verwendung der ersten ein oder zwei Datenpakete jedes Talk-Spurts oder aus Verzögerungsstatistiken, die aus einem vorherigen Talk-Spurt geschätzt werden.
  • In einem System, das während einer Stummphase (silence) keine Datenpakete überträgt, leert sich der Jitterpuffer als natürliche Konsequenz, und am Beginn jedes neuen Talk-Spurts muss eine ausreichende Pufferungsverzögerung eingeführt werden. Die Einführung eines Paritäts-Bits in jedem Datenpaket und die Änderung seines Werts von einem Talk-Spurt zum nächsten gestatten die unmittelbare Erfassung des Beginns eines Talk-Spurts im Empfänger. Dadurch kann der Start der Wiedergabe dieses Talk-Spurts mit einem Intervall verzögert werden, das als Sperrverzögerung (retention delay) bezeichnet wird. Damit kann der Jitterpuffer aus dem Unterlauf wieder in einen guten Betriebszustand gelangen.
  • Bei einer plötzlichen Erhöhung der Übertragungsverzögerung besteht die Gefahr, dass ein Unterlauf des Jitterpuffers eintritt. Das heißt, im Jitterpuffer sind zum Zeitpunkt der Decodierung keine Datenpakete verfügbar, um den Signalrahmen für eine durchgehende Wiedergabe zu erzeugen. In dieser Situation kann eine wiederholte Wiedergabe des Signalrahmens, der in dem letzten Datenpaket in dem Jitterpuffer codiert ist, es dem Jitterpuffer gestatten, wieder in einen guten Betriebszustand zu gelangen. In Systemen mit Sprachcodierung und -decodierung kann die wiederholte Wiedergabe ausgeführt werden, indem für den Sprach-Decodierer einige Eingangsparameter konstant gehalten werden. In einfacheren Systemen bedeutet die wiederholte Wiedergabe eine einfache Wiederholung des Signalrahmens. US 5 699 481 offenbart ein leicht verbessertes Verfahren, bei dem das Signal in Einheiten mit konstanter Länge wiederholt wird, wobei die Länge in der Systemauslegung voreingestellt wird.
  • In Systemen zur Sprachübertragung, die Anregungsrahmen (excitation frames) übertragen, die in einen linearen prädiktiven Codierungs-(LPC) Filter eingegeben werden, kann die Wiederholung oder Löschung von Signalrahmen vorteilhafterweise im Anregungsbereich stattfinden, wie zum Beispiel in US 5 699 481 offenbart. Des Weiteren ist es für sprachspezifische Anwendungen vorteilhaft, Regeln für die Löschung oder Wiederholung von Signalrahmen von einer Klassifizierung der nicht-stummen Signalrahmen als gesprochen (voiced) oder nicht gesprochen (unvoiced) unabhängig sein zu lassen. Da eine Wiederholung oder Löschung von untergeordneten Rahmen mit fester Länge zu einer ernsten Verschlechterung der gesprochenen Sprache führen kann, führt die Implementierung in US 5 699 481 eine Modifizierung nur von nicht gesprochenen und stummen Sprachrahmen durch.
  • Zusätzlich zu dem Verzögerungsjitter in der Übertragung können auch Differenzen zwischen Takten in den Sende- und Empfangseinrichtungen einen Unter- oder Überlauf des Puffers verursachen. Dieses Problem wird durch die vorliegende Erfindung, aber auch durch den bisherigen Stand der Technik gelöst. Die vorliegende Erfindung bietet jedoch eine bessere Qualität des sich daraus ergebenden wiedergegebenen Tonsignals.
  • II. Verlustrahmen-Substitutionsverfahren
  • Es wurden Verfahren entwickelt für die Situation, in der Datenpakete verloren gehen, was bedeutet, dass sie entweder vom Netz verworfen wurden oder den Empfänger später als für die durchgehende Wiedergabe des entsprechenden Signalrahmens erforderlich erreichten, obwohl sich ein Jitterpuffer in einem guten Betriebszustand befindet. Die für diese Situation verwendeten Verfahren können im Allgemeinen als Möglichkeiten gekennzeichnet werden, den verlorenen Signalrahmen durch eine Schätzung dieses Signalrahmens an Hand von vorgegebenen Signalrahmen früher und in einigen Fallen später in dem Signal zu substituieren. Das einfachste dieser Verfahren ist eine direkte Wiederholung des vorhergehenden Signalrahmens.
  • Ein fortschrittlicheres Verfahren ist ein Verfahren, das einen linearen langfristigen Prädiktor, d.h. einen Abstands-Prädiktor (pitch predictor) auf den vorhergehenden Signal rahmen, schätzt und eine langfristige Prädikation mit der gleichen Länge wie ein Signalrahmen die Schätzung des verlorenen Signalrahmens bilden lässt.
  • Ein drittes Verfahren umfasst einen Zielabgleich mit den L letzten Abtastungen des letzten Signalrahmens, der das Zielsegment ist, wobei L eine ganze Zahl ist. Das Verfahren sucht dann an einem früheren Zeitpunkt in dem Signal nach dem L-Abtastsegment, das diesem Ziel am besten entspricht, und lässt die Rahmensubstitution Abtastungen sein, die nach diesem (eventuell skalierten) L-Abtastsegment folgen, um den gleichen summierten/quadrierten Wert wie der letzte Signalrahmen zu ergeben. Da für eine vollständige Rahmensubstitution die gleiche Anzahl von Abtastungen als die Rahmenlänge geschätzt werden muss, berücksichtigen einige Verfahren den Abgleich von quadratischen Fehlern der Ziels nur mit L-Abtastsegmenten, die in dem Signal um wenigstens eine Rahmenlänge zurück liegen, d.h. Segmente in dem zweiten bis letzten Signalrahmen und noch weiter.
  • Der L-Abtastungs-Zielabgleich kann auf Kosten einer zusätzlichen Verzögerung auch für die Schätzung des verlorenen Signalrahmens aus späteren Signalrahmen in dem Signal verwendet werden. Eine verfeinerte Schätzung für den verlorenen Signalrahmen kann sich dann als eine glatte Interpolation zwischen der Schätzung aus vorhergehenden Signalrahmen und der Schätzung aus späteren Signalrahmen ergeben.
  • Beispiele der oben beschriebenen Verfahren sind in "The Effect of Waveform Substitution an the Quality of PCM Packet Communications", O.J. Wasem und andere; IEEE Trans. Signal Proc., Band SP-36, Nr. 3, S. 432–448, 1988 beschrieben.
  • III. Oszillator-Modell für Zeitskalierung von Sprache
  • In "Time-Scale Modification of Speech Based an a Nonlinear Oscillator Model", G. Kubin und W.B. Kleijn, in Proc. Int. Conf. Acoust. Speech Sign. Process., (Adelaide), S. 1453–1456, 1994, das hiermit per Verweis integriert wird, wird ein Oszillator-Modell zur Zeitskalierung vorgeschlagen. In dem Oszillator-Modell sind kurze Segmente mit fester Lange eines Signals mit einem Zustandsvektor von Abtastungen mit festen positiven Verzögerungen in Bezug auf die erste Abtastung in dem Segment verknüpft. Das Oszillator lator-Modell definiert ein Codebuch mit kurzen Signalsegmenten. Mit jedem Signalsegment in diesem Codebuch ist ein Zustandsvektor verbunden.
  • Wenn das Codebuch des Oszillator-Modells für ein finites Signal, das als die Verkettung von kurzen Segmenten definiert ist, alle diese kurzen Segmente und ihre entsprechenden Zustandsvektoren enthält, dann kann das Oszillator-Modell beginnend mit dem Zustand des ersten kurzen Signalsegments für jedes fehlerlose Realwelt-Signal das ursprüngliche Signalsegment durch ein wiederholtes Auslesen eines nächsten kurzen Signalsegments erneut generieren.
  • Für ein Signal von infiniter Länge kann das Oszillator-Modell das ursprüngliche fehlerlose Signal aus dem Zustand des ersten kurzen Segments erneut generieren. Dies wird erreicht, indem das Codebuch periodisch so aktualisiert wird, dass es finiten untergeordneten Signalen entspricht. Die Zeitskalierung folgt, wenn ohne Veränderung der Größe oder des Inhalts des Codebuchs die Aktualisierungsfrequenz für das Codebuch geändert wird. Eine schnellere Aktualisierungsfrequenz führt zu einer Zeitskalierung, die kleiner als Eins ist, und eine langsamere Aktualisierung zu einer Zeitskalierung, die größer als Eins ist. Dies war die Anwendung des Oszillator-Modells, die in dem Artikel vorgeschlagen wurde, auf den vorher verwiesen worden ist.
  • IV. Mischen und Glätten
  • Um die Übergänge von einem Signalrahmen zu dem substituierten Rahmen und von dem substituierten Rahmen zu dem folgenden Signalrahmen zu verbessern, offenbart der Artikel von O.J. Wasem und anderen, auf den oben verwiesen wurde, die Verwendung einer glatten Interpolation zwischen zwei Signalen in einem kurzen, aber festen (z.B. 8 Abtastungen) Übergangsbereich.
  • In dem Artikel "Time-Scale Modification of Speech Based an a Nonlinear Oscillator Model", auf den oben verwiesen wurde, schlagen die Autoren den Einsatz von linearer prädiktiver Glättung vor, um ähnliche Übergangsbereiche zu reduzieren. In diesem Kontext wird eine lineare prädiktive Glättung wie folgt erreicht: die Schätzung der Signalfortsetzung wird durch einen LPC-Analysefilter gefiltert, um ein Restsignal zu ergeben. Der Analysefilter wird mit einem Filterzustand initialisiert, der aus dem Zustands-Codebuch des Oszillator-Modells erhalten wird. Eine verfeinerte Schätzung der Signalfortsetzung wird durch LPC-Synthese-Filtern des Restsignals erhalten, wobei der Synthesefilter mit einem Zustand initialisiert wird, der aus den letzten Abtastungen in dem Signal vor der Fortsetzung besteht.
  • Im Glättungskontext kann beobachtet werden, dass die sprachspezifische Zeitablauf-Wiederherstellung, die in US 5 699, 481 offenbart ist und die Wiederholung oder Löschung von untergeordneten Signalrahmen mit einer festen Länge in dem Anregungsbereich eines CELP-(Code Excited Linear Prediction) Codierers vornimmt, die lineare prädiktive Glättung einsetzt, um Übergänge zwischen untergeordneten Signalrahmen zu verbessern.
  • Somit bestehen die Verfahren des Stands der Technik zur Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution kurz gesagt aus:
    Verfahren ausschließlich zur Wiederherstellung des Zeitablaufs, mit denen der Zeitablauf durch Wiederholung oder Löschung von Signalrahmen oder untergeordneten Rahmen, die eine feste, vorbestimmte Anzahl von Abtastungen lang sind, modifiziert wird. Die lineare prädiktive Glättung wird eingeführt als Ergebnis der Verarbeitung in dem Anregungsbereich eines CELP-Codierers. In diesen Verfahren wird keine Signalanpassung oder Schätzungsoptimierung, wie beispielsweise ein Zielabgleich oder eine Korrelationsmaximierung vorgenommen.
  • Verfahren ausschließlich zur Substitution von verlorenen Rahmen, die verlorene Signalrahmen mit Schätzungen substituiert, die in der Länge gleich sind. Diese Verfahren ändern den Zeitablauf nicht. Sie verwenden Signalanpassung oder Schätzungsoptimierung, wie beispielsweise Vektorabgleich oder Korrelationsmaximierung sowie Mischen durch Überlappen/Addieren.
  • US 5,907,822 betrifft ein Verfahren und eine Vorrichtung, die verlorene Signalpakete kompensieren, um die Qualität der Signalübertragung über drahtlose Telekommunikationssysteme und Paketvermittlungsnetze zu verbessern. Gemäß der Offenbarung werden ein Verfahren und eine Vorrichtung zum Extrapolieren von früheren Signalhistorie- Daten zum Einfügen in fehlende Datensegmente bereitgestellt, um digitale Sprachrahmenfehler zu verbergen.
  • EP 459 358 offenbart einen Sprach-Decodierer, der eine Fehlerkorrektur-Decodierschaltung, eine Interpolationsschaltung und eine Sprachwiedergabeschaltung umfasst. Wenn die Fehlerkorrektur-Decodierschaltung einen Übertragungsfehler erfasst, der nicht korrigiert werden kann, interpoliert die Interpolationsschaltung zwischen Parameter von früheren und künftigen korrekten Rahmen, wobei Parameter aus einem aktuellen Rahmen wiederhergestellt werden. Die Sprachwiedergabeschaltung gibt ein Sprachsignal auf der Basis der interpolierten Parameter wieder.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung ist es, eine kontinuierliche Wiedergabe von Signalabtastungen an einem Empfängerende zu ermöglichen, wenn ein digitalisiertes Tonsignal in der Form von Datenpaketen von einem Paketvermittlungsnetz empfangen wird.
  • Eine weitere Aufgabe ist es, eine bessere Qualität, wie sie von einem Zuhörer interpretiert wird, der Wiedergabe des digitalisierten Tonsignals, das als Datenpakete empfangen wird, im Vergleich mit der Qualität einer solchen Wiedergabe bereitzustellen, die mit den gegenwärtig bekannten Techniken erreicht wird.
  • Gemäß der vorliegenden Erfindung werden die Aufgaben durch ein Verfahren, die Verwendung eines Oszillator-Modells, eine Programm-Speichervorrichtung und eine Anordnung erfüllt, die alle verschiedene Gesichtspunkte der vorliegenden Erfindung sind und die Merkmale aufweisen, wie sie in den Ansprüchen im Anhang definiert sind.
  • Die vorliegende Erfindung basiert auf dem Konzept des Durchführens von Zeitexpansionen und/oder Zeitkompressionen von Signalrahmen statt auf der Durchführung von Wiederholungen oder Löschungen von vollständigen Signalrahmen oder von Einheiten von Signalrahmen mit einer vordefinierten Länge. Das bedeutet, dass, wenn ein Bedarf vorhanden ist, einen Teil des Signals zu wiederholen, die Länge des wiederholten Signalteils kleiner oder größer als ein Signalrahmen gemacht werden kann. Wenn ein Bedarf vorhanden ist, einen Teil des Signals zu löschen, kann die Länge des gelöschten Signalteils dementsprechend kleiner als ein Signalrahmen gemacht werden. Außerdem variiert die Zeitdauer des wiederholten oder gelöschten Signalteils mit der Zeit, d.h. die Erfindung stellt eine zeitlich variierende Länge der Zeitexpansionen oder Zeitkompressionen bereit. Demzufolge variieren die Intervalle, mit denen Zeitexpansionen oder Zeitkompressionen durchgeführt werden, mit der Zeit und in Beziehung zu Längen der Zeitexpansionen oder der Zeitkompressionen. Somit werden die Zeitexpansionen und die Zeitkompressionen von Signalrahmen auf einer asynchronen Basis durchgeführt, da die Länge der Expansionen/Kompressionen und die Länge zwischen verschiedenen Expansionen/Kompressionen mit der Zeit variieren.
  • Gemäß einer Ausführungsform der Erfindung sind die Längen der Zeitexpansionen oder Zeitkompressionen Ergebnisse von Signalanpassung, wie beispielsweise Vektorabgleich oder Korrelationsmaximierung, auf dem Signal. Als Ergebnis dessen ändern sich die Zeitintervalle, in denen Zeitexpansionen oder Zeitkompressionen durchgeführt werden, typischerweise mit der Zeit in Abhängigkeit von den daraus resultierenden Längen der zeitexpandierten oder zeitkomprimierten Signalrahmen.
  • Vorzugsweise wird die Länge einer Zeitexpansion oder einer Zeitkompression mit einer Auflösung einer Abtastung oder einem Bruchteil einer Zeitdauer zwischen zwei aufeinander folgenden Abtastungen definiert. Dies ermöglicht im Allgemeinen sehr kleine oder gar keine Unterbrechungen an der Grenze zwischen einem Signalrahmen und seiner Expansion. Die partielle Auflösung lässt sich erreichen durch erneutes Abtasten des ursprünglichen Signals mit der gleichen Abtastgeschwindigkeit, aber mit neuen Zeit-Instances, und dadurch werden neue Abtastungen erhalten, die relativ zu den Abtastungen des ursprünglichen Signals partiell verzögert sind, d.h. jede Abtastung wird mit einer Zeitdauer verzögert, die geringer ist als die Zeitdauer zwischen zwei aufeinander folgenden ursprünglichen Abtastungen.
  • Es wird bevorzugt, die Entscheidungen, Zeitexpansionen und Zeitkompressionen auszuführen, auf Echtzeit-Beobachtungen und Statistiken aus dem Jitterpuffer zu basieren. Diese Echtzeit-Beobachtungen und Statistiken, die beim Überwachen des Jitterpuffers beobachtet werden, enthalten zum Beispiel die Anzahl der Datenpakete in dem Puffer, die kurz- und langfristigen Abweichungen von Paketen in dem Puffer, und den kurz- und langfristigen Prozentsatz von verlorenen Paketen.
  • Sobald eine Anzahl von aufeinander folgenden Signalrahmen am Decodierer verfügbar ist, wo die Anzahl von Rahmen zeitabhängig ist, und basierend auf der Echtzeit-Statistik aus dem Jitterpuffer wird vorzugsweise eine Kompression von zwei oder mehr Rahmen versucht. Dies kann oder kann nicht zu einem komprimierten Signalrahmen führen, der kürzer als die Summe der Längen der für die Kompression eingegebenen Signalrahmen ist. Die Längendifferenz kann eine partielle Anzahl von Abtastungen sein und ist von der Signalanpassung der tatsächlichen Signalrahmen abhängig. Wenn durch die Signalanpassung kein komprimierter Signalrahmen mit glatten Übergängen produziert werden kann, wie durch einen Schwellenwert in z.B. einem Korrelationsmaß oder einem Vektorabgleich definiert, bleiben die Signalrahmen unverändert. Dieser Schwellenwert wird vorteilhafterweise mit der Zeit angeglichen, um ein weniger kritisches Kriterium für die Kompression zu berücksichtigen, je näher der Jitterpuffer am Überlaufen ist. Des Weiteren kann der Schwellenwert in Abhängigkeit von einer Klassifizierung der Signalrahmen variieren. Für Sprache wären die Signalklassen mit verschiedenen Schwellenwerten für die Kompression typischerweise: gesprochen, nicht gesprochen, Übergang und stumm. Diese Einstellung gestattet, dass einige Signalklassen nur dann komprimiert werden, wenn der Jitterpuffer sehr nahe am Überlaufen ist, wogegen andere Signalklassen sogar unter normalen Betriebsbedingungen für den Jitterpuffer komprimiert werden, was zu einer Reduzierung der Wiedergabeverzögerung führt.
  • Es wird bevorzugt, die Rahmenexpansion in jeder der folgenden Situationen aufzurufen: Unterlauf des Jitterpuffers, Beinahe-Unterlauf des Jitterpuffers, zu spätes Eintreffen von Datenpaketen in dem Jitterpuffer und verlorenes Datenpaket. Beim Aufrufen der Rahmenexpansion muss keine explizite Entscheidung Ober die auftretende Situation getroffen werden. Die Expansion ist iterativ wie folgt. Bei jeder Iteration wird der Signalrahmen mit einer signalabhängigen und möglicherweise partiell richtigen Anzahl von Abtastungen expandiert. Diese Abtastungen sind eine manchmal verstärkungsskalierte Version des nacheilenden Teils des letzten Rahmens. Zum Ende der Wiedergabe dieser expandierten Abtastungen hin, wo die Zeit von der Decodierer-Verarbeitungszeit abhängig ist, wird der Jitterpuffer geprüft, um herauszufinden, ob gute Betriebsbedingungen wieder hergestellt worden sind, d.h. ob der Jitterpuffer sich nicht mehr im Unterlauf befindet, oder ob ein verspätetes Datenpaket eingetroffen ist.
  • Wenn gute Betriebsbedingungen wiederhergestellt worden sind, kann die Wiedergabe ohne Unterbrechung an der Grenze zwischen dem expandierten Signalrahmen und dem nächsten Signalrahmen fortgesetzt werden. Dies gilt, da jede Iteration der Rahmenexpansion eine manchmal verstärkungsskalierte Version des nacheilenden Teils des letzten expandierten Rahmens produziert; von da aus kann ein Übergang zum nächsten Signalrahmen immer ohne Unterbrechungen mit Hilfe einer glatten Verstärkungsskalierung (smooth gain scaling) des nächsten Signalrahmens erfolgen.
  • Anderenfalls, wenn das verspätete Datenpaket immer noch nicht am Jitterpuffer angekommen ist, und wenn irgendein Datenpaket, das nach dem letzten Datenpaket folgt, an dem Jitterpuffer angekommen ist, wobei der Signalrahmen dem verspäteten und abwesenden entspricht, kann das Datenpaket als verloren erklärt werden. Die Rahmenexpansion, die an diesem Punkt bereits teilweise wiedergegeben worden ist, ist in dieser Situation tatsächlich eine Substitution eines verlorenen Rahmens.
  • Die Substitution für einen verlorenen Signalrahmen ist für den ersten Teil gleich einer Zeitexpansion des vorherigen Signalrahmens: eine Verlustrahmen-Situation wird nicht von einem Puffer-Unterlauf, einem Beinahe-Unterlauf des Puffer oder einer Situation eines verspäteten Pakets unterschieden, bis eine vordefinierte Anzahl von Signalrahmen, z.B. eine, die zur Zukunft des Signals in Bezug auf den aktuell wiedergegebenen Rahmen gehört, am Empfänger verfügbar ist. Die Länge eines Substitutionsrahmens ist nicht auf die Länge der Signalrahmen in dem Übertragungssystem fixiert. Stattdessen wird die Länge des Substitutionsrahmens so gewählt, dass ein glatter Übergang zu einem folgenden Rahmen erfolgen kann. Diese Wahl basiert auf der Signalanpassung, wie beispielsweise Vektorabgleich oder Korrelationsmaximierung, das Ergebnis kann eine Länge des Substitutionsrahmens sein, der mit einer Genauigkeit eines Bruchteils einer Abtastung spezifiziert ist.
  • In der Substitution eines verlorenen Rahmens kann nicht nur der vorherige Rahmen expandiert werden, sondern auch der nächste Rahmen kann vor dem Mischen der zwei Rahmen expandiert werden.
  • Es sollte angemerkt werden, dass die Rahmensubstitution nicht nur länger, sondern auch kürzer als die Länge eines Signalrahmens des Paketübertragungssystems werden kann, wobei Differenzen in einer Anzahl von Bruchteilen der Verzögerung zwischen zwei aufeinander folgenden Abtastungen spezifiziert werden. Daher beruht diese Rahmen-Substitutionstechnik erfindungsgemäß auf dem Zusammenwirken mit der beschriebenen Zeitablauf-Wiederherstellungstechnik. Des Weiteren wird eine Entscheidung, ob die Verarbeitung auf Grund einer Zeitablauf-Wiederherstellungssituation oder einer Situation eines verlorenen Datenpakets durchgeführt wird, bis zum Ende der tatsächlichen Situation der beiden verzögert, wobei die einleitenden Teile der Verarbeitung, die in den zwei unterschiedlichen Situationen durchgeführt werden, die gleichen sind.
  • Der iterierte Vektorabgleich für die Rahmenexpansion in Übereinstimmung mit der vorliegenden Erfindung kann als eine Anwendung der Oszillator-Modellierung betrachtet werden. Diesbezüglich führt die Erfindung vier neue Konzepte in die Oszillator-Modellierung ein. Jedes dieser Konzepte nimmt eine Verfeinerung der Oszillator-Modellierung vor, und jedes Konzept verbessert die Leistung der kombinierten Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution in Übereinstimmung mit der Erfindung. Des Weiteren kann jedes Konzept getrennt oder in Kombination mit den anderen genutzt werden. Die Konzepte lauten wie folgt:
    • – Zustände des Oszillator-Codebuchs resultieren nicht nur aus ganzzahligen Abtastperioden-Verzögerungen, sondern auch partiellen Verzögerungen, d.h. Verzögerungen mit einer Auflösung eines Bruchteils der Zeit zwischen zwei aufeinander folgenden Abtastungen.
    • – Die Segmente in dem Oszillator-Modell weisen variable Langen auf und bilden ein einleitendes oder nacheilendes Segment des Signals, aus dem das Oszillator-Modell aufgebaut wurde.
    • – Der Vektorabgleich kann vorteilhafterweise einen Verstärkungsskalierungs-Abgleich nutzen.
    • – Eine Periodizität der iterierten Rahmenexpansion wird vermieden, indem das gleiche Segment nur ein Mal für die Expansion eines Rahmens verwendet wird.
  • Das erfinderische Verfahren ist gemäß einer anderen Ausführungsform der Erfindung sowohl mit Mischen als auch prädiktiver Glättung zur Reduzierung von Unterbrechungen kompatibel. Die entsprechende Wahl ist ein Kompromiss zwischen Qualität und rechnerischer Komplexität. Des Weiteren können sowohl Mischen als auch prädiktive Glättung gleichzeitig verwendet werden, z.B. durch Mischen im Anregungsbereich gewisser Codier-/Decodierschemata.
  • In Bezug auf Mischen umfasst die vorliegende Erfindung mehrere verschiedene Ausführungsformen, die jeweils auf unterschiedlichen erfinderischen Konzepten basieren:
    Gemäß einer Ausführungsform wird das zeitlich späteste Segment beim Mischen durch Überlappen/Addieren vorzugsweise mit einer Anzahl oder partiellen Anzahl von Abtastungen zeitlich verschoben, wodurch eine Korrelation oder ein Vektorabgleichs-Kriterium für den überlappenden Teil der zwei Segmente optimiert wird. Alternativ kann Mischen durch Ersetzen des Codebuchs in einem Oszillator-Modell erfolgen. Beide dieser Alternativen zum Mischen beruhen bei der Anwendung in einer Situation einer Substitution eines verlorenen Rahmens auf dem Vorhandensein einer effizienten Zeitablauf-Wiederherstellung, die, wie vorher beschrieben, in dem erfinderischen Verfahren der vorliegenden Erfindung enthalten ist.
  • Gemäß einer anderen Ausführungsform kann das Mischen vorteilhafterweise eine Korrelation oder ein Vektorabgleichs-Kriterium optimieren, wenn das zeitlich späteste Segment mit einer Verstärkung multipliziert wird, wobei die Verstärkung ein freier Parameter in der Optimierung ist. Von da aus kann ein glatter Übergang zurück zur Gleichverstärkung über den restlichen Teil des nacheilenden Segments oder über die folgenden Signalrahmen erhalten werden.
  • Gemäß der vorliegenden Erfindung wirkt das Verfahren zum Manipulieren des Signals auf das decodierte Signal im Zeitbereich als eine nachgeschaltete Verarbeitung, die auf jedes Codier-/Decodiersystem anwendbar ist, oder auf ein Zeitbereichs-Signal ein, das in dem Decodierprozess des Signals eine Zwischenstellung (intermediate) einnimmt und für das angewendete Codier-/Decodierverfahren spezifisch ist. Bei einigen Codierschemata ermöglicht diese Einwirkung auf ein Zeitbereichs-Signal in Zwischenstellung eine Glättung über die Signalrahmen ohne zusätzliche rechnerische Komplexität. Beispiele von Zeitbereichs-Signalen in Zwischenstellung, für die unser Verfahren verwendet werden kann, sind das Anregungssignal in CELP-Codierem oder diejenigen Wellenform-Interpolations- oder Sinus-Codierer, die eine Synthese-Filterung eines Anregungssignals vornehmen. Das Verfahren kann verfeinert werden, indem z.B. sprachspezifische Signalmerkmale verwendet werden, wie beispielsweise Sprechen (voicing), aber der grundlegende Algorithmus wird ohne irgendwelchen quellenspezifischen Annahmen über das Signal entwickelt; es kann eine beliebige Tonquelle sein, zum Beispiel mit Sprache und Audiodaten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Weitere Merkmale und Vorteile der Erfindung gehen ohne Weiteres aus den Ansprüchen im Anhang und der folgenden ausführlichen Beschreibung einer Reihe beispielhafter Ausführungsformen der Erfindung in Verbindung mit den folgenden begleitenden Zeichnungen hervor, in denen gleiche Bezugszeichen für gleiche Merkmale verwendet werden:
  • 1 zeigt eine Übersicht über den sendenden Teil eines Systems zum Übertragen von Ton über ein Paketvermittlungsnetz;
  • 2 zeigt eine Übersicht über den empfangenden Teil eines Systems zum Übertragen von Ton über ein Paketvermittlungsnetz in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das System verwendet eine Kombination aus Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution auf den decodierten Signalrahmen;
  • 3 zeigt eine Übersicht über den empfangenden Teil eines Systems zum Übertragen von Ton über ein Paketvermittlungsnetz in Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Erfindung. Das System verwendet eine Kombination aus Zeitablauf-Wiederherstellung und Verlust rahmen-Substitution auf Zeitbereichs-Signalrahmen, die in der Ton-Decodierung eine Zwischenstellung einnehmen;
  • 4 ist ein Ablaufdiagramm, das den Gesamtablauf des Prozesses für die Kombination aus Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution in Übereinstimmung mit den Ausführungsformen veranschaulicht, auf die von 2 und 3 verwiesen wird;
  • 5 ist ein Ablaufdiagramm des untergeordneten Prozesses für Zeitkompression von Signalrahmen, auf den in 4 als Zeitkompressions-Unterprozess verwiesen wird;
  • 6 ist ein Ablaufdiagramm des untergeordneten Prozesses zum Ausgeben von Signalrahmen mit normaler aufeinander folgender Abfolge, auf den in 4 als so genannter normaler Unterprozess verwiesen wird;
  • 7 ist ein Ablaufdiagramm des untergeordneten Prozesses zum Mischen einer Signalrahmen-Expansion mit einem künftigen, nicht aufeinander folgenden Signalrahmen, auf den in 4 als Misch-Unterprozess verwiesen wird;
  • 8 ist ein Ablaufdiagramm des untergeordneten Prozesses zur Expansion eines Signalrahmens und Ausgabe der erhaltenen Expansion, auf den in 4 als Expansions-Unterprozess verwiesen wird;
  • 9 ist ein Ablaufdiagramm des untergeordneten Prozesses zum Korrigieren der Verstärkungsskalierung von Signalrahmen nach einer Expansion oder nach dem Mischen, auf den in 5 und 6 als Korrektur-Unterprozess der Verstärkungsskalierung verwiesen wird;
  • 10a und 10b sind schematische Darstellungen, die eine beispielhafte Zeitexpansion eines Signalrahmens veranschaulichen;
  • 11a, 11b und 11c sind beispielhafte schematische Darstellungen, die veranschaulichen, wie eine partielle Auflösung erhalten wird; und
  • 12a und 12b sind schematische Darstellungen, die eine beispielhafte Zeitkompression von zwei Signalrahmen veranschaulichen.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 ist ein Blockschaltbild des sendenden Teils eines Systems zum Übertragen von Ton über ein Paketvermittlungsnetz. Der Ton wird von einem Mikrofon 10 aufgenommen, um ein elektrisches Signal 15 zu produzieren, das abgetastet und von einem A/D-Wandler 20 in ein digitales Format quantisiert wird. Die Abtastgeschwindigkeit des Tonsignals ist eine Geschwindigkeit, die der Bandbreite des Signals angemessen ist und beträgt typischerweise 8 oder 16 kHz für Sprachsignale und 32, 44,1 oder 48 kHz für Audiosignale. Die Quantisierungsgenauigkeit der digitalen Darstellung ist eine Genauigkeit, die der gewünschten Qualität der Übertragung angemessen ist und beträgt typischerweise 7 oder 8 Bit einer A- oder μ-Gesetz-Quantisierung, oder 13 oder 16 Bit einer gleichmäßigen Quantisierung. Alternativ weist der A/D-Wandler 20 den Typ einer überabgetasteten Differenz-Quantisierung (oversampled differential quantization) auf. Das abgetastete Signal 25 wird in einen Ton-Codierer 30 eingegeben. Der Ton-Codierer 30 produziert Datenpakete 35 mit fester oder variabler Geschwindigkeit und mit fester oder variabler Größe. Diese Datenpakete enthalten ausreichende Informationen, damit ein angemessener Ton-Decodierer ein Tonsignal wiedergeben kann, das eine Wiedergabe mit ausreichender Qualität des ursprünglichen Tonsignals ist. Der Controller 40 fügt Reihenfolgenbildungs- und Bestimmungsadress-Informationen zu diesen Paketen hinzu, was zu neuen Datenpaketen 45 führt, die für die Übertragung über ein Paketvermittlungsnetz geeignet sind.
  • In 2 und 3 werden zwei verschiedene Ausführungsformen der vorliegenden Erfindung gezeigt. Beide Ausführungsformen zeigen einen empfangenden Teil eines Systems zum Übertragen von Ton über ein Paketvermittlungsnetz. Der Unterschied zwischen den zwei Ausführungsformen von 2 und 3 liegt in der Position des kombinierten Verfahrens zur Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80. In beiden Systemen empfängt ein Controller 50 Datenpakete von dem Paketvermittlungsnetz, entnimmt Adressinformationen und platziert die Datenpakete angemessen in einem Jitterpuffer 60. Der Jitterpuffer 60 ist ein Speichermedium, typischer weise ein RAM, mit einer begrenzten physikalischen Kapazität. Gemäß der Erfindung hält das empfangende System die Anzahl von Datenpaketen in dem Jitterpuffer 60 niedrig, aber ungleich Null, wodurch die Verzögerung in dem System durch Regulieren der Geschwindigkeit, mit der Datenpakete 65 den Jitterpuffer 60 verlassen, reduziert wird. Die Menge von Paketen in dem Jitterpuffer 60 beträgt typischerweise ein bis vier Pakete. Diese Anzahl hängt von der Parametrisierung der Erfindung ab, die später beschrieben wird. Damit ein guter Betrieb für das gesamten System erreicht wird, ist es wichtig, dass die physikalische Kapazität des Jitterpuffers 60 solcherart ist, dass alle eingehenden Datenpakete 65 gespeichert werden können, d.h. dass nie ein Überlauf des zeitgeregelten Systems eintritt. Die Ablauf-Wiederherstellung und Verlustrahmen-Substitution 80 gibt ein regelmäßig abgetastetes Tonsignal 85 typischerweise mit der gleichen Abtastgeschwindigkeit wie das abgetastete Signal 25 in 1 aus, mit Ausnahme der Unterschiede in den Sende- und Empfangstakten.
  • In der in 2 veranschaulichten Ausführungsform decodiert ein Ton-Decodierer 70 Datenpakete 65 in Signalrahmen 75, d.h. feste Längensegmente des decodierten Tonsignals. Diese Signalrahmen 75 werden in die kombinierte Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 eingegeben. Der Ton-Decodierer 70 arbeitet als Übersetzer, über den die Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 auf Daten vom Jitterpuffer 60 in Form eines Signalrahmens 75 zugreifen können. Das heißt, die Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 führen eine Rahmenanforderung 76 vom Ton-Decodierer 70 durch. Dies veranlasst den Ton-Decodierer, eine Paketanforderung 67 von dem Jitterpuffer 60 durchzuführen. Der Jitterpuffer 60 extrahiert ein Datenpaket 65 und sendet es an den Ton-Decodierer 70, der es decodiert und es als Signalrahmen 75 zurückgibt. Die Entscheidung durch die Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80, einen Signalrahmen abzurufen, basiert auf zusätzlichen Pufferzustands-Informationen 66 einer Weise, die später zu beschreiben ist.
  • In der in 3 veranschaulichten Ausführungsform ist der Ton-Decodierer 70 von 2 durch einen partiellen Ton-Decodierer 130 ersetzt worden. Der partielle Ton-Decodierer decodiert die Datenpakete 65 in Signalrahmen 135 eines Zeitbereich-Signals 145 in Zwischenstellung. Diese Signalrahmen 135 sind für den Typ des verwendeten Codier-/Decodier-Systems spezifisch. Typische Beispiele der Signalrahmen 135, die von der Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 empfangen werden, sind das Anregungssignal in CELP-Decodierem oder diejenigen Wellenform-Interpolations- oder Sinus-Codierer, die eine Synthese-Filterung eines Anregungssignals vornehmen. Die Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80, die auf diese Signalrahmen 135 einwirken, können hinsichtlich der Struktur der in 2 gezeigten entsprechen, die auf die Signalrahmen 75 vom Decodierer 70 in 2 einwirkt, doch kann die Auswahl von vorteilhaften untergeordneten Verfahren zur Expansion, zum Mischen und Glätten für die zwei Ausführungsformen unterschiedlich sein. Entsprechend der Beschreibung unter Bezugnahme auf 2 setzt die Ausführungsform von 3 Informationen zur Rahmenanforderung 76, Paketanforderung 67 und zum Pufferzustand 66 ein. Der restliche Teil 150 des Ton-Decodierprozesses ist eine Abbildung von dem Zeitbereichs-Signal 145 in Zwischenstellung auf ein regelmäßig abgetastetes Tonsignal 155, welches mit dem abgetasteten Signal 85 der Ausführungsform verglichen wird, die unter Bezugnahme auf 2 beschrieben wurde. Dieser restliche Teil B 150 schließt den Decodierprozess mit Hilfe der Nebeninformationen 136 ab, die von dem partiellen Ton-Decodierer 130 empfangen wurden, d.h. der anfängliche Teil A des Decodierprozesses.
  • In beiden oben jeweils unter Bezugnahme auf 2 und 3 beschriebenen Ausführungsformen wandelt ein D/A-Wandler 90 jeweils das regelmäßig abgetastete Tonsignal 85 und 155 in ein analoges elektronisches Signal 95 um, das ein Tonwiedergabesystem 100, z.B. einen Lautsprecher, antreibt, einen empfangenen Ton zu erzeugen.
  • Eine Ausführungsform der Entscheidungslogik der Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 wird unter Bezugnahme auf die Ablaufdiagramme von 4, 5, 6, 7, 8 und 9 beschrieben. In der Beschreibung unter der Anmerkung wird NA(C) verwendet, wobei N abhängig vom Kontext eines von Folgendem angibt: eine Anzahl von Signalrahmen; eine Indexzahl eines bestimmten Signalrahmens, eine Anzahl von Expansionen eines Signalrahmens; oder eine Anzahl von Signalabtastungen. Die Interpretation eines spezifischen N wird aus dem Kontext deutlich, in dem das spezifische N erscheint. C bezeichnet den Typ der Klasse des Signalrahmens, für den die Zahl N relevant ist. Der nach N folgende Index (z.B. geschrieben als NA, NB, NC und so weiter) wird nur zum Unterscheiden verschiedener Ns voneinander verwendet, da das N in einem Kontext nicht das gleiche N wie in einem anderen Kontext ist, d.h. zum Beispiel stehen NA und NB nicht in Beziehung zueinander.
  • In 4 wird ein Gesamt-Ablaufdiagramm der Entscheidungslogik in der Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 von 2 und 3 gezeigt. Wie in dem Ablaufdiagramm gezeigt, ist die Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution eine Iteration über einen Signalrahmen mit dem Index I. Die Iteration wird gestartet, 180, nachdem eine voreingestellte oder adaptive Anzahl von Rahmen in dem Jitterpuffer zum Beginn einer Kommunikation oder eines Talk-Spurts verfügbar sind. Der Rahmen(I) wird zunächst in eine Klasse C aus einer Reihe von Klassen klassifiziert, 200. Die Klasse C beeinflusst das Verhalten des restlichen Teils des Verfahrens in Bezug auf den Signalrahmen. Die vorteilhafte Wahl von möglichen Klassen hängt von der Natur des Tonsignals ab. Für Sprachsignale ist eine Klassifizierung in stumme, nicht gesprochene und gesprochene Signalrahmen von Vorteil. Oft kann diese Klassifizierung direkt aus dem Datenpaket, d.h. dem codierten Signalrahmen, auf eine Weise extrahiert werden, die dem Fachmann bekannt ist. Falls gewünscht, können Annahmen über das Tonsignal vermieden werden, indem zugelassen wird, dass alle Signalrahmen zu einer einzigen Klasse gehören, d.h. der Block 200 wird ausgelassen. Wenn dann in Block 210 eine Klasse und zeitabhängige Anzahl von aufeinander folgenden Rahmen, bei einfacher Implementierung zwei Rahmen (NA(C) = 1), an dem Empfänger sind, wird der Zeitkompressions-Unterprozess 240 eingegeben. Die Zeitabhängigkeit basiert auf der Echtzeit-Statistik aus dem Jitterpuffer. Anderenfalls wird in Block 220 geprüft, ob wenigstens der aktuelle Rahmen, Rahmen(I), an dem Empfänger ist. Wenn dies der Fall ist, wird der normale Unterprozess 250 eingegeben. Ist dies nicht der Fall, befindet sich entweder der Jitterpuffer im Unterlauf, das Paket hat sich verspätet, oder es ist verloren gegangen. Zu Beginn sollte der Rahmen(I) einige Male expandiert werden, um dem Rahmen(I) mehr Möglichkeiten zu geben, in Erscheinung zu treten, wobei jede Expansion in Block 270 durchgeführt wird. Nach jeder Expansion wird ebenfalls in Block 270 geprüft, ob der Rahmen(I) angekommen ist, in welchem Fall er wiedergegeben wird, anderenfalls wird in Block 230 nach NP(C) Expansionen eine Entscheidung getroffen, ob der Rahmen(I) mit irgendeinem künftigen Rahmen gemischt werden soll oder nicht, einschließlich der möglichen Expansion des einleitenden Teils dieses künftigen Rahmens zusätzlich oder als Alternative zum Erweitern von Rahmen(I-1). Das Ergebnis der Misch-Entscheidung führt zum Aufruf entweder des Misch-Unter- Prozesses 260 oder des Expansions-Unterprozesses 270. Mischen bedeutet, dass der Rahmen(I) als verloren betrachtet worden ist, und der Rahmenindex I wird um eine Zahl erhöht, die davon abhängig ist, welche nächste künftige Rahmen sich an dem Empfänger befunden hat, d.h. der Index I wird einmal oder mehrmals inkrementiert. Von diesem Rahmen aus wird der Prozess wiederholt, und der gesamte Prozessfluss kehrt vom Block 260 zum Block 200 zurück, in dem noch eine weitere Klassifizierung des Rahmens mit dem inkrementierten Index I durchgeführt wird. Alternativ führt eine Expansion im Block 270 zu der Ausgabe einer signalabhängigen Anzahl von Abtastungen am Ende des letzten Rahmens, danach kehrt der gesamte Prozessfluss zum Block 210 zurück, wo geprüft wird, ob irgendwelche Signalrahmen zwischenzeitlich verfügbar geworden sind.
  • 5 ist ein Ablaufdiagramm des untergeordneten Prozesses zur Zeitkompression von Signalrahmen, auf den in 4 als Zeitkompressions-Unterprozess 240 verwiesen wurde. Dieser untergeordnete Prozess versucht in Block 290 eine Zeitkompression für eine Anzahl von Signalrahmen, Rahmen(I) bis Rahmen(I + NB(C)), vorzunehmen, die eine Klasse aufweisen, die vom Schwellenwert t(C) abhängig ist. Wenn die Zeitkompression keiner Schwellenwertbedingung entspricht, führt die Zeitkompression zu einer einfachen Verkettung von Signalrahmen. Die Zeitkompression wird des Weiteren zu einem späteren Zeitpunkt in dieser Spezifikation beschrieben. Der sich daraus ergebende Signalrahmen wird dann im Block 300 hinsichtlich einer Verstärkung glatt korrigiert, die eventuell durch Expansion oder Mischvorgänge auf früheren Rahmen eingeführt worden ist. Anschließend wird der zeitkomprimierte Signalrahmen im Block 310 ausgegeben, worauf der Rahmenindex I im Block 320 aktualisiert wird. Ein Ausgabevorgang impliziert, dass die Entscheidungslogik auf eine Zeitinstanz wartet, die von der Anzahl von ausgegebenen Abtastungen abhängt, aber kleiner ist als die Zeit, die der D/A-Wandler 90 braucht, um diese Abtastungen wiederzugeben. Damit soll eine kontinuierliche Wiedergabe mit Verarbeitungszeiten ungleich Null für den Ton-Decodierer 70 oder 130, 150 und die Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution 80 sichergestellt werden. Der Block 330 gibt an, dass die Entscheidungslogik dann mit einem neuen Rahmen in 4 fortfährt, d.h. der Fluss des untergeordneten Prozesses kehrt zum Block 200 des gesamten Prozessflusses in 4 zurück.
  • 6 ist ein Ablaufdiagramm des untergeordneten Prozesses zum Ausgeben von Signalrahmen mit normaler aufeinander folgender Abfolge, auf den in 4 als so genannter normaler Unterprozess 250 verwiesen wird. Dieser Unterprozess 250 beginnt unter Verwendung des Unterprozesses 350 mit einer glatten Korrektur einer Verstärkung, die eventuell durch Expansions- oder Misch-Vorgänge auf früheren Rahmen eingeführt worden ist. Wenn der normale Unterprozess eingegeben wird, befindet sich der Rahmen(I) immer am Empfänger. Dieser Unterprozess kann durch eine Parameterauswahl eine einfache Ausgabe des Rahmens(I) sein. In einigen Fallen kann es jedoch von Vorteil sein, die Ausgabe von einem zweiten Blick auf den Jitterpuffer abhängig sein zu lassen wie folgt: Im Block 360 werden die Klasse C, die Anzahl NC der auf den Rahmen(I) folgenden Rahmen, die im Jitterpuffer bereit sind, und die Jitterpuffer-Statistik geprüft. Danach wird in Abhängigkeit von den geprüften Parameter im Block 370 die Anzahl ND von Zeitexpansionen bestimmt, die am Rahmen(I) vorzunehmen sind. Dann wird im Block 380 geprüft, ob diese Anzahl ND größer als 0 ist. Wenn sie es nicht ist, wird der Rahmen(I) nicht expandiert, sondern vom Block 410 direkt ausgegeben. Wenn er es ist, wird der Rahmen(I) im Block 390 ND Mal zeitexpandiert, und im Block 400 wird registriert, ob das Ende des Rahmens(I) eine andere Verstärkung als 1 aufweist. Anschließend wird der expandierte Rahmen im Block 410 ausgegeben. Nach Block 410 fährt der Fluss des untergeordneten Prozesses mit Block 420 fort, wobei der Rahmenindex in diesem Block inkrementiert wird. Block 430 gibt an, dass die Entscheidungslogik dann mit einem neuen Rahmen in 4 fortfährt, d.h. der Fluss des untergeordneten Prozesses kehrt zum Block 200 des gesamten Prozessflusses in 4 zurück. Weitere Details zur Expansion wird zu einem späteren Zeitpunkt in der Spezifikation beschrieben.
  • 7 ist ein Ablaufdiagramm des untergeordneten Prozesses zum Mischen einer Signalrahmen-Expansion mit einem künftigen, nicht darauf folgenden Signalrahmen, auf den in 4 als Misch-Unterprozess 260 verwiesen wird. Im Block 450 wird der letzte ausgegebene Rahmen mit I1 indexiert, und dann wird im Block 460 der nächste Rahmen am Empfänger mit I2 indexiert. Dann wird im Block 470 der letzte Rahmen(I1) unter Verwendung des gleichen Expansionsprozesses wie im Block 390 von 6 zeitexpandiert. Alternativ werden sowohl der Rahmen(I1) als auch der Rahmen(I2) unter Verwendung des Expansionsprozesses 390 zeitexpandiert. Der expandierte Rahmen(I1) wird dann im Block 480 mit dem Rahmen(I2) gemischt, wobei der Rahmen(I2) entweder entweder expandiert oder nicht expandiert ist, wie oben angegeben. Weitere Details zum Mischen werden zu einem späteren Zeitpunkt beschrieben. Das Mischen des Rahmens(I1) und des Rahmens(I2) führt zu einem gemischten neuen Rahmen(I2), der eine andere Verstärkung als Eins aufweisen kann. Die Verstärkung des neuen Rahmens(I2) wird dann im Block 500 ausgegeben, worauf der Index I2 im Block 510 inkrementiert wird. Der Block 520 gibt an, dass die Entscheidungslogik dann mit einem neuen Rahmen in 4 fortfährt, d.h. der Fluss des untergeordneten Prozesses kehrt zum Block 200 des gesamten Prozessflusses in 4 zurück.
  • 8 ist ein Ablaufdiagramm des untergeordneten Prozesses zur Expansion eines Signalrahmens und Ausgabe der erhaltenen Expansion, auf den in 4 als Expansions-Unterprozess 270 verwiesen wird. Zuerst wird im Block 540 geprüft, ob auf den ersten Signalrahmen(I) gewartet wird (Expansion, wenn der Index I gleich Eins ist). Wenn I gleich Eins ist, wird eine Anzahl NE von nullwertigen Abtastungen im Block 570 ausgegeben, um einen Signalrahmen ankommen zu lassen. Wenn der Rahmenanzahl-Index I angibt, dass der letzte eine Rahmen angekommen ist, geschieht Folgendes: Der Rahmen(I – 1) wird im Block 550 zeitexpandiert, und dann wird im Block 555 die Verstärkung am Ende des Rahmens(I – 1), wobei die Verstärkung sich von Eins unterscheiden kann, registriert. Im Block 556 wird ein Dämpfungsfenster eingeführt, wenn aufeinander folgende Expansionen des gleichen Rahmens ausgeführt worden sind, wobei der Grund hierfür ist, das Signal nach einiger Zeit stumm zu schalten, wenn keine neuen Signalrahmen mehr von Jitterpuffer 60 empfangen werden können. Dann wird der expandierte Rahmen(I – 1) im Block 560 ausgegeben. Schließlich gibt der Block 580 an, dass die Entscheidungslogik dann mit einer neuen Einsicht in den Jitterpuffer 60 fortfährt, d.h. dass der Fluss des untergeordneten Prozesses dann zum Block 210 des gesamten Prozessflusses in 4 zurückkehrt.
  • 9 ist ein Ablaufdiagramm des untergeordneten Prozesses zum Korrigieren der Verstärkungsskalierung von Signalrahmen nach einer Expansion oder nach dem Mischen, auf den in 5 und 6 als Korrektur-Unterprozess der Verstärkungsskalierung 300 verwiesen wird. Zuerst wird im Block 600 geprüft, ob eine Verstärkung, die sich vom Wert 1,0 unterscheidet, für den Rahmen(I – 1) registriert worden ist. Wenn dies der Fall ist, werden Abtastungen des Rahmens(I) mit einem Faktor multipliziert, wobei der Faktor zum Beginn des Rahmens(I) mit der Verstärkung am Ende des Rah mens(I – 1) gleichgesetzt wird, und wobei der Faktor am Ende des Rahmens(I) mit 1,0 gleichgesetzt wird. Für in Zwischenstellung befindliche Abtastungen des Rahmens(I) wird eine glatte Interpolation zwischen diesen Faktorwerten durchgeführt, d.h. Anfangs- und End-Faktorwerten. Die beschriebene so genannte glatte Verstärkungsskalierung des Rahmens(I) wird im Block 610 durchgeführt. Der untergeordnete Prozess fährt dann mit Block 620 fort. Wenn der Block 600 erfasst, dass für den Rahmen keine von 1,0 verschiedene Verstärkung registriert worden ist, fährt der untergeordnete Prozess direkt mit Block 620 fort. Für lange Signalrahmen, z.B. 16 ms oder mehr, wird der Korrektur-Unterprozess der Verstärkungsskalierung vorteilhafterweise in Übereinstimmung mit der obigen Beschreibung durchgeführt. Für kürzere Signalrahmen kann es jedoch von Vorteil sein, die Verstärkung während einer Zeitspanne von mehr als einem Signalrahmen auf 1,0 zurückzusetzen. Dies kann durch eine modifizierte Glättungsfunktion und durch Modifizieren des Korrektur-Unterprozesses der Verstärkungsskalierung von 9 erreicht werden, damit Abtastungen am Ende des Rahmens(I) ebenfalls mit einem Faktor multipliziert werden, der sich von 1,0 unterscheidet.
  • 10a zeigt eine schematische Darstellung, die einen nacheilenden Teil eines Signalrahmens veranschaulicht, der zeitexpandiert werden soll. Die letzte Anzahl von Abtastungen innerhalb des mit x gekennzeichneten Bereichs des nacheilenden Teils bildet einen Zustand x, den so genannten echten Zustand (true state).
  • Im 10b wird der nacheilende Teil des Rahmens von 10a gezeigt, nachdem die Zeitexpansion durchgeführt worden ist. Der echte Zustand x ist mit den verschiedenen Zuständen in dem zu expandierenden Rahmen abgeglichen worden, und es wurde herausgefunden, dass der Zustand y einen akzeptablen Signalpegel bereitstellt, der mit den Abtastungen des echten Zustands x zusammenpasst. Das mit dem Zustand y verknüpfte Segment, das in 10b als Segment y bezeichnet ist, wurde dann als Expansionssegment für die Zeitexpansion des Rahmens verwendet, d.h. das Expansionssegment des Rahmens ist mit dem Segment y identisch. Des Weiteren wurde das ausgewählte Segment so gewählt, dass es die Abtastungen des echten Zustands x am Ende aufweist. Wenn das Segment y als das Expansionssegment verwendet wird, gibt es demzufolge keine Unterbrechungen in dem Übergang vom Expansionssegment zu dem folgenden Rahmen.
  • 11a11c sind schematische Darstellungen, die das Konzept der partiellen Auflösung veranschaulichen, das von der vorliegenden Erfindung verwendet wird. 11a zeigt einen echten Zustand, für den ein entsprechender Zustand gefunden werden muss, die Signalpegel für die Abtastungen T1–T4 dieses echten Zustands sind auf der y-Achse zu sehen, d.h. 1, 2, 1, 0. Im Folgenden angenommen, dass der beste entsprechende Zustand der in 11b gezeigte Zustand ist. Wenn die Abtastungen T1–T4 des echten Zustands und die Abtastungen M1–M4 des am besten entsprechenden Zustands mit den Signalpegeln ½, 1½, 1½, ½ miteinander verglichen werden, ist die Signalanpassung weit davon entfernt, perfekt zu sein, beispielsweise wenn ein mittlerer quadratischer Fehler als ein Maß bei der Signalanpassung verwendet wird. Jedoch können über die Durchführung einer erneuten Abtastung Zustände mit einer partiellen Verzögerung von ½ erhalten werden. Nach einer solchen erneuten Abtastung führt der Zustand von 11b zu einem Zustand mit einer Abtastfolge, wie in 11c gezeigt, d.h. Abtastungen MF1–MF4 mit den Signalpegeln 1, 2, 1, 0. Somit stellen die Signalanpassung des echten Zustands in 11a und der Zustand in 11c mit einer partiellen Verzögerung von ½ eine perfekte Entsprechung bereit.
  • 12a und 12b sind schematische Darstellungen, die eine beispielhafte Zeitkompression von zwei Signalrahmen veranschaulichen. In 12a sind zwei aufeinander folgende nicht komprimierte Rahmen, Rahmen(1) und Rahmen(2), gezeigt, oder besser gesagt, der nacheilende Teil von Rahmen(1) und der einleitende Teil von Rahmen(2) sind gezeigt. Die Kriterien, auf denen die Entscheidung basiert, die zwei Rahmen zu komprimieren, und anhand derer die Länge der Kompression entschieden wird, ist oben beschrieben worden. 12b zeigt den sich daraus ergebenden komprimierten Rahmen. Wie aus 12a und 12b ersichtlich ist, ist die Länge t1, die den nacheilenden Teil des Rahmens(1) aus der Abtastung "a" und den einleitenden Teil des Rahmens(2) bis zur Abtastung "b" umfasst, auf die Länge t2 zeitkomprimiert worden, d.h. die Länge t2 zwischen der Abtastung "a" und "b" in 12b ist kleiner als die Länge t1 in 12a. Weitere Details der Verarbeitungsschritte, die von dem Gesamtprozess und den oben unter Bezugnahme auf 49 beschriebenen untergeordneten Prozessen durchgeführt werden, sowie Details, die sich auf die in 1012 veranschaulichten schematischen Darstellungen beziehen, werden im Folgenden beschrieben.
  • Gemäß der Erfindung beruht die kombinierte Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution unter anderem auf der Zeitexpansion eines Signalrahmens. Die Zeitexpansion von Signalrahmen wird durch die Entscheidungslogik in den Blöcken 390, 470 und 550 jeweils in 6, 7 und 8 durchgeführt. Die Zeitexpansion wird auch als ein Schritt in der Zeitkompression, die im Block 290 von 5 durchgeführt wird, auf eine Weise benötigt, die zu einem späteren Zeitpunkt ausführlicher spezifiziert wird.
  • Die in diesen Blöcken aufgerufene Zeitexpansion ist im Wesentlichen identisch. Für die Zeitexpansion können wenigstens zwei Verfahren verwendet werden: Expansion eines Signalrahmens unter Verwendung eines modifizierten Oszillator-Modells, und Expansion eines Signalrahmens unter Verwendung von Abstands-Prädiktion. Beiden dieser Verfahren ist gemeinsam, dass sie zu einer Zeitexpansion des Signalrahmens mit einer signalabhängigen Anzahl von Abtastungen führen. Diese Abtastungen sind derart, dass mehrere, vorzugsweise 10 Abtastungen am Ende des expandierten Rahmens mit einem Set von Abtastungen am Ende des nicht expandierten Signalrahmens gleichgesetzt werden, mit Ausnahme eines bekannten Verstärkungsfaktors. Dies ermöglicht das Verfahren der Erfindung mittels der Korrektur der Verstärkungsskalierung für den nächsten Rahmen (Block 300 von 5 und 6), um eine Fortsetzung der Wiedergabe des nächsten Rahmens ohne Unterbrechung sicherzustellen, vorausgesetzt, dass dieser nächste Rahmen an dem Empfänger während der Wiedergabe der Abtastungen auftritt, die zu dem zeitexpandierten Rahmen des aktuell wiedergegebenen Signalrahmens gehören.
  • Zum Zweck der Durchführung einer Zeitexpansion im Kontext der kombinierten Zeitablauf-Wiederherstellung und Verlustrahmen-Substitution in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wird ein neues Oszillator-Modell, das für die vorliegende Erfindung angepasst ist, in Übereinstimmung mit Folgendem definiert:
    Die in dem Oszillator-Codebuch gespeicherten Segmente sind alle nacheilende Segmente des zu expandierenden Signalrahmens. Die Anzahl von Zuständen und Segmenten im Codebuch ist von der Anzahl der verwendeten partiellen Verzögerungswerte abhängig, z.B. 0, ¼, ½, ¾ Abtastung. Für jeden Verzögerungswert wird eine erneute Abtastung vorgenommen. Die ersten (NG – NH) Zustände und ihre entsprechenden Segmente stehen mit der ersten partiellen Verzögerung in Beziehung, die nächsten (NG – NH) Zustände und ihre entsprechenden Segmente stehen mit der nächsten partiellen Verzögerung in Beziehung usw. Der erste Codebucheintrag für eine partielle Verzögerung enthält die NG letzten Abtastungen des entsprechenden erneut abgetasteten Signalsegments, der n'-te Codebucheintrag enthält die NG + (n – 1) letzten Abtastungen des entsprechenden erneut abgetasteten Signalsegments, und der letzte Codebucheintrag speichert die NH letzten Abtastungen des entsprechenden erneut abgetasteten Signalsegments. Für Sprachsignale beträgt NG vorteilhafterweise 20 Abtastungen und NH beträgt vorteilhafterweise 120 Abtastungen. Das Verfahren wird entsprechend verwendet, wenn der einleitende Teil eines Signalrahmens expandiert wird, wobei die in dem Codebuch gespeicherten Segmente einleitende Segmente des Signalrahmens sind.
  • Jedes Segment des Codebuchs ist mit einem Zustand mit einer festen Länge von NI Abtastungen verbunden, wobei jeder Zustand einem Eintrag des Codebuchs entspricht. Der mit dem ersten Segment verbundene Zustand besteht aus den NG + 1 bis NG + NI letzten Abtastungen des Signalrahmens, und im Allgemeinen besteht der Zustand, der mit dem n'-ten Segment verbunden ist, aus den NG + (n – 1) + 1 bis NG + (n – 1) + NI letzten Abtastungen des entsprechenden erneut abgetasteten Signalrahmens. Für Sprachsignale beträgt NI vorteilhafterweise 10.
  • In einer einfachen Implementierung kann die erneute Abtastung auf 0 begrenzt werden. Jedoch können durch die Verwendung eines Neuabtastungsschemas Segmente mit partieller Verzögerung erhalten werden. Um eine Unterbrechung an der Fortsetzung in den nächsten Rahmen zu vermeiden, werden künftige Rahmen partiell mit dem gleichen Bruchteil erneut abgetastet. Zunächst kann es als übermäßige rechnerische Belastung scheinen, eine große Anzahl von künftigen Rahmen als Ergebnis eines einzelnen Expansionsprozesses erneut abzutasten. Wie später erläutert wird, können partielle Verzögerungen jedoch auch in den Zeitkompressions- und Mischprozessen eingesetzt werden. Die rechnerische Last der Verwaltung von partiell verzögerten Abtastspuren (sampling tracks) rechtfertigt sich dann aus der verbesserten Leistung aller drei Operationen, und ein Bruchteil wie beispielsweise 1/2, 1/3 oder 1/4 kann in einigen Anwendungen zu einer Verbesserung der Leistung führen, die die erhöhte rechnerische Komplexität rechtfertigt.
  • Eine Alternative dazu, dass der Oszillator immer das Segment, dessen Zustandsvektor den NI letzten Abtastungen des Signalrahmens am besten entspricht, unter Verwendung eines quadratischen Fehlermaßes wählt, besteht darin, einen freien Verstärkungsfaktor auf die Zustände des Codebuchs anzuwenden, bevor die NI letzten Abtastungen des Signalrahmens mit den Zuständen abgeglichen werden. Wenn nach einer solchen Operation eine Übereinstimmung erzielt wird, wird das Segment mit dem entsprechenden Zustand aus dem Oszillator-Codebuch ausgelesen und mit dieser Verstärkung multipliziert. Wie vorher unter Bezugnahme auf die oben genannten untergeordneten Prozesse beschrieben, wird der Verstärkungsfaktor des zeitexpandierten Teils des Signalrahmens registriert. Vorteilhafterweise werden die oben beschriebenen zwei alternativen Verfahren zum Zustandsabgleich kombiniert, indem das Abgleichverfahren gewählt wird, das den freien Verstärkungsfaktor wählt, sobald dies zu einem Verstärkungsfaktor führt, der kleiner als 1,0 ist, und indem anderenfalls das Abgleichverfahren ohne irgendeine Verwendung eines freien Verstärkungsfaktors, d.h. mit einer fixen Verstärkung von 1,0 verwendet wird.
  • Der Abgleich von Zustandsvektoren des Codebuchs mit den NI letzten Abtastungen des Signalrahmens führt im Allgemeinen nicht zu einer perfekten Übereinstimmung. Daher ist es höchstwahrscheinlich, dass eine Unterbrechung des Signals zwischen den ursprünglichen Signalrahmen und seine Fortsetzung, d.h. seinen zeitexpandierten Teil, eingeführt wird. Wie oben unter Bezugnahme auf Verfahren des Stands der Technik beschrieben, war es bisher bekannt, eine lineare prädiktive Glättung zum Reduzieren dieser Unterbrechung zu verwenden. Gemäß der vorliegenden Erfindung gibt es jedoch eine rechnerisch einfachere Alternative zur linearen prädiktiven Glättung, wie im Folgenden erläutert wird. Der gewählte Zustandsvektor, eventuell mit einem optimierten Verstärkungsfaktor, ist eine enge Approximation an die NI letzten Abtastungen des Signalrahmens, von dem aus die Expansion ohne irgendeine Unterbrechung folgen soll. Indem ein glatter Überlappungs-Additions-Übergang zwischen den NI letzten Abtastungen des Signals und dem entsprechenden Zustandsvektor durchgeführt wird, wird ein Übergang zu dem Expansionssegment ohne Unterbrechung erreicht. Insbesondere in der Ausführungsform von 3 stellt dieses rechnerisch einfachere Verfahren eine vorteilhafte Alternative zur linearen prädiktiven Glättung bereit.
  • Vorzugsweise wird eine Einschränkung auf die Segmentwahl des Oszillators angewendet: bei einer Iteration wird verhindert, dass der Oszillator das gleiche Segment zum Auslesen zweimal in einer Reihe wählt. Der Grund für diese Einschränkung ist, eine Verschlechterung auf Grund einer eingeführten Periodizität des expandierten Signals zu vermeiden. Alternativ kann eine Zeitexpansion mit klassischer Abstands-Prädiktion oder einer Abstands-Prädiktion mit partieller Abstandsverzögerung vorgenommen werden, ohne vom Umfang des Gedankens der vorliegenden Erfindung abzuweichen.
  • Gemäß der Erfindung wird die Verlustrahmen-Substitution durch Mischen eines Expansionssegments mit einem künftigen Signalrahmen abgeschlossen, das im Block 480 von 7 durchgeführt wird. Wenigstens zwei Verfahren können zum Mischen verwendet werden: Mischen durch Überlappen/Addieren mit maximaler Korrelationsanpassung, oder Mischen durch Oszillator-Modellierung. Diesen Verfahren ist gemeinsam, dass sie eine zeitliche Ausrichtung des künftigen Signalrahmens auf das Expansionssegment durchführen, um die Unterbrechung des Übergangs zwischen den beiden zu minimieren. Diese zeitliche Ausrichtung kann eine Auflösung aufweisen, die ein Bruchteil einer Abtastung ist.
  • In der vorliegenden Erfindung besteht ein Überlappungs-Additions-Mischen von zwei Segmenten über m Abtastungen aus Folgendem:
    • – Multiplizieren der nacheilenden m Abtastungen des ersten Segments mit einem glatten Fenster, das mit dem Wert 1,0 beginnt und mit dem Wert 0,1 endet;
    • – Multiplizieren der m einleitenden Segmente des zweiten Segments mit einem glatten Fenster, das als Eins minus das erste Fenster definiert ist; und schließlich
    • – Überlappen der zwei Segmente durch ihre Fensterteile und ihr Addieren.
  • Vorteilhafterweise können der nacheilende und der einleitende Teil eines Hanning-Fensters mit 2m Abtastungen für diesen Zweck verwendet werden.
  • Das Überlappungs-Additions-Mischen verwendet eine maximale Korrelationsanpassung. Die maximale Korrelationsanpassung verändert die Überlappung m und ermöglicht das Multiplizieren eines freien Verstärkungsparameters mit dem zweiten Segment, so dass der mittlere quadratische Fehlerabstand zwischen Abtastungen der zwei überlappenden Segmente vor der Fensterung minimiert wird. Durch die Verwendung des gleichen Neu abtastungsschemas wie während der Expansionsprozedur kann die maximale Korrelationsanpassung sogar für Überlappungen mit partieller Genauigkeit optimiert werden.
  • Die Verwendung eines freien Verstärkungsfaktors in der optimierten Anpassung ist optional. Wenn ein freier Verstärkungsfaktor eingesetzt wird, wird er im Block 490 registriert, um zu ermöglichen, dass der folgende Rahmen einer entsprechenden Verstärkungsskalierungs-Korrektur unterzogen wird.
  • Alternativ wird in einer Ausführungsform der vorliegenden Erfindung Mischen unter Verwendung eines Oszillator-Modells durchgeführt. Dieses Mischen wird auf eine Weise durchgeführt, die der Zeitskalierung weniger als eine entspricht, die in dem oben genannten Artikel von G. Kubin und W.B. Kleijn beschrieben wurde. Wenn ein Oszillator-Modell zum Mischen verwendet wird, ersetzt das Oszillator-Modell das Codebuch, das dem zweiten Signalrahmen entspricht. Das Ergebnis ist ein zustandsangepasster Übergang zwischen Segmenten. Das Oszillator-Modell kann vorteilhafterweise auch mit partiellem Abstand und verstärkungsskalierten Zuständen und Signalsegmenten arbeiten. Das Ersetzen der Überlappung-Addition maximaler Korrelationsanpassung durch das Oszillator-Modell zum Durchführen der Mischprozedur ist eine mögliche Alternative, die nicht vom Umfang des Gedankens der vorliegenden Erfindung abweicht.
  • Gemäß der Erfindung wird die Zeitkompression einer Folge von Signalrahmen iterativ ausgeführt: jede Iteration komprimiert zwei Signalrahmen in einen Signalrahmen mit einer Länge zwischen der Länge des kürzesten der zwei Signalrahmen und der Summe der Länge der zwei Signalrahmen, wobei die sich daraus ergebende Länge vom Erfolg der Kompression abhängt. Die Kompression der zwei Signalrahmen wird unter Verwendung der gleichen Verarbeitungsschritte erhalten wie diejenigen, die beim Durchführen der beschriebenen Misch-Prozedur verwendet werden mit Ausnahme dessen, dass der komprimierte Signalrahmen nur dann einem Mischen unterzogen wird, wenn dieses Mischen einen Schwellenwert erreicht, wobei der Schwellenwert vorzugsweise von der Klassifizierung der Signalrahmen abhängt. Anderenfalls, wenn dieser Schwellenwert nicht erreicht werden kann, führt der Versuch zwei Signalrahmen zu komprimieren zu einem kombinierten Signalrahmen, der einfach die Verkettung der zwei Signalrahmen ist. Die Definition des Schwellenwerts hängt von dem verwendeten Mischverfahren ab. Wenn Oszillator-Modellierung verwendet wird, ist der Schwellenwert ein Maximum des minimierten Fehlers in der Zustandsanpassung. Wenn das Mischen mit Überlappung-Addition maximaler Korrelationsanpassung erreicht wird, ist der Schwellenwert ein Minimum des maximierten Korrelationskoeffizienten.
  • Die maximale Korrelationsanpassung wird in Übereinstimmung mit dem oben Beschriebenen durchgeführt. Vorteilhafterweise kann ein Schwellenwert für den maximierten Korrelationskoeffizienten zwischen 0,7 und 0,9 für gesprochene Sprachsegmente verwendet werden. Für die Wahrnehmung des Sprachsignals ist es von Vorteil, eine Zeitkompression von nicht gesprochenen Segmenten zu vermeiden. In der beschriebenen Struktur kann dies durch einen Schwellenwert für den maximierten Korrelationskoeffizienten Ober Eins für diese Signalrahmen erreicht werden. Signalrahmen, die eine Stummphase enthalten, kann ein Schwellenwert von Null zugewiesen werden. Wenn zwei Signalrahmen mit verschiedenen klassenabhängigen Schwellenwerten zeitkomprimiert werden, ist der Schwellenwert für die Kompression immer der größere der zwei Schwellenwerte.
  • Vorzugsweise wird dieser Schwellenwert geprüft, um eine Maximierung zu vermeiden, wenn bereits vorher feststeht, dass der Schwellenwert nicht erreicht werden kann, aber auch, wenn bereits vorher feststeht, dass der Schwellenwert sogar mit vollständigem Überlappen der Segmente erreicht werden kann.
  • Vorzugsweise wird der Schwellenwert für Kompression verringert, wenn sich der Jitterpuffer einem Überlauf nähert. Dies führt zu einem schnelleren Auslesen aus dem Jitterpuffer.
  • Wie dem Fachmann klar ist, wird das erfinderische Verfahren problemlos unter Verwendung eines Mikroprozessors, z.B. eines digitalen Signalprozessors, implementiert, wobei der Mikroprozessor auf einem Speicher arbeitet, z.B. einem RAM-Speicher. Die von dem erfinderischen Verfahren verwendeten Signalsegmente werden in diesem Speicher gespeichert und aus diesem abgerufen.
  • Auch wenn die Erfindung unter Bezugnahme auf spezifische beispielhafte Ausführungsformen beschrieben worden ist, sind für den Fachmann viele verschiedene Veränderungen, Modifizierung und dergleichen offenkundig. Die beschriebenen Ausführungsformen sollen daher nicht den Umfang der Erfindung begrenzen, der durch die Ansprüche im Anhang definiert wird.

Claims (22)

  1. Verfahren zur Handhabung eines digitalisierten Tonsignals, das über ein Paketvermittlungsnetzwerk in Form von Datenpaketen übermittelt wird, wobei das Verfahren in einem Kommunikationssystem in einer Empfängerendstufe betriebfähig ist, die eingerichtet ist, um empfangene Ton-Datenpakete zu Ton-Signalrahmen (signal frame), die wiederzugeben sind zu dekodieren, dadurch gekennzeichnet, dass das Verfahren die Manipulation der Länge von empfangenen Signalrahmen durch Ausführung von Zeitexpansion (270) oder Zeitkompression (240) eines oder mehrerer Signalrahmen bei zeitveränderlichen Intervallen und mit zeitveränderlicher Länge der Expansion oder der Kompression einschließt und die Intervalle und die Längen so bestimmt sind, dass ein kontinuierlicher Fluss an Signalabschnitten aufrechterhalten wird, um abgespielt zu werden.
  2. Verfahren nach Anspruch 1, wobei jede individuelle Länge der zeitveränderlichen Längen weiterhin abhängig ist von der Anforderung ein Signalanpassungskriterium zu erfüllen unter Betracht der Signalcharakteristika des digitalisierten Tonsignal-Teils, der manipuliert werden soll.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Auflösung der Längenmanipulation ein Bruchteil der Zeit zwischen zwei Abschnitten des digitalisierten Tonsignals ist, und damit eine verbesserte Signalanpassungsqualität ermöglicht, wenn die Zeitexpansion (270) oder die Zeitkompression (240) durchgeführt wird.
  4. Verfahren nach irgendeinem der Ansprüche 1–3, wobei die Zeitexpansion (270) oder die Zeitkompression (240) initiiert wird, wenn die Überwachung eines Jitter-Zwischenspeichers, wobei der Jitter-Zwischenspeicher (60) empfangene Datenpakete, die in Signalrahmen decodiert werden sollen speichert, anzeigt, dass die zeitliche Abstimmung des Jitter-Zwischenspeichers (60) wiederhergestellt werden muss.
  5. Verfahren nach Anspruch 4, wobei die Zeitexpansion (270) für einen nacheilenden Teil eines aktuell abgespielten Signalrahmens durchgeführt wird, wenn die Überwachung des Jitter-Zwischenspeichers (60) einen Zustand nahe einer Zwischenspeicher-Unterschreitung oder eine aktuelle Zwischenspeicher-Unterschreitung, wie eine verspätete Ankunft von Datenpaketen oder Verlust von einem oder mehreren Datenpaketen anzeigt, wobei zusätzlich und wenn passend wiederholte Zeitexpansionen (270) durchgeführt werden, um den Jitter-Zwischenspeicher (60) in seinem normalen Arbeitszustand wiederherzustellen.
  6. Verfahren nach Anspruch 5, wobei die Zeitexpansion (270) des nacheilenden Teils einen Ersatzrahmen aufbauen wird, wenn die Überwachung des Jitter-Zwischenspeichers (60) anzeigt, dass ein nächster Signalrahmen, der unter normalen Umständen dem aktuell abgespielten Signalrahmen folgen sollte nicht verfügbar ist oder scheinbar nicht zur rechten Zeit empfangen worden ist und damit einen Verlustrahmen-Ersatz für den nächsten Signalrahmen liefert, nach dem der zeitexpandierte aktuell abgespielte Signalrahmen mit einem empfangenen zukünftigen Signalrahmen vermischt wird (260), wobei die Länge der Zeitexpansion und damit die Länge des Ersatzrahmens so gewählt wird, dass ein glatter Übergang auf den zukünftigen Signalrahmen erzeugt werden kann.
  7. Verfahren nach Anspruch 6, wobei die Zeitexpansion eine Zeitexpandierung (270) eines Kopfteils des zukünftigen Signalrahmens zusätzlich zu der Zeitexpandierung des aktuell abgespielten Signalrahmens, bevor die beiden Rahmen vermischt werden (260) einschließt, und damit den Verlustrahmen-Ersatz verbessert.
  8. Verfahren nach Anspruch 4, wobei die Zeitkompression (240) durch Echtzeit-Statistik aus dem Jitter-Zwischenspeicher (60) getriggert und ihre Ausführung versucht wird, wenn zum Beispiel zwei aufeinander folgende Datenpakete in dem Jitter-Zwischenspeicher verfügbar sind, wobei ein Maß bezüglich eines glatten Übergangs zwischen zwei aufeinander folgenden Rahmen die Länge eines sich ergebenden komprimierten Signalrahmen kontrolliert, wenn die beiden Rahmen vermischt werden (260).
  9. Verfahren nach Anspruch 8, wobei der komprimierte Signalrahmen, der sich aus der Mischung (260) von zwei Rahmen ergibt noch mit einem anderen folgenden Signalrahmen in derselben Weise wie bei der Mischung der beiden Rahmen vermischt wird.
  10. Verfahren nach Anspruch 8 oder 9, wobei die Mischung von zwei Signalrahmen eine Mischung (260) von zwei Signal-Segmenten, ein nachfolgendes Segment von einem Rahmen mit einem Kopfsegment von dem anderen Rahmen, durch Überlappungs-Addition einschließt, wobei ein Zeitversatz des Rahmens mit dem Kopfsegment verwendet wird, um die Anpassung des überlappenden Teils der beiden Segmente zu optimieren.
  11. Verfahren nach Anspruch 10, wobei der Zeitversatz des Rahmens mit dem Kopfsegment eine Auflösung eines Bruchteils einer Zeitspanne zwischen zwei Abschnitten besitzt.
  12. Verfahren nach Anspruch 11, wobei das Kopfsegment mit einer geeigneten Verstärkung multipliziert wird, um die Übereinstimmung mit dem nachfolgenden Segment bei dem überlappenden Teil weiter zu optimieren, nach dem ein glatter Übergang zurück zur Gleichverstärkung durchgeführt wird, um Tonsignal-Unstetigkeiten zu vermeiden.
  13. Verfahren nach irgendeinem der Ansprüche 1–12, wobei von einem Oszillator-Modell Gebrauch gemacht wird zur Extraktion von Signal-Segmenten, die bei der Manipulation der Längen der empfangenen Signalrahmen verwendet werden, wobei das Oszillator-Modell ein Codebuch einschließt in dem Vektoren von Abschnitten verschiedene Zustände oder Einträge in dem Codebuch bilden und das Codebuch ein korrespondierendes Signalsegment für jeden Zustand speichert.
  14. Verfahren nach Anspruch 13, wobei die Zeitexpansion (270) eines Signalrahmens durch Anpassung eines richtigen Zustandes, zum Beispiel des nacheilenden Teils des fraglichen Signalrahmens, mit den Zuständen des Codebuchs und durch Auslesen eines Signalsegmentes aus dem Codebuch, das mit dem Zustand, der mit dem richtigen Zustand angepasst wurde korrespondiert durchgeführt wird.
  15. Verfahren nach Anspruch 13 oder 14, wobei die Signalsegmente des Codebuchs verschiedene Längen besitzen, wobei jedes Signalsegment einen nacheilenden Teil eines Signalrahmens bildet und damit einen kontinuierlichen Übergang von dem zeitexpandierten Signalrahmen auf einen folgenden Signalrahmen ermöglicht.
  16. Verfahren nach irgendeinem der Ansprüche 13–15, wobei die Verzögerungszeiten zwischen den Zuständen in dem Codebuch inkrementelle Verzögerungen mit einer Auflösung eines Bruchteils einer Zeit zwischen zwei Abschnitten sind.
  17. Verfahren nach irgendeinem der Ansprüche 14–16, wobei die Zustände und die entsprechenden Segmente des Codebuchs skaliert sind, um die Anpassung mit dem richtigen Zustand zu verbessern.
  18. Verfahren nach irgendeinem der Ansprüche 14–17, wobei die Vermischung des richtigen Zustandes mit dem Anpassungszustand des Codebuchs durchgeführt wird.
  19. Verfahren nach irgendeinem der Ansprüche 14–18, wobei die Zeitexpansion (270) zusätzlich die Durchführung der korrespondieren Operationen mit Hinblick auf einen Kopfteil eines Signalsrahmens, der auf den zeitexpandierten Signalrahmen folgt einschließt.
  20. Verfahren nach irgendeinem der Ansprüche 1–19, wobei der Signalrahmen, dessen Länge manipuliert werden soll entweder ein Ton-Signalrahmen ist, der aus einer gesamten Dekodierungsoperation eines Datenpakets resultiert oder ein Zwischen-Zeitbereich-Signalrahmen ist, der aus einer teilweisen Dekodierungsoperation eines Datenpakets resultiert.
  21. Programmspeicher-Vorrichtung, die eine Sequenz von Anweisungen für einen Mikroprozessor zur Ausführung der Verfahrensschritte nach irgendeinem der Ansprüche 1 bis 20 enthält.
  22. Anordnung zum Empfang eines digitalisierten Tonsignals aus einem ein Paketvermittlungsnetzwerk, wobei die Anordnung umfasst: Speichereinrichtung zum Speichern von Vektoren von Abschnitten eines empfangenen digitalisierten Tonsignals zusammen mit korrespondierenden Signalsegmenten; und Prozessoreinrichtung zur Durchführung der Verfahrensschritte nach irgendeinem der Ansprüche 1–20.
DE60034484T 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem Expired - Lifetime DE60034484T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9904812 1999-12-28
SE9904812A SE517156C2 (sv) 1999-12-28 1999-12-28 System för överföring av ljud över paketförmedlade nät
PCT/SE2000/002438 WO2001048736A1 (en) 1999-12-28 2000-12-06 Method and arrangement in a communication system

Publications (2)

Publication Number Publication Date
DE60034484D1 DE60034484D1 (de) 2007-05-31
DE60034484T2 true DE60034484T2 (de) 2008-01-10

Family

ID=20418334

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60034484T Expired - Lifetime DE60034484T2 (de) 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem
DE1243090T Pending DE1243090T1 (de) 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE1243090T Pending DE1243090T1 (de) 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem

Country Status (8)

Country Link
US (2) US7321851B2 (de)
EP (1) EP1243090B1 (de)
CN (1) CN1238835C (de)
AT (1) ATE360300T1 (de)
AU (1) AU2241701A (de)
DE (2) DE60034484T2 (de)
SE (1) SE517156C2 (de)
WO (1) WO2001048736A1 (de)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
SE517156C2 (sv) * 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
CA2299943A1 (en) * 2000-03-03 2001-09-03 Shane M. Rogers Apparatus for adjusting a local sampling rate based on the rate of reception of packets
SE0001727L (sv) * 2000-05-10 2001-11-11 Global Ip Sound Ab Överföring över paketförmedlade nät
JP3974318B2 (ja) * 2000-09-08 2007-09-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 受信再生装置及びその方法
US7697447B2 (en) * 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
US7319703B2 (en) 2001-09-04 2008-01-15 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
US7110416B2 (en) 2001-09-04 2006-09-19 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals
US20030115320A1 (en) * 2001-12-19 2003-06-19 Yarroll Lamonte H.P. Method for tuning voice playback ratio to optimize call quality
US7110422B1 (en) 2002-01-29 2006-09-19 At&T Corporation Method and apparatus for managing voice call quality over packet networks
US7505912B2 (en) * 2002-09-30 2009-03-17 Sanyo Electric Co., Ltd. Network telephone set and audio decoding device
US20050049853A1 (en) * 2003-09-01 2005-03-03 Mi-Suk Lee Frame loss concealment method and device for VoIP system
JP4251955B2 (ja) * 2003-10-15 2009-04-08 パナソニック株式会社 オーディオデータのネットワーク装置、アンプ装置
JP4289129B2 (ja) * 2003-11-18 2009-07-01 ヤマハ株式会社 オーディオ配信システム
US20050209847A1 (en) * 2004-03-18 2005-09-22 Singhal Manoj K System and method for time domain audio speed up, while maintaining pitch
US7424026B2 (en) * 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US8099755B2 (en) 2004-06-07 2012-01-17 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
EP1769399B1 (de) 2004-06-07 2020-03-18 Sling Media L.L.C. Persönliches media-ausstrahlungssystem
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
SG124307A1 (en) * 2005-01-20 2006-08-30 St Microelectronics Asia Method and system for lost packet concealment in high quality audio streaming applications
EP1846921B1 (de) * 2005-01-31 2017-10-04 Skype Verfahren zur verkettung von datenrahmen in einem kommunikationssystem
JP4406838B2 (ja) * 2005-02-15 2010-02-03 ソニー株式会社 オーディオ入出力制御装置及びオーディオ入出力制御方法
US7702952B2 (en) 2005-06-30 2010-04-20 Sling Media, Inc. Firmware update for consumer electronic device
EP1946293A1 (de) * 2005-11-07 2008-07-23 Telefonaktiebolaget L M Ericsson (PUBL) Verfahren und anordnung in einem mobiltelekommunikationsnetz
WO2007070007A1 (en) * 2005-12-14 2007-06-21 Matsushita Electric Industrial Co., Ltd. A method and system for extracting audio features from an encoded bitstream for audio classification
EP1841072B1 (de) * 2006-03-30 2016-06-01 Unify GmbH & Co. KG Verfahren und Einrichtung zum Dekodieren von schichtkodierten Daten
US20090287479A1 (en) * 2006-06-29 2009-11-19 Nxp B.V. Sound frame length adaptation
US8731913B2 (en) * 2006-08-03 2014-05-20 Broadcom Corporation Scaled window overlap add for mixed signals
US8856371B2 (en) 2006-08-07 2014-10-07 Oovoo Llc Video conferencing over IP networks
US9635315B2 (en) 2006-08-07 2017-04-25 Oovoo Llc Video conferencing over IP networks
EP1918909B1 (de) * 2006-11-03 2010-07-07 Psytechnics Ltd Abtastfehlerkompensation
US20080114478A1 (en) * 2006-11-09 2008-05-15 David Wu Method and System for Multi-Channel PCM Audio Grouping in Hardware
US8725512B2 (en) * 2007-03-13 2014-05-13 Nuance Communications, Inc. Method and system having hypothesis type variable thresholds
US20080249767A1 (en) * 2007-04-05 2008-10-09 Ali Erdem Ertan Method and system for reducing frame erasure related error propagation in predictive speech parameter coding
US8078456B2 (en) * 2007-06-06 2011-12-13 Broadcom Corporation Audio time scale modification algorithm for dynamic playback speed control
CN101321033B (zh) * 2007-06-10 2011-08-10 华为技术有限公司 帧补偿方法及系统
US8477793B2 (en) 2007-09-26 2013-07-02 Sling Media, Inc. Media streaming device with gateway functionality
US8350971B2 (en) 2007-10-23 2013-01-08 Sling Media, Inc. Systems and methods for controlling media devices
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US8060609B2 (en) 2008-01-04 2011-11-15 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
US8438016B2 (en) * 2008-04-10 2013-05-07 City University Of Hong Kong Silence-based adaptive real-time voice and video transmission methods and system
WO2009152124A1 (en) * 2008-06-10 2009-12-17 Dolby Laboratories Licensing Corporation Concealing audio artifacts
US8667279B2 (en) 2008-07-01 2014-03-04 Sling Media, Inc. Systems and methods for securely place shifting media content
US8381310B2 (en) 2009-08-13 2013-02-19 Sling Media Pvt. Ltd. Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US8667163B2 (en) 2008-09-08 2014-03-04 Sling Media Inc. Systems and methods for projecting images from a computer system
US9191610B2 (en) 2008-11-26 2015-11-17 Sling Media Pvt Ltd. Systems and methods for creating logical media streams for media storage and playback
KR20130010910A (ko) * 2008-12-05 2013-01-29 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US9069851B2 (en) 2009-01-15 2015-06-30 Social Communications Company Client application integrating web browsing and network data stream processing for realtime communications
US8438602B2 (en) 2009-01-26 2013-05-07 Sling Media Inc. Systems and methods for linking media content
US8171148B2 (en) 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US8406431B2 (en) 2009-07-23 2013-03-26 Sling Media Pvt. Ltd. Adaptive gain control for digital audio samples in a media stream
US9479737B2 (en) 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US8532472B2 (en) 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8799408B2 (en) 2009-08-10 2014-08-05 Sling Media Pvt Ltd Localization systems and methods
US9525838B2 (en) 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US9565479B2 (en) 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
US9160974B2 (en) 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US8314893B2 (en) 2009-08-28 2012-11-20 Sling Media Pvt. Ltd. Remote control and method for automatically adjusting the volume output of an audio device
US9015225B2 (en) 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US8799485B2 (en) 2009-12-18 2014-08-05 Sling Media, Inc. Methods and apparatus for establishing network connections using an inter-mediating device
US8626879B2 (en) * 2009-12-22 2014-01-07 Sling Media, Inc. Systems and methods for establishing network connections using local mediation services
US9178923B2 (en) 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US9275054B2 (en) 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
US8856349B2 (en) 2010-02-05 2014-10-07 Sling Media Inc. Connection priority services for data communication between two devices
EP2538632B1 (de) 2010-07-14 2014-04-02 Google Inc. Verfahren und Empfänger für die zuverlässige Erkennung des Zustands eines RTP-Paketstroms
US8744367B2 (en) 2010-08-31 2014-06-03 At&T Intellectual Property I, L.P. Tail optimization protocol for cellular radio resource allocation
US8620660B2 (en) * 2010-10-29 2013-12-31 The United States Of America, As Represented By The Secretary Of The Navy Very low bit rate signal coder and decoder
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
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
CN110211603B (zh) * 2013-06-21 2023-11-03 弗劳恩霍夫应用研究促进协会 使用质量控制的时间缩放器、音频解码器、方法和数字存储介质
AU2014283320B2 (en) * 2013-06-21 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Jitter buffer control, audio decoder, method and computer program
CN105099949A (zh) 2014-04-16 2015-11-25 杜比实验室特许公司 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
EP4276824A1 (de) * 2022-05-13 2023-11-15 Alta Voce Verfahren zur modifizierung eines audiosignals ohne phasigkeit

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL79775A (en) * 1985-08-23 1990-06-10 Republic Telcom Systems Corp Multiplexed digital packet telephone system
US5148486A (en) * 1988-03-30 1992-09-15 Kabushiki Kaisha Toshiba Voice decoding device
US4864682A (en) * 1988-05-02 1989-09-12 Whirlpool Corporation Self-adjusting wiper strip assembly for a vacuum cleaner
JP3102015B2 (ja) 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
US5115429A (en) * 1990-08-02 1992-05-19 Codex Corporation Dynamic encoding rate control minimizes traffic congestion in a packet network
US5526353A (en) * 1994-12-20 1996-06-11 Henley; Arthur System and method for communication of audio data over a packet-based network
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
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US5862450A (en) * 1995-12-14 1999-01-19 Sun Microsytems, Inc. Method and apparatus for delivering simultaneous constant bit rate compressed video streams at arbitrary bit rates with constrained drift and jitter
US5828994A (en) * 1996-06-05 1998-10-27 Interval Research Corporation Non-uniform time scale modification of recorded audio
US5943347A (en) * 1996-06-07 1999-08-24 Silicon Graphics, Inc. Apparatus and method for error concealment in an audio stream
US5907822A (en) * 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
US6351730B2 (en) * 1998-03-30 2002-02-26 Lucent Technologies Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
US6377931B1 (en) * 1999-09-28 2002-04-23 Mindspeed Technologies Speech manipulation for continuous speech playback over a packet network
SE517156C2 (sv) * 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
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

Also Published As

Publication number Publication date
US20070260462A1 (en) 2007-11-08
US7502733B2 (en) 2009-03-10
EP1243090B1 (de) 2007-04-18
SE9904812D0 (sv) 1999-12-28
DE60034484D1 (de) 2007-05-31
US7321851B2 (en) 2008-01-22
ATE360300T1 (de) 2007-05-15
WO2001048736A1 (en) 2001-07-05
SE9904812L (sv) 2001-08-28
CN1238835C (zh) 2006-01-25
EP1243090A1 (de) 2002-09-25
AU2241701A (en) 2001-07-09
DE1243090T1 (de) 2003-03-20
SE517156C2 (sv) 2002-04-23
US20030167170A1 (en) 2003-09-04
CN1433561A (zh) 2003-07-30

Similar Documents

Publication Publication Date Title
DE60034484T2 (de) Verfahren und vorrichtung in einem kommunikationssystem
DE60023237T2 (de) Verfahren zur verschleierung von paketverlusten
DE69915830T2 (de) Verbesserte verfahren zur rückgewinnung verlorener datenrahmen für ein lpc-basiertes, parametrisches sprachkodierungsystem.
DE60129327T2 (de) Anordnung und verfahren in bezug auf die vermittlung von sprache
AT405346B (de) Verfahren zum herleiten der nachwirkperiode in einem sprachdecodierer bei diskontinuierlicher übertragung, sowie sprachcodierer und sender-empfänger
DE60126513T2 (de) Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE60214358T2 (de) Zeitskalenmodifikation von signalen mit spezifischem verfahren je nach ermitteltem signaltyp
DE60117471T2 (de) Breitband-signalübertragungssystem
DE69735097T2 (de) Verfahren und vorrichtung zur verbesserung der sprachqualität in tandem-sprachkodierern
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69730473T2 (de) System zur Kodierung und Übertragung von Sprachsignalen
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE60220485T2 (de) Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform
DE69730779T2 (de) Verbesserungen bei oder in Bezug auf Sprachkodierung
EP1388147B1 (de) Verfahren zur erweiterung der bandbreite eines schmalbandig gefilterten sprachsignals, insbesondere eines von einem telekommunikationsgerät gesendeten sprachsignals
DE69633944T2 (de) Verfahren und gerät zum kodieren von digitalen daten
DE60121592T2 (de) Kodierung und dekodierung eines digitalen signals
DE60118631T2 (de) Verfahren zum ersetzen verfälschter audiodaten
DE3736193C2 (de)
DE60027177T2 (de) Gerät und verfahren für ein telekommunikationssystem
DE602004012600T2 (de) Transcodierung zwischen den indizes von mehrimpuls-wörterbüchern zur codierung bei der digitalen signalkomprimierung
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
DE60224142T2 (de) Verfahren und Vorrichtung zur Wellenformdämpfung von fehlerbehafteten Sprachrahmen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1243090

Country of ref document: EP

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE