DE60038035T2 - Headerkomprimierung durch verwendung von divisionsresten - Google Patents

Headerkomprimierung durch verwendung von divisionsresten Download PDF

Info

Publication number
DE60038035T2
DE60038035T2 DE60038035T DE60038035T DE60038035T2 DE 60038035 T2 DE60038035 T2 DE 60038035T2 DE 60038035 T DE60038035 T DE 60038035T DE 60038035 T DE60038035 T DE 60038035T DE 60038035 T2 DE60038035 T2 DE 60038035T2
Authority
DE
Germany
Prior art keywords
header field
header
value
reconstructed
field
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
DE60038035T
Other languages
English (en)
Other versions
DE60038035D1 (de
Inventor
Torbjörn EINARSSON
Krister Svanbro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60038035D1 publication Critical patent/DE60038035D1/de
Publication of DE60038035T2 publication Critical patent/DE60038035T2/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • QUERVERWEISE AUF VERWANDTE ANMELDUNGEN
  • Diese Patentanmeldung beansprucht das Vorrecht der Priorität der ebenfalls anhängigen vorläufigen US-Patentanmeldung mit der Serien-Nr. 60/164,355, die am 9. November 1999 eingereicht wurde.
  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich allgemein auf Paketkommunikationen, und insbesondere auf eine Headerkompression bei Paketkommunikationen.
  • HINTERGRUND DER ERFINDUNG
  • Der Ausdruck Headerkompression (englisch: header compression; HC) nimmt Bezug auf die Technik des Minimierens der notwendigen Bandbreite für Informationen, die auf einer Per-Sprung-Basis über Punkt-zu-Punkt-Verbindungen in Paket-Headern getragen werden. Eine Headerkompression wird für gewöhnlich dadurch realisiert, dass lediglich anfänglich statische Informationen gesendet werden. Semi-statische Informationen werden dann dadurch übermittelt, dass lediglich die Änderung (Delta) gegenüber dem vorhergehenden Header gesendet wird, und vollständig zufällige Informationen ohne Kompression gesendet werden. Daher wird eine Headerkompression für gewöhnlich mit einer Zustandsmaschine realisiert.
  • Herkömmlich Headerkompressionsalgorithmen sind im Grunde für schmalbandige verdrahtete Kanäle mit einer eher geringen Komplexität auf der empfangenden Dekompressionsseite entworfen. Ferner wird die Komplexität auf der sendenden Kompressionsseite niedrig gehalten, um effiziente Implementierungen bei Weiterleitungseinrichtungen (englisch: router), bei denen so viel Rechenkapazität wie möglich für das Weiterleiten benötigt wird, zu erlauben. Ferner haben die verdrahteten Kanäle, für die existierende Headerkompressionsalgorithmen entworfen sind, typischerweise sehr geringe Wahrscheinlichkeiten für Bit-Fehler (zum Beispiel eine Bit-Fehlerrate von 10–6). Drahtlose Kanäle (allgemein durch verlustbehaftete Verbindungen mit schmaler Bandbreite gekennzeichnet) haben typischerweise eine viel höhere Wahrscheinlichkeit für einen Fehler, so dass eine Headerkompression für eine Verwendung bei drahtlosen Kanälen unter Berücksichtigung einer viel größeren Bit-Fehlerwahrscheinlichkeit (zum Beispiel Bit-Fehlerraten bis zu 10–3) entworfen sein sollte.
  • Herkömmliche Kompressionsverfahren für RTP/UDP/IP-Header sind häufig auf Weichzustandsmaschinen mit Zuständen, die Kontexte genannt werden, basiert. Der Dekompressor-Kontext wird häufig durch jedes Paket, das empfangen wird, aktualisiert, und wenn ein Paket auf der Verbindung verloren wird, wird der Kontext ungültig. Wenn der Dekompressor-Kontext ungültig gemacht wird, müssen alle nachfolgenden Pakete verworfen werden, bis der Weichzustand durch einen vollen (unkomprimierten) Header aktualisiert wird. Eine Anfrage für eine Aktualisierung wird von dem empfangenden Ende gesendet, wenn der Dekompressor realisiert, dass das erste Paket verworfen (oder verloren) ist, und dann erfordert es einen vollen Umlauf (von dem empfangenden Ende zu dem übertragenden Ende und zurück), bevor die Aktualisierung (das Paket mit einem unkomprimierten Header) eintrifft. Dies resultiert häufig in vielen verlorenen Paketen. Der Zustand mit einem Verlust des Kontexts kann ebenfalls auftreten, wenn der empfangende Dekompressor dabei versagt, einen komprimierten Header erfolgreich zu dekomprimieren.
  • Falls die Nutzlast für die Pakete mit den komprimierten Headern einen Echtzeitdienst trägt, kann der Verlust mehrerer aufeinander folgender Pakete verheerend für die Qualität dieses Echtzeitdienstes sein. Zum Beispiel wird sich die Qualität eines Echtzeit-Sprachdienstes mit einer erhöhten Paketverlustrate aufgrund aufeinander folgender verlorener Sprachrahmen wesentlich verschlechtern. Falls die Sprachrahmenfehler eine stoßartige Charakteristik haben, wird die Sprachqualität schlechter sein als für die gleiche Sprachrahmenfehlerrate, jedoch mit einer weniger korrelierten Rahmenfehlercharakteristik.
  • Eine Weise, die Wahrscheinlichkeit für ungültige Kontext-Zustände, und dadurch einen Paketverlust, zu reduzieren, besteht darin, die Intelligenz bei dem Empfänger zu erhöhen, zum Beispiel durch Erhöhen der Wahrscheinlichkeit, dass der Dekompressor erfolgreich schätzt (rät), was der korrekte Kontext-Zustand sein sollte, ohne mehr Bits pro komprimierten Header zu verwenden. Bei dem Beispiel eines Echtzeit-Sprachdienstes erhöht sich der Wert eines herkömmlichen RTP-Zeitstempelfelds während Sprachzeiträumen typischerweise auf eine vorhersagbare Weise (und kann so zuverlässig vorhergesagt oder geraten werden), aber nach stillen oder sprachlosen Zeiträumen hat der Zeitstempel aus Sicht des Empfängers einen zufälliger verteilten Wert.
  • Auf den existierenden Standard für eine Kompression von RTP/UDP/IP-Headern (siehe zum Beispiel Steven Casner und Van Jacobson, Compressing IP/UDP/RDP Headers for Low-Speech Serial Links, IETF RFC 2508, IETF Network Working Group, Februar 1999) wird hierin als CRTP Bezug genommen. Bei CRTP wird der Zeitstempel-Deltawert abhängig von dem Wert mit einer variierenden Zahl von Bits codiert. Eine große Zeitstempeländerung seit dem letzten Paket verursacht einen großen Deltawert, der auf nachteilige Weise mehr Bits in dem komprimierten Header erfordert, um den Deltawert, der die Zeitstempelinformationen angibt, zu tragen.
  • Wenn DTX (diskontinuierliche Übertragung) oder Stilleunterdrückung bei einem Echtzeit-Sprachdienst verwendet wird, wird das Zeitstempelfeld des RTP-Headers ein stochastisches Verhalten haben, das bei einem Strom von RTP/UDP/IP-Paketen, die Sprache tragen, schwer vorherzusagen ist. Daher ist das Zeitstempelfeld eines der am schwierigsten bei dem Empfänger mittels Raten zu dekomprimierenden Felder. Bei CRTP wird der Zeitstempel-Deltawert mit einer Zahl von Bits, die von der Größe der Zeitstempeländerung seit dem letzten Paket abhängt, codiert. Daher erfordern lange stille oder sprachlose Zeiträume mehr Bits, um das Zeitstempelfeld zu Deltamodulieren, so dass der erste Header nach einem stillen Zeitraum typischerweise größer sein wird, als bei Sprachpaketen, die einem Sprachzeitraum entsprechen.
  • Es ist daher wünschenswert, eine Technik für eine Headerkompression/-Dekompression ohne die im Vorhergehenden erwähnten Nachteile, die mit herkömmlichen Verfahren zusammenhängen, zu schaffen.
  • Die internationale Anmeldung WO00/79762 A1 , die nach dem Einreichungsdatum der vorliegenden Anmeldung veröffentlicht worden ist, jedoch eine frühere Priorität beansprucht, beschreibt Techniken zum Komprimieren und Rekonstruieren des Zeitstempelwerts von Echtzeit-Kommunikationspaketen. Ein erster Teil des Zeitstempelwerts wird durch einen Headerkompressor ausgewählt und übertragen. Ein zweiter Teil des Zeitstempelwerts wird durch den Header-Dekompressor basierend auf der verstrichenen Zeit zwischen dem Empfang aufeinander folgender Pakete geschätzt. Der Header-Dekompressor kombiniert den zweiten Teil mit dem ersten Teil, der von dem Headerkompressor empfangen wird, um einen rekonstruierten Zeitstempelwert zu erzeugen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung schafft auf vorteilhafte Weise Techniken zum effizienten Komprimieren und Rekonstruieren des Zeitstempelwerts eines Echtzeit-Kommunikationspakets, dessen Zeitstempelwert nicht in eine normalerweise erwartete Folge von Zeitstempelwerten fällt. Ein erster Teil des Zeitstempelwerts wird durch den Headerkompressor ausgewählt und übertragen. Ein zweiter Teil des Zeitstempelwerts wird durch den Header-Dekompressor auf der Basis einer verstrichenen Zeit zwischen dem Empfang aufeinander folgender Pakete geschätzt. Der Header-Dekompressor kombiniert den zweiten Teil mit dem ersten Teil, der von dem Headerkompressor empfangen wird, um einen rekonstruierten Zeitstempelwert zu erzeugen.
  • Ferner ist die vorliegende Erfindung insbesondere auf das Schaffen von Techniken zum effizienten Komprimieren und Rekonstruieren eines Headers eines Echtzeit-Kommunikationspakets gerichtet. Gemäß den unabhängigen Ansprüchen wird bei einem Headerkompressor ein Headerfeldwert (der skaliert sein kann) auf einen Modulo-X-Operator, der zum Beispiel den Headerfeldwert durch einen Wert X dividieren und den Rest ausgeben kann, angewandt. Optional kann an den Rest eine Prüfsumme angehängt werden. Daher umfasst das komprimierte Headerfeld den Rest, wie er von dem Modulo-X-Operator ausgegeben wird, mit oder ohne die daran angehängte Prüfsumme. Ein Header-Dekompressor umfasst einen Feld-Rekonstruierer, der das empfangene komprimierte Headerfeld in Antwort auf den Restwert und eine Bereichsinformation rekonstruiert. Die Bereichsinformation stellt einen Bereich möglicher Feldwerte, die aus dem empfangenen Restwert rekonstruiert werden können, dar.
  • Eine vollständigere Einschätzung der vorliegenden Erfindung und des Schutzbereichs derselben kann anhand der beigefügten Zeichnungen, die im Folgenden kurz zusammengefasst sind, der folgenden detaillierten Beschreibung der gegenwärtig bevorzugten Ausführungsbeispiele der Erfindung und der angehängten Ansprüche erhalten werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verständnis des Verfahrens und der Vorrichtung der vorliegenden Erfindung können unter Bezugnahme auf die folgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen erhalten werden, wobei:
  • 1 exemplarische Zeitstempelkompressions- und -Dekompressionstechniken gemäß der Erfindung konzeptionell darstellt.
  • 2 eine exemplarische Paketdatenübertragungsstation gemäß der Erfindung darstellt.
  • 3 exemplarische Ausführungsbeispiele des Headerkompressors von 2 darstellt.
  • 3A ein Beispiel des Zeitstempelfelds von 3 darstellt.
  • 4 exemplarische Operationen, die durch die Headerkompressorausführungsbeispiele von 2 und 3 durchgeführt werden können, darstellt.
  • 5 eine exemplarische Paketdatenempfangsstation gemäß der Erfindung darstellt.
  • 6 exemplarische Ausführungsbeispiele des Header-Dekompressors von 5 darstellt.
  • 7 ein exemplarisches Ausführungsbeispiel des Zeitstempel-Dekompressors von 6 darstellt.
  • 7A weitere exemplarische Ausführungsbeispiele des Zeitstempel-Dekompressors von 6 und 7 darstellt.
  • 8 exemplarische Operationen, die durch die Zeitstempel-Dekompressorausführungsbeispiele von 67A durchgeführt werden können, darstellt.
  • 9 exemplarische Operationen, die in 8 durchgeführt werden können, um die skalierte Zeitstempelschätzung zu berechnen, darstellt.
  • 10 einen Teil eines Headerkompressors, der ein Ausführungsbeispiel der vorliegenden Erfindung implementiert, schematisch darstellt.
  • 11 einen Teil eines Header-Dekompressors gemäß einem Ausführungsbeispiel der vorliegenden Erfindung schematisch darstellt.
  • 12 ein exemplarisches Ausführungsbeispiel eines Feld-Rekonstruierers, der in dem Header-Dekompressor von 11 verwendet ist, schematisch darstellt.
  • 13 ein exemplarisches Ausführungsbeispiel eines Verifizierers, der in dem Feld-Rekonstruierer von 12 verwendet ist, schematisch darstellt.
  • 14 exemplarische Operationen, die durch die Header-Dekompressorausführungsbeispiele, die in 1113 dargestellt sind, durchgeführt werden können, darstellt.
  • 15 ein exemplarisches Ausführungsbeispiel eines Auswählens eines korrekten Headerfeld-Kandidaten aus einer beliebigen Zahl von entsprechenden Headerfeld-Kandidaten gemäß der vorliegenden Erfindung schematisch darstellt.
  • DETAILLIERTE BESCHREIBUNG DER GEGENWÄRTIG BEVORZUGTEN EXEMPLARISCHEN AUSFÜHRUNGSBEISPIELE
  • Die vorliegende Erfindung wird nun im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen, in denen bevorzugte Ausführungsbeispiele der Erfindung gezeigt sind, vollständiger beschrieben. Diese Erfindung kann jedoch in vielen unterschiedlichen Formen ausgeführt werden und soll nicht als auf die Ausführungsbeispiele, die hierin dargelegt sind, begrenzt aufgefasst werden; vielmehr werden diese Ausführungsbeispiele geliefert, so dass diese Offenbarung eingehend und vollständig ist und Fachleuten den Schutzbereich der Erfindung voll vermittelt.
  • 1 stellt exemplarische Zeitstempelkompressions- und -Dekompressionstechniken für eine Verwendung bei Echtzeit-Kommunikationsanwendungen, zum Beispiel Echtzeit-Sprachanwendungen, gemäß der Erfindung konzeptionell dar. Im Grunde verwendet der Header-Dekompressor bei dem Empfänger einen lokalen Zeitgeber, um die verstrichene Zeit zwischen dem letzten Sprachpaket vor einem Zeitraum einer Sprachinaktivität und dem ersten Sprachpaket nach einem Zeitraum einer Sprachinaktivität zu schätzen. Basierend auf diesem Schätzwert einer verstrichenen Zeit kann der Header-Dekompressor eine Schätzung der Differenz (oder des Deltas) zwischen den Zeitstempelfeldern dieser zwei Sprachpakete, die den Zeitraum der Sprachinaktivität begrenzen, vornehmen. Diese Schätzung der Differenz zwischen Zeitstempelwerten kann in Kombination mit dem bekannten Zeitstempelwert des letzten Sprachpakets vor der Sprachinaktivität verwendet werden, um einen auf eine Kenntnis gestützten Rateversuch des Zeitstempelwerts des ersten Sprachpakets nach der Sprachinaktivität vorzunehmen.
  • Wie in 1 gezeigt, werden bei 11 bei dem Headerkompressor des übertragenden Endes lediglich die niederstwertigen Bits (englisch: least significant bits; lsbs) L des Zeitstempels TS des ersten Sprachpakets nach der Sprachinaktivität für eine Übertragung über den Kanal 13 ausgewählt. Der Kanal 13 kann ein drahtloser Kanal sein, zum Beispiel eine UMTS-Luftschnittstelle oder eine andere zelluläre Funkschnittstelle.
  • Bei 15 kann bei dem empfangenden Ende auf die folgende exemplarische Art und Weise eine Schätzung des Zeitstempels des empfangenen Pakets erzeugt werden. Angenommen, dass das Paket n – 1 das letzte empfangene Paket vor dem Sprachinaktivitätszeitraum ist, und dass das Paket n das nächste nachfolgende Sprachpaket, nämlich das erste Sprachpaket nach dem Zeitraum der Sprachinaktivität, bezeichnet. Wenn der Header-Dekompressor bei dem empfangenden Ende die Zeit T(n – 1), bei der das Paket n – 1 eintrifft, feststellt, und ebenso die Zeit T(n), bei der das Paket n eintrifft, feststellt, dann kann eine absolute Zeitdifferenz zwischen dem Eintreffen der zwei Pakete durch Subtrahieren von T(n – 1) von T(n) geschätzt werden. Diese Zeitdifferenz stellt die verstrichene Zeit zwischen dem Eintreffen von dem Paket n – 1 und dem Paket n dar. Die verstrichene Zeit kann durch Multiplizieren der verstrichenen Zeit mit einer Schätzung, wie viel sich der Zeitstempelwert pro Zeiteinheit ändert, in Zeitstempeleinheiten umgewandelt werden.
  • Angenommen, dass Delta T die verstrichene Zeit, die durch die im Vorhergehenden erwähnte Zeitdifferenz T(n) – T(n – 1) dargestellt wird, ist, und dass TS_Änderung die Schätzung, um wie viel sich der Zeitstempelwert pro Zeiteinheit ändert, ist. Dann kann der Wert TS_Änderung mit dem Wert Delta T multipliziert werden, um eine Schätzung, wie viele Zeitstempeleinheiten mit der verstrichenen Zeit Delta T assoziiert sind, mit anderen Worten, eine Schätzung der Differenz zwischen den Zeitstempelwerten des Pakets n – 1 und des Pakets n, zu erzeugen. Daher ist ein geschätzter Wert des Zeitstempels des Pakets n, TS_Schätzung, durch Addieren der geschätzten Differenz der Zeitstempelwerte (TS_Änderung multipliziert mit Delta T) zu dem bekannten Zeitstempelwert des Pakets n – 1 gegeben. Wenn TS_Schätzung bei 15 bestimmt ist, werden die höchstwertigen Bits von TS_Schätzung an die empfangene Version L' der niederstwertigen Bits L des tatsächlichen Zeitstempels TS angehängt, wodurch ein Rateversuch, TS_Rateversuch, des Zeitstempelwerts des Pakets n erzielt wird. Bei 17 versucht der Header-Dekompressor zu bestimmen, ob TS_Rateversuch ein korrekter Rateversuch des ursprünglichen Zeitstempels TS ist. Falls nicht, dann kann bei 15 ein weiterer Rateversuch vorgenommen werden, und der Prozess kann wiederholt werden, bis ein korrekter Rateversuch erzeugt wird oder eine Zeitbegrenzungsbedingung erfüllt ist.
  • 2 stellt eine exemplarische Paketdatenübertragungsstation dar, die die exemplarischen Zeitstempelkompressionstechniken, die in 1 dargestellt sind, durchführen kann. Die Übertragungsstation kann zum Beispiel eine feste oder mobile Übertragungseinrichtung, die in einem zellulären Kommunikationsnetz in Betrieb ist, sein. Bei dem Ausführungsbeispiel von 2 erzeugt eine Paketdatenkommunikationsanwendung 24 bei 25 Nutzlastinformationen und bei 26 Headerinformationen. Die Nutzlastinformationen können auf herkömmliche Weise durch einen Nutzlastprozessor 20 verwendet werden, um eine Nutzlast 23 zu erzeugen, und die Headerinformationen 26 werden auf einen Headerkompressor 28 angewandt. Der Headerkompressor 28 komprimiert die Headerinformationen, um einen komprimierten Header 22 zu erzeugen. Der komprimierte Header 22 und die Nutzlast 23 bilden ein Paket 21. Eine herkömmliche Funkübertragungseinrichtung 29 kann wohlbekannte Techniken verwenden, um das Paket 21 über eine Funkverbindung, wie eine zelluläre Funkverbindung, zu übertragen.
  • Die Kommunikationsanwendung 24 liefert ferner ein Wiederaufnahmesignal 27, das angibt, dass die gegenwärtige Nutzlast und die Headerinformationen bei 25 und 26 einem RTP-Sprachpaket entsprechen, das das erste Sprachpaket ist, das nach einem Zeitraum einer Sprachinaktivität übertragen werden soll (entsprechend dem Paket n, das im Vorhergehenden im Hinblick auf 1 beschrieben worden ist). Der Headerkompressor 28 ist antwortend auf eine Aktivierung des Signals 27 zum Durchführen erfinderischer Zeitstempelkompressionstechniken, die zum Beispiel die Zeitstempelkompressionstechniken, die in 1 dargestellt sind, umfassen.
  • 3 stellt exemplarische Ausführungsbeispiele des Headerkompressors 28 von 2 dar. Bei den Headerkompressorausführungsbeispielen von 3 empfängt ein Separator 33 die Headerinformationen 26 von der Kommunikationsanwendung 24. Der Separator 33 trennt die Zeitstempelfeldinformation von den anderen Headerinformationen, die bei 26 empfangen werden, so dass die Zeitstempelinformation getrennt von den restlichen Headerinformationen komprimiert werden kann. Ein Dividierer 35 skaliert den Zeitstempelwert durch Dividieren des Zeitstempelwerts durch einen Skalierungswert TS_Inkrement. Unter Heranziehen des exemplarischen Falls eines Echtzeit-Sprachdienstes, der Sprachinformationen, die durch einen Sprach-Codec mit einer konstanten Bit-Rate erzeugt werden, trägt, kann erwartet werden, dass sich der Zeitstempel mit jedem nachfolgenden Paket während eines Zeitraums einer Sprachaktivität um eine konstante Inkrementierungsmenge erhöht. Der Wert TS_Inkrement stellt eine Schätzung dieser konstanten Inkrementierungsmenge dar, und kann zum Beispiel durch empirische Beobachtung bestimmt werden. Daher ist der Dividierer 35 in Betrieb, um den Zeitstempelwert herunterzuskalieren, um dadurch die Zahl von Bits, die notwendig sind, um den Zeitstempelwert darzustellen, zu reduzieren. Bei anderen Ausführungsbeispielen kann der Dividierer 35 weggelassen werden oder selektiv verwendet werden, wie durch eine gestrichelte Linie gezeigt.
  • Ein Extrahierer 36 für niederstwertige Bits empfängt den skalierten Zeitstempelwert von dem Dividierer 35 und extrahiert die niederstwertigen Bits (LSBs) aus diesem skalierten Wert. Bei 37 hängt eine Anhängevorrichtung einen Wiederaufnahmecode, der durch einen Codierer 39 in Antwort auf eine Aktivierung des Wiederaufnahmesignals 27 von 2 erzeugt wird, an die LSBs an. Die Vorrichtung 37 kann ebenfalls eine Prüfsumme (zum Beispiel eine CRC-Prüfsumme), die aus dem Zeitstempel generiert wird, und (optional) weitere Headerinformationen, falls gewünscht (siehe die gestrichelte Linie in 3), durch einen optionalen Prüfsummengenerator 38 anhängen. Die Ausgabe der Anhängevorrichtung 37 wird auf einen Eingang 39 eines Selektors 30 angewandt, dessen anderer Eingang mit dem Ausgang eines herkömmlichen Zeitstempelkompressors 301 verbunden ist, der ebenfalls den Zeitstempelwert von dem Separator 33 empfängt.
  • Der Selektor 30 wird durch das Wiederaufnahmesignal 27 gesteuert, so dass, falls das Wiederaufnahmesignal 27 aktiv ist, dann die LSBs, der Wiederaufnahmecode und die Prüfsumme über den Selektor 30 zu einem Zeitstempelfeld 31 des komprimierten Headers 22 von 2 geliefert werden. Andererseits, falls das Wiederaufnahmesignal 27 inaktiv ist, dann wird die Ausgabe des herkömmlichen Zeitstempelkompressionsabschnitts 301 zu dem Zeitstempelfeld 31 geliefert.
  • Ferner, wie in 3 gezeigt, können die anderen Headerinformationen (Nicht-Zeitstempelinformationen), die aus dem Separator 33 ausgegeben werden, unter Verwendung herkömmlicher Headerkompressionstechniken bei 302 komprimiert werden, und die resultierenden komprimierten Headerinformationen können dann auf herkömmliche Weise zu den anderen Feldern 32 des komprimierten Headers 22 geliefert werden.
  • 3A stellt das Zeitstempelfeld 31, das erzeugt wird, wenn das Wiederaufnahmesignal 27 in 2 und 3 aktiv ist, dar. Wie in 3A gezeigt, umfasst das Zeitstempelfeld 31 den Wiederaufnahmecode, die LSBs des skalierten Zeitstempelwerts und, wie durch die gestrichelte Linie gezeigt, umfasst es optional die Prüfsumme, die bei 38 generiert wird.
  • 4 stellt exemplarische Zeitstempelkompressionsoperationen dar, die durch die exemplarischen Headerkompressorausführungsbeispiele von 3 durchgeführt werden können. Zuerst wird bei 41 bestimmt, ob das Wiederaufnahmesignal aktiv ist. Falls nicht, dann wird bei 42 die Zeitstempelkompression auf herkömmliche Weise durchgeführt, und bei 48 wird auf das nächste Paket gewartet. Wenn das Wiederaufnahmesignal bei 41 aktiv ist, dann wird der Zeitstempelwert (siehe TS in 1) verwendet, um bei 46 eine Prüfsumme zu generieren. Danach wird bei 43 der Zeitstempelwert unter Verwendung des Werts TS_Inkrement skaliert. Danach werden bei 44 die niederstwertigen Bits aus dem skalierten Zeitstempelwert extrahiert, und bei 45 werden der Wiederaufnahmecode und die Prüfsumme (optional) an die niederstwertigen Bits angehängt. Die gestrichelten Linien in 4 geben an, dass die Prüfsummengenerierung und die Skalierungsoperationen bei 46 und 43 bei anderen Ausführungsbeispielen weggelassen oder selektiv angewandt werden können. Nachdem bei 45 die niederstwertigen Bits und der Wiederaufnahmecode (und optional die Prüfsumme) zusammen angehängt worden sind, ist das Zeitstempelfeld dann bereit für ein Zusammenfügen zu einem komprimierten Header bei 47, worauf bei 48 das nächste Paket erwartet wird.
  • 5 stellt ein exemplarisches Ausführungsbeispiel einer Paketdatenempfangsstation dar, die die exemplarischen Zeitstempel-Dekompressionstechniken, die in 1 dargestellt sind, durchführen kann. Die Empfangsstation kann zum Beispiel ein fester oder mobiler Empfänger, der in einem zellulären Kommunikationsnetz in Betrieb ist, sein. Bei dem Ausführungsbeispiel von 5 kann ein herkömmlicher Funkempfänger 54 wohlbekannte Techniken verwenden, um von einer Funkkommunikationsverbindung, zum Beispiel einer zellulären Funkverbindung, eine empfangene Version 21' eines übertragenen Pakets, wie des Pakets 21, das in 2 dargestellt ist, zu empfangen. Wie in 5 gezeigt, würde solch eine empfangene Version 21' eine empfangene Version 22' des komprimierten Headers 22 von 2 und eine empfangene Version 23' der Nutzlast 23 von 2 umfassen. Die empfangene Nutzlastversion 23' kann zu einem Nutzlastprozessor 58 geliefert werden, der auf herkömmliche Weise empfangene Nutzlastinformationen für eine Eingabe in eine Paketdatenkommunikationsanwendung 52 bei 51 erzeugen kann. Die empfangene komprimierte Headerversion 22' wird zu einem Header-Dekompressor 53 geliefert, der die empfangene Version 22' dekomprimiert, um empfangene Headerinformationen für eine Eingabe in die Kommunikationsanwendung 52 bei 50 zu erzeugen.
  • 6 stellt ein exemplarisches Ausführungsbeispiel des Header-Dekompressors von 5 dar. Die empfangene Version 22' des komprimierten Headers wird in einen RTP-Detektor 61 eingegeben, der herkömmliche Techniken verwenden kann, um zu erfassen, ob das empfangene Paket ein RTP-Paket ist oder nicht. In Antwort auf ein Erfassen, dass das Paket kein RTP-Paket ist, was angibt, dass ein Zeitraum einer Sprachinaktivität auftritt, aktiviert der Detektor 61 ein Ausgangssignal 66, das Selektoren 68 und 69 geeignet steuert, um zu verursachen, dass der komprimierte Header durch einen herkömmlichen Header-Dekompressor 64 verarbeitet wird. Wenn der Detektor 61 bestimmt, dass ein RTP-Paket empfangen worden ist, dann steuert das Steuerungssignal 66 Selektoren 68 und 69 derart, dass der komprimierte Header durch einen Verarbeitungspfad 600 verarbeitet wird, der eine Zeitstempelfeld-Dekompression gemäß der Erfindung implementiert.
  • Der Verarbeitungspfad 600 umfasst einen Separator 65, der das Zeitstempelfeld von den anderen Feldern der empfangenen Version 22' des komprimierten Headers trennt. Die empfangenen Versionen von anderen Feldern als des Zeitstempelfelds (siehe 32 von 3) können dann bei 67 auf einen herkömmlichen Header-Dekompressor angewandt werden. Die empfangene Version des Zeitstempelfelds wird bei 63 in einen Zeitstempel-Dekompressor 60 eingegeben. Der Zeitstempel-Dekompressor empfängt ebenfalls das Steuerungssignal 66, das aus dem RTP-Detektor 61 ausgegeben wird, als eine Eingabe. In Antwort auf das Steuerungssignal 66 und das Zeitstempelfeld, das bei 63 empfangen wird, gibt der Zeitstempel-Dekompressor 60 bei 62 einen Zeitstempel aus. Dieser Zeitstempel wird durch eine Anhängevorrichtung 601 an die anderen dekomprimierten Headerinformationen, die durch den Dekompressor 67 erzeugt werden, angehängt, und bildet dadurch die gewünschten empfangenen Headerinformationen, die über einen Selektor 69 selektiv mit der Kommunikationsanwendung 52 von 5 gekoppelt werden (siehe 50 in 5 und 6).
  • 7 stellt exemplarische Ausführungsbeispiele des Zeitstempel-Dekompressors 60 von 6 dar. Bei den Ausführungsbeispielen von 7 wird das Zeitstempelfeld, das bei 63 empfangen wird, in einen Code-Detektor 70 zum Erfassen des Wiederaufnahmecodes von 3 eingegeben. Wenn der Wiederaufnahmecode nicht erfasst wird, dann ist das empfangene RTP-Paket nicht das erste Sprachpaket nach einem Zeitraum einer Sprachinaktivität, so dass der Code-Detektor 70 ein Steuerungssignal 702 ausgibt, das Selektoren 703 und 700 geeignet steuert, um zu erlauben, dass ein herkömmlicher Zeitstempel-Dekompressor 73 das Zeitstempelfeld dekomprimiert und bei 62 den gewünschten Zeitstempel erzeugt (siehe ebenfalls 6).
  • Falls der Code-Detektor 70 den Wiederaufnahmecode erfasst, dann steuert das Steuerungssignal 702 Selektoren 703 und 700 derart, dass das Zeitstempelfeld gemäß im Vorhergehenden beschriebenen exemplarischen Zeitstempelfeld-Dekompressionstechniken gemäß der Erfindung dekomprimiert wird. In diesem Fall wird das empfangene Zeitstempelfeld 63 über den Selektor 703 in einen Extrahierer 72 eingegeben, der empfangene Versionen der LSBs und der Prüfsumme (siehe 3A) aus dem Zeitstempelfeld extrahiert. Es sei bemerkt, dass der Wiederaufnahmecode lediglich ein Beispiel einer Technik zum Auslösen der gewünschten Dekompressionsoperationen ist.
  • Ein Zeitstempelschätzer 75 kann die Zeitstempelschätzung, TS_Schätzung, allgemein wie im Vorhergehenden relativ zu 1 beschrieben erzeugen. Der Zeitstempelschätzer hat einen Eingang 705 zum Empfangen des Zeitstempels des Pakets n – 1, nämlich des Zeitstempels des letzten RTP-Pakets, das vor einem Zeitraum einer Sprachinaktivität empfangen wird. Dieser Zeitstempelwert TS(n – 1), der durch den Dekompressor 73 erzeugt wird, wird in einer Speichereinheit 77 gespeichert, die wiederum mit dem Eingang 705 des Schätzers gekoppelt ist. Jeder RTP-Zeitstempel, der von dem Dekompressor 73 ausgegeben wird, kann bei der Speichereinheit 77 (die ein einziges Register sein kann) gespeichert werden, wodurch sichergestellt wird, dass der Zeitstempel TS(n – 1) des Pakets n – 1 für den Zeitstempelschätzer 75 verfügbar ist, wenn das Paket n eintrifft.
  • Der Zeitstempelschätzer 75 empfängt ferner Informationen, die die Zeiten T(n) und T(n – 1), bei denen das Paket n und das Paket n – 1 empfangen wurden, anzeigen. Diese Zeitinformationen sind aus einer Speichereinheit 76, die gekoppelt ist, um lokale Zeitinformationen von einem lokalen Zeitgeber 74 zu empfangen, verfügbar. Für jedes RTP-Paket, das durch den Detektor 61 in 6 erfasst wird, speichert die Speichereinheit 76 die Zeit des Eintreffens des Pakets, wie sie durch den lokalen Zeitgeber 74 gemessen wird. Die Speichereinheit 76 braucht daher lediglich ein Stapel mit einer Tiefe von zwei sein, um die Zeiten des Eintreffens der im Vorhergehenden erwähnten Pakete n und n – 1 zu erfassen.
  • Der Zeitstempelschätzer 75 hat ebenfalls Zugriff auf den Zeitstempeländerungswert TS_Änderung, wie im Vorhergehenden beschrieben, und den Zeitstempelinkrementierungswert TS_Inkrement, wie im Vorhergehenden beschrieben. Der Zeitstempelschätzer ist in Antwort auf die lokalen Zeitinformationen, die von der Speichereinheit 76 empfangen werden, den Zeitstempelwert TS(n – 1), der von der Speichereinheit 77 empfangen wird, und die Zeitstempeländerung und die Zeitstempelinkrementierungswerte betreibbar, um TS_Schätzung allgemein wie im Vorhergehenden beschrieben zu erzeugen. TS_Schätzung wird auf einen Extrahierer 78 für höchstwertige Bits angewandt, der daraus die höchstwertigen Bits (MSBs) extrahiert, die eine abgeschnittene Schätzung des Zeitstempelwerts bilden. Eine Anhängevorrichtung 702 hängt die niederstwertigen Bits (LSBs), die von dem Extrahierer 72 empfangen werden, an die höchstwertigen Bits (MSBs), die von dem Extrahierer 78 ausgegeben werden, an, und das Resultat wird bei einem Multiplizierer 71 mit TS_Inkrement multipliziert, um dadurch TS_Rateversuch wie im Vorhergehenden beschrieben zu erzeugen. Der Zeitstempelschätzer 75 verwendet TS_Inkrement, um seine Zeitstempelschätzung allgemein auf die gleiche Art und Weise, wie im Vorhergehenden bei 35 in 3 beschrieben, herunterzuskalieren, um ein genaues Kombinieren der MSBs und LSBs bei 702 zu erlauben, so dass der Multiplizierer 71 verwendet wird, um das Resultat zu reskalieren, um TS_Rateversuch zu erzeugen.
  • Ein Verifizierer 79 empfängt als Eingabe TS_Rateversuch und die empfangene Version der Prüfsumme von dem Extrahierer 72. Der Verifizierer 79 ist betreibbar, um eine Prüfsumme aus dem empfangenen TS_Rateversuch-Wert und (optional) anderen Informationen, die in dem komprimierten Header 22' (siehe die gestrichelte Linie) empfangen werden, zu generieren, und diese generierte Prüfsumme mit der empfangenen Prüfsumme zu vergleichen. Falls die Prüfsummen einander entsprechen, dann aktiviert das Ausgangssignal des Verifizierers 704 eine Verbindungseinheit 701, die dann den TS_Rateversuch-Wert mit dem Selektor 700 verbindet.
  • Falls der Verifizierer 79 bestimmt, dass die empfangene Prüfsumme nicht der generierten Prüfsumme entspricht, dann hält das Steuerungssignal 704 die Verbindungseinheit 701 in ihrer offenen (dargestellten) Position aufrecht und informiert den Zeitstempelschätzer 75, dass eine weitere Zeitstempelschätzung benötigt wird. Der Zeitstempelschätzer kann so fortfahren, Zeitstempelschätzungen zu erzeugen, bis die Prüfsummen einander entsprechen oder bis zur Erfüllung einer Zeitbegrenzungsbedingung, die zum Beispiel entweder in dem Zeitstempelschätzer 75 oder dem Verifizierer 79 implementiert ist.
  • Die Zahl von Bits in TS_Schätzung kann, zum Beispiel, gleich der Zahl von Bits in dem Zeitstempelwert, der durch den LSB-Extrahierer 36 von 3 empfangen wird, sein, und die Zahl von MSBs, die durch den Extrahierer 78 in 7 extrahiert wird, kann, zum Beispiel, gleich der Zahl von höchstwertigen Bits, die nach einer Extraktion der LSBs bei 36 in 3 übrig bleiben (und verworfen werden), sein. Die Zahl von LSBs, die bei 36 extrahiert werden, und die Zahl von MSBs, die bei 78 extrahiert werden, können zum Beispiel durch empirische Beobachtung bestimmt werden, um zu bestimmen, welche Kombination von LSB/MSB-Extraktion unter verschiedenen Bedingungen gewünschte Resultate erzeugt. Zum Beispiel können unterschiedliche Kombinationen einer LSB/MSB-Extraktion verwendet werden, abhängig von Faktoren wie Übertragungsverzögerungsvariationen und einer Zeitgeberpräzision bei dem Kompressor und dem Dekompressor. Die gewünschte Kombination von LSB/MSB-Extraktionen kann so durch empirische Beobachtung unter verschiedenen Übertragungsverzögerungsvariationsbedingungen und verschiedenen Zeitgeberpräzisionsbedingungen bestimmt werden. Als ein Beispiel könnte die Zahl von MSBs, die bei 78 extrahiert werden, von der Präzision des Zeitgebers 74 abhängen. Je präziser der Zeitgeber 74 ist, um so mehr MSBs können bei 78 extrahiert werden, und umgekehrt. Die Zahl von LSBs, die bei 36 extrahiert werden, kann dann basierend auf der Zahl von MSBs, die bei 78 extrahiert werden, bestimmt werden.
  • Der Kompressor und der Dekompressor können im Voraus programmiert sein, um eine gewünschte Kombination einer LSB/MSB-Extraktion zu implementieren, oder die Kombination kann im Laufe des Paketflusses dynamisch änderbar sein. Zum Beispiel kann der Kompressor die Zahl von LSBs, die zu extrahieren sind, basierend auf der tatsächlichen Änderung des Zeitstempelwerts auswählen, und kann diese Information dem Dekompressor signalisieren, zum Beispiel als ein Teil des Wiederaufnahmecodes, der in 3A dargestellt ist.
  • 7A stellt mit gestrichelten Linien alternative Ausführungsbeispiele des Dekompressors von 7 dar, bei denen: die Verbindungseinheit 701 (und der Verifizierer 79) von 7 entweder weggelassen sind oder selektiv verwendet werden, in Entsprechung zu der Verwendung oder dem Weglassen der Prüfsumme in 3; und/oder der Multiplizierer 71 entweder weggelassen ist oder selektiv verwendet wird, in Entsprechung zu der Verwendung oder dem Weglassen des Dividierers 35 in 3. Der Schätzer 75 skaliert TS_Geschätzt oder lässt ein Skalieren derselben weg, in Entsprechung zu der Verwendung oder dem Weglassen des Dividierers 35 und des Multiplizierers 71.
  • 8 stellt exemplarische Zeitstempel-Dekompressionsoperationen, die durch die Zeitstempel-Dekompressorausführungsbeispiele von 67A durchgeführt werden können, dar. Bei 80 wird zuerst bestimmt, ob das Zeitstempelfeld den Wiederaufnahmecode umfasst oder nicht. Falls nicht, dann wird bei 89 das Zeitstempelfeld unter Verwendung herkömmlicher Dekompressionstechniken dekomprimiert, und dann wird das nächste Paket bei 89 erwartet. Falls der Wiederaufnahmecode bei 80 erfasst wird, dann wird die Zeitstempelschätzung (TS_Geschätzt) bei 82 berechnet (mit einer Skalierung, falls gewünscht), und die höchstwertigen Bits werden bei 83 aus derselben extrahiert. Bei 84 werden die niederstwertigen Bits, die in dem komprimierten Header empfangen werden, an die höchstwertigen Bits, die aus der skalierten Schätzung extrahiert werden, angehängt, und das Resultat ist (falls notwendig, reskaliert) der Zeitstempelrateversuch TS_Rateversuch. Danach wird bei 85 der Zeitstempelrateveruch verwendet, um eine Prüfsumme zu generieren, und bei 86 wird die generierte Prüfsumme mit der Prüfsumme, die in dem Zeitstempelfeld empfangen wird, verglichen. Falls die generierte Prüfsumme der empfangenen Prüfsumme entspricht, dann wird der Zeitstempelrateversuch bei 87 angenommen, und das nächste Paket wird dann bei 89 erwartet. Falls die generierte und die empfangene Prüfsumme bei 86 nicht einander entsprechen, dann wird bei 88 bestimmt, ob das Schätzen des Zeitstempels aufgegeben werden soll oder nicht, zum Beispiel auf der Basis eines vorbestimmten Werts einer verstrichenen Zeit oder einer vorbestimmten Zahl von Rateversuchen. Falls bei 88 entschieden wird, nicht aufzugeben, dann wird bei 82 eine weitere skalierte Zeitstempelschätzung berechnet, und die Operationen bei 8386 werden wiederholt. Beim Vornehmen einer weiteren Zeitstempelschätzung kann der Schätzer 75 zum Beispiel eines oder mehrere der niederstwertigen Bits der MSBs ändern, die aus der Schätzung extrahiert werden. Bei einem Beispiel kann, falls ein Ändern eines bestimmten Bits (oder bestimmter Bits) in einer erfolgreichen neuen Schätzung des Zeitstempels eines gegebenen Pakets resultiert, diese gleiche Änderung dann zuerst versucht werden, wenn der Zeitstempel eines nachfolgenden Pakets neu geschätzt wird. Falls bei 88 entschieden wird, aufzugeben, dann wird bei 89 das nächste Paket erwartet.
  • Die gestrichelten Linien in 8 entsprechen den Aufführungsbeispielen von 7A, bei denen eine Prüfsummenverifizierung weggelassen ist oder selektiv durchgeführt wird.
  • 9 stellt exemplarische Operationen dar, die bei 82 in 8 durchgeführt werden können, um die Schätzung des Zeitstempels zu berechnen. Bei 91 wird die verstrichene Zeit seit dem letzten RTP-Paket, (T)n – T(n – 1), bestimmt. Bei 92 wird die verstrichene Zeit in Zeitstempeleinheiten umgewandelt (unter Verwendung von TS_Änderung). Bei 93 wird die Zahl verstrichener Zeitstempeleinheiten, die bei 92 bestimmt wird, zu dem Zeitstempelwert (TS(n – 1)) des letzten RTP-Pakets (Paket n – 1) addiert, um eine Zeitstempelschätzung zu erzeugen. Bei 94 wird ein Skalierungsfaktor (TS_Inkrement) auf die Zeitstempelschätzung, die bei 93 erzeugt wird, angewandt, um dadurch die gewünschte skalierte Zeitstempelschätzung zu erzeugen. Die gestrichelten Linien in 9 entsprechen den Ausführungsbeispielen von 7A, bei denen ein Skalieren weggelassen ist oder selektiv durchgeführt wird.
  • Bei einem exemplarischen Operationsmodus wird der Wiederaufnahmecode von 3A nicht benötigt. In diesem Modus werden stets die Zeitstempelkompressions- und -Dekompressionstechniken von 1 verwendet, so dass die Selektoren 30, 703 und 700 (siehe 3 und 7) stets gesteuert werden, um „J" auszuwählen. Dementsprechend würden die Operationen bei 41 und 42 in 4 und die Operationen bei 80 und 81 in 8 in diesem Modus weggelassen werden.
  • Es sollte offensichtlich sein, dass die Methodologie, die in der vorhergehenden Beschreibung und in dem US-Patent US-A-6,680,921 dargelegt ist, unter anderem die folgenden exemplarischen Vorteile liefert: Die Zahl von Bits, die benötigt werden, um den Zeitstempelwert zu codieren, wird reduziert; die Zahl von Bits, die benötigt werden, um den Zeitstempelwert zu codieren, kann konstant gehalten werden, unabhängig von der Größe der Zeitstempeländerung; und, da der absolute Zeitstempelwert bei dem Kompressor codiert wird, anstatt das Ausmaß der Zeitstempeländerung zu codieren, wird die Stabilität erhöht.
  • Ferner, angesichts der Fortschritte, die im Vorhergehenden dargelegt worden sind, haben die Anmelder weitere Fortschritte bei Headerkompressions-/-Dekompressionstechnologien entdeckt. Bei erfinderischen Headerkompressor-/-Dekompressorausführungsbeispielen, die in 1014 dargestellt sind, wird eine Headerkompression durch ein Senden, statt des vollen Headerfeldwerts, lediglich des Headerfeldwerts modulo X erreicht. Der Headerfeldwert modulo X ist der Rest, der aus dem Dividieren des Headerfeldwerts durch X resultiert. Falls zum Beispiel X = 16, dann stellen die vier niederstwertigen Bits des Headerfelds den im Vorhergehenden erwähnten Rest dar und bilden so direkt den Headerfeldwert modulo X. Offensichtlich wird, wenn X eine Potenz von 2 ist, der Rest direkt durch eine Zahl von niederstwertigen Bits des Headerfelds gebildet.
  • 10 stellt einen Teil eines Headerkompressors, der die Modulo-X-Operation implementiert, schematisch dar. Jedes gegebene Headerfeld, das zum Beispiel von dem Separator 33 von 3 empfangen wird, kann durch das Headerkompressorausführungsbeispiel von 10 vorteilhaft komprimiert werden. Wie in 10 gezeigt, kann ein Dividierer 35 verwendet werden, um den Headerfeldwert zu skalieren, oder er kann optional weggelassen werden, wie durch eine gestrichelte Linie gezeigt. Der Headerfeldwert (skaliert oder nicht) wird auf einen Modulo-X-Operator 101 angewandt, der zum Beispiel den Headerfeldwert durch X dividieren und den Rest ausgeben kann. 10 stellt ebenfalls die Option eines Anhängens einer Prüfsumme (wie bei 38 in 3 im Vorhergehenden generiert) an den Rest dar. Daher umfasst das komprimierte Headerfeld den Rest, wie aus dem Modulo-X-Operator 101 ausgegeben, mit oder ohne dass die Prüfsumme an denselben angehängt ist. Anhand der folgenden Beschreibung wird offensichtlich werden, dass die Kompressions-/Dekompressionstechniken, die im Hinblick auf 1014 beschrieben sind, nicht nur auf die Zeitstempelfelder, die im Vorhergehenden beschrieben sind, anwendbar sind, sondern allgemein auf eine Mehrzahl von Headerfeldern anwendbar sind.
  • 11 stellt einen Teil eines Header-Dekompressors gemäß der Erfindung schematisch dar, der einen Feld-Rekonstruierer 110 umfasst, der das Headerfeld in Antwort auf den Restwert (komprimierten Headerfeldwert), der bei 118 empfangen wird, rekonstruiert. Der Feld-Rekonstruierer 110 verwendet eine Bereichsinformation, die bei 112 geliefert wird, in Kombination mit dem empfangenen Restwert, um bei 111 das rekonstruierte Feld zu erzeugen. Die Bereichsinformation bei 112 stellt einen Bereich möglicher Feldwerte dar, die aus dem empfangenen Restwert rekonstruiert werden können. Die Größe des Bereichs ist X, entsprechend der Modulo-X-Operation, die bei dem Headerkompressor von 10 durchgeführt wird. Die Lage des Bereichs relativ zu dem neuesten rekonstruierten Feldwert, der durch den Feld-Rekonstruierer 110 erzeugt wird, kann auf vorteilhafte Weise definiert werden, zum Beispiel auf der Basis der bekannten oder erwarteten Kenndaten der Paketkommunikationsanwendung und/oder der bekannten oder erwarteten Kenndaten des Paketkommunikationspfads zwischen dem Kompressor und dem Dekompressor.
  • Bei einem Beispiel ist der Bereich durch –M bis X – 1 – M gegeben. Jeder Wert in dem Bereich –M bis X – 1 – M stellt eine mögliche Differenz zwischen dem neuesten rekonstruierten Feldwert und dem neuen Feldwert, der durch den Dekompressor rekonstruiert wird, dar. Als ein Beispiel, falls M = –1 und X = 16, dann reicht der Bereich von 1 bis 16, und dieser Bereich stellt 16 mögliche Feldwerte dar, die den neuesten rekonstruierten Feldwert um jeweils 1 bis 16 überschreiten.
  • Als ein anderes Beispiel, falls X = 16 und M = 1, dann ist der Bereich durch –1 bis 14 gegeben. Dieser Bereich stellt 16 mögliche Feldwerte dar. Einer der Werte (entsprechend –1 in dem Bereich) ist 1 weniger als der neueste rekonstruierte Feldwert, ein anderer der Werte (entsprechend 0 in dem Bereich) ist gleich dem neuesten rekonstruierten Feldwert, und die restlichen 14 möglichen Feldwerte überschreiten jeweils den neuesten rekonstruierten Feldwert um 1 bis 14.
  • Positive Werte von M können zum Beispiel effektiv verwendet werden, um Folgenummernfelder (zum Beispiel RTP-Folgenummernfelder) von Paketen, die außerhalb der Reihenfolge eintreffen, unterzubringen. Positive Werte von M sind ferner vorteilhaft, zum Beispiel, um Zeitstempelfeldwerte mit negativem Delta für Pakete, die sogenannte B-Bilder (bidirektional vorhergesagte Bilder bei einer MPEG-Anwendung) umfassen, unterzubringen. Bei MPEG wird auf herkömmliche Weise ein B-Bild nach seinen vorläufigen umgebenden Anker-Bildern gesendet, was zu sowohl Vorwärts- als auch Rückwärtssprüngen bei dem Zeitstempelfeldwert verglichen mit der Übertragungsreihenfolge führt. Daher ist das Zeitstempel-Delta manchmal negativ und manchmal springt es vorwärts, was ein Fachleuten wohlbekanntes Phänomen ist. Wie im Vorhergehenden erwähnt, können positive Werte von M negative Deltas unterbringen. Ein Auswählen von M derart, dass der Bereich 0 umfasst, erlaubt eine Unterbringung von Bildern, die in viele Pakete mit dem gleichen Zeitstempelfeld aufgeteilt sind.
  • 12 stellt ein exemplarisches Ausführungsbeispiel des Feld-Rekonstruierers 110 von 11 schematisch dar. Die Bereichsinformation und das neueste rekonstruierte Feld werden jeweils bei 112 und 113 in einen Kandidatenfeld-Generator 125 eingegeben, der auf diese Eingaben antwortet, um bei 126 eine Zahl von Feldwertkandidaten zu liefern, die gleich der Größe des Bereichs ist, zum Beispiel gleich X des Modulo-X-Operators 101. Die Feldwertkandidaten bei 12 werden, wie in 10 gezeigt, in einen Modulo-X-Operator 101 eingegeben, und werden ebenfalls bei 128 gepuffert. Der Modulo-X-Operator 101 gibt Reste aus, die jeweils mit den gepufferten Feldwertkandidaten assoziiert sind.
  • Ein Komparator 123 vergleicht den empfangenen Rest bei 118 mit den Resten jedes der Feldwertkandidaten. Da X benachbarte Feldwertkandidaten in dem Bereich liegen, und da der empfangene Rest bei 118 den Rest einer Division-durch-X-Operation darstellt, wird der Rest eines der X Feldwertkandidaten dem empfangenen Rest 118 entsprechen, und der entsprechende Feldwertkandidat wird bei 122 aus dem Puffer 128 ausgegeben. Wie in 12 gezeigt, kann der Kandidatenwert, der bei 122 ausgegeben wird, falls notwendig hochskaliert werden, um ein Herunterskalieren zu berücksichtigen, das möglicherweise bei dem Headerkompressor von 10 durchgeführt worden ist. Solch ein Hochskalieren kann ein Addieren des Rests, der aus der herunterskalierenden Divisionsoperation bei dem Headerkompressor resultiert, umfassen, wobei der Rest allgemein eine Konstante ist, die lediglich einmal übertragen werden muss, zum Beispiel beim Übertragen des vollen Feldwerts beim Start des Paketstroms, wodurch der Header-Dekompressor implizit über den herunterskalierenden Rest informiert wird. Bei dem Ausführungsbeispiel von 12 kann der Kandidatenwert bei 121 (skaliert oder nicht) als der rekonstruierte Feldwert 111 von 11 ausgegeben werden. Dieser rekonstruierte Feldwert wird ebenfalls in dem Puffer 115 gespeichert, für eine Verwendung als das neueste rekonstruierte Feld bei der nächsten Headerfeld-Rekonstruktionsoperation.
  • Bei einem Ausführungsbeispiel mit X = 12 sind vier Bits notwendig, um bei der Ausgabe des Operators 101 (10) den Feldwert modulo 12 darzustellen, es sind jedoch nicht alle möglichen Bitmuster der vier Bits notwendig. Insbesondere sind zum Beispiel lediglich die Kombinationen 0000 bis 1011 notwendig, um die 12 möglichen Reste darzustellen, wenn ein Headerfeldwert bei dem Operator 101 durch 12 dividiert wird, wodurch auf vorteilhafte Weise vier Bit-Muster (1100 bis 1111) für andere Zwecke, wie ein Signalisieren besonderer Ereignisse, gelassen werden. Beispiele solcher Ereignisse umfassen ein Signalisieren des Typs des Pakets in dem Fall, dass es kein gewöhnliches komprimiertes Paket ist, sondern stattdessen eine Kontext-Anfrage, eine Kontext-Aktualisierung, oder dass es statische oder vollständige Feldwerte enthält.
  • Volle Headerfeldwerte, wie RTP-Zeitstempelfeldwerte und RTP-Folgenummernfeldwerte, sind typischerweise 16- oder 32-Bit vorzeichenlose ganze Zahlen, die zu 0 umspringen, wenn sich die Feldwerte von 216 – 1 oder 232 – 1 inkrementieren. Daher werden, falls X keine Potenz von 2 ist, dann die Reste, die durch den Modulo-X-Operator 101 von 10 erzeugt werden, ihren Zyklus nicht abschließen, wenn die Feldwerte auf 0 umspringen. Zum Beispiel wird für Modulo 12 (X = 12) die folgende Folge resultieren, wenn sich die Feldwerte hin zu dem Umspringen auf 0 und durch dasselbe inkrementieren: ... (65531, 11) (65532, 0) (65533, 1) (65534, 2) (65535, 3) (0, 0) (1, 1)... wobei die erste Zahl jedes Satzes von Klammern der volle 16-Bit-Feldwert ist und die zweite Zahl der Feldwert modulo 12 ist. Falls der neueste rekonstruierte Feldwert 65531 ist und der empfangene Rest 1 ist, und unter der Annahme, dass für dieses Beispiel M = –1, dann werden zwei der 12 Kandidatenfeldwerte, nämlich 65533 und 1, Reste haben, die dem empfangenen Rest bei dem Komparator 123 von 12 entsprechen.
  • Eine exemplarische Lösung dieses Problems besteht darin, die empfangene Prüfsumme zu verwenden, um zu verifizieren, welcher der zwei möglichen Kandidaten korrekt ist. Wie in dem Ausführungsbeispiel von 13 gezeigt, kann ein Verifizierer 136 mit dem (skalierten oder nicht) Puffer-Ausgang 121 gekoppelt sein, um die zwei entsprechenden Kandidatenfeldwerte, die von dem Puffer 128 ausgegeben werden, zu empfangen. Der Verifizierer 136 kann für jeden Kandidatenwert eine Prüfsumme berechnen, sie mit der empfangenen Prüfsumme vergleichen und den Kandidaten auswählen, dessen Prüfsumme der empfangenen Prüfsumme entspricht. Dieser Kandidat kann dann als der rekonstruierte Feldwert bei 111 geliefert werden.
  • Eine andere Lösung, um zu vermeiden, dass ein kürzerer Rest-Zyklus erhalten wird, besteht darin, den Zyklus der gesendeten Werte zu behalten und die empfangenen Werte anzupassen, um den Rest zu rekonstruieren: ... (65531, 11) (65532, 0) (65533, 1) (65534, 2) (65535, 3) (0, 4) (1, 5)... Für diesen Fall bedeutet dies, dass die gesendeten Werte einem Rest + N entsprechen, wobei N 0, 4 oder 8 ist und mit jedem Umspringen einen Zyklus durchläuft.
  • Dies ist in den exemplarischen Ausführungsbeispielen von 15 dargestellt, wobei das Headerfeld, das von dem Separator 33 bei exemplarischen Headerkompressorausführungsbeispielen empfangen wird, oder von dem Kandidatenfeldgenerator 125 bei exemplarischen Header-Dekompressorausführungsbeispielen empfangen wird, in einen Umspring-Detektor 151 eingegeben wird, ebenso wie in den Modulo-X-Operator 101. Der Umspring-Detektor 151 erfasst, wenn sich die Headerfeldwerte in der Nähe eines Umspringens befinden. Wenn ein bevorstehendes Umspringen erfasst wird, schiebt der Umspring-Detektor 151 ein Ringschieberegister 152, das wie in 15 gezeigt anfangs geladen ist. Ein Schieberegisterort 154 ist mit einem Addierer 156 gekoppelt und ebenfalls mit einem Schieberegisterort 155 rückgekoppelt, wobei letzterer Schieberegisterort mit einem Addierer 157 gekoppelt ist.
  • Der Umspring-Detektor 151 ist ebenfalls mit einem Unterscheider 153 gekoppelt, der einen Eingang hat, der gekoppelt ist, um die Headerfeldwerte zu empfangen, und der einen Ausgang hat, der mit einem Selektor 158 gekoppelt ist.
  • Der Unterscheider 153 unterscheidet zwischen den hohen Headerfeldwerten, die dem 0-Umspringen vorhergehen, und den niedrigen Headerfeldwerten, die dem 0-Umspringen folgen. Solange der Umspring-Detektor 151 erfasst, dass sich die Headerfeldwerte in der Nähe eines Umspringens befinden, hält der Detektor 151 den Unterscheider 153 aktiviert. Während er aktiviert ist, steuert der Unterscheider 153 den Selektor 158, um einen Addierer 156 für niedrige Headerfeldwerte in der Umspringnähe (das heißt 0 und Werte nach 0) auszuwählen und einen Addierer 157 für hohe Headerfeldwerte in der Umspringnähe (Werte vor 0) auszuwählen. Der Umspring-Detektor 151 deaktiviert den Unterscheider 153, wenn sich die Headerfeldwerte nicht in der Umspringnähe befinden, wobei in diesem Fall der Unterscheider 153 den Selektor 158 steuert, um lediglich den Addierer 156 auszuwählen.
  • Daher, wenn das erste Umspringen auftritt, schiebt der Detektor 151 das Register 152, so dass der Addierer 156 4 (von dem Ort 154) zu den Resten, die mit den niedrigen Headerfeldwerten, die bei 0 beginnen, assoziiert sind, addiert, und der Addierer 157 0 (von dem Ort 155) zu den Resten, die mit den hohen Headerfeldwerten, die dem Umspringen vorhergehen, assoziiert sind, addiert. Bei dem nächsten Umspringen schiebt der Detektor 151 das Register 152 erneut, so dass der Addierer 156 8 zu den Resten, die mit den niedrigen Headerfeldwerten, die bei 0 beginnen, assoziiert sind, addiert, und der Addierer 157 4 zu den Resten, die mit den hohen Headerfeldwerten, die dem Umspringen vorhergehen, assoziiert sind, addiert.
  • Für einen gegebenen Wert von X kann der Bereich möglicher Feldwerte bei dem Dekompressor entsprechend einer gewünschten Leistung erhöht werden. Zum Beispiel kann der Bereich als –M bis 2X – 1 – M definiert sein. Daher wäre, zum Beispiel mit M = –1 und X = 16, der Bereich möglicher Feldwerte 1 bis 32. Der empfangene Restwert 118 wird den Resten von zwei Kandidaten in diesem Bereich entsprechen. Der korrekte Kandidat kann zum Beispiel durch die Prüfsummenverifizierungsoperation, die im Vorhergehenden relativ zu 13 beschrieben worden ist, identifiziert werden. Das Ausführungsbeispiel von 13 kann natürlich den korrekten Kandidaten aus einer beliebigen Zahl von entsprechenden Kandidaten auswählen, die aus einem Bereich. mit einer beliebigen Größe, –M bis kX – 1 – M, wobei k = 2, 3 ..., resultiert.
  • 14 stellt exemplarische Operationen dar, die durch die Header-Dekompressorausführungsbeispiele, die in 1113 dargestellt sind, durchgeführt werden können. Bei 141 wird das komprimierte Headerfeld als ein Modulo-X-Restwert empfangen. Bei 142 werden die Bereichsinformation und der neueste rekonstruierte Feldwert verwendet, um die Kandidatenfeldwerte zu generieren. Bei 148 werden die Modulo-X-Reste der Kandidatenwerte bestimmt. Bei 143 wird der empfangene Restwert mit den Restwerten der jeweiligen Kandidatenfeldwerte verglichen, um den (die) entsprechenden Kandidaten zu bestimmen. Bei 144 wird dann bestimmt, ob mehrere entsprechende Kandidaten vorliegen oder nicht. Falls ja, werden die Kandidatenwerte bei 145 dem Prüfsummenverifizierungsprozess unterzogen, um den korrekten Kandidatenwert zu bestimmen, der dann bei 149 als der rekonstruierte Feldwert geladen wird. Wenn bei 144 lediglich ein entsprechender Kandidat vorliegt, dann kann dieser Kandidatenwert optional durch eine Prüfsummenverifizierung bei 147 gestützt werden, oder, wie durch gestrichelte Linien angezeigt ist, der Kandidat kann bei 149 direkt als der rekonstruierte Feldwert geladen werden.
  • Für Fachleute ist offensichtlich, dass die Headerkompressions-/-Dekompressionstechniken, die im Vorhergehenden im Hinblick auf 1014 beschrieben worden sind, allgemein auf eine Vielzahl von Headerfeldern anwendbar sind, und auf die Kenndaten einer bestimmten Anwendung und/oder eines Kommunikationspfads zugeschnitten werden können.
  • Für Fachleute ist offensichtlich, dass die im Vorhergehenden beschriebenen Ausführungsbeispiele durch geeignete Modifikationen bei Headerkompressoren und -Dekompressoren herkömmlicher Paketdatenübertragungs- und -empfangsstationen ohne weiteres in Software, Hardware oder beidem implementiert werden können.
  • Die vorhergehende Beschreibung ist die eines bevorzugten Ausführungsbeispiels zum Implementieren der Erfindung, und der Schutzbereich der Erfindung soll nicht notwendigerweise durch diese Beschreibung begrenzt werden. Der Schutzbereich der Erfindung ist stattdessen durch die folgenden Ansprüche definiert.

Claims (19)

  1. Ein Verfahren des Erstellens eines komprimierten Headerfeldes aus einem ursprünglichen Headerfeld, umfassend: Erhalten eines Restes, der sich ergibt, wenn ein Wert des ursprünglichen Headerfeldes durch eine erste vorbestimmte Zahl dividiert (101) wird; und Bestimmen eines Wertes des komprimierten Headerfeldes auf der Basis des erzielten Restes.
  2. Das Verfahren nach Anspruch 1, wobei der Bestimmungsschritt das selektive Addieren einer zweiten vorbestimmten Zahl (38) zum Rest umfasst.
  3. Das Verfahren nach Anspruch 2, das Durchführen des Addierungsschrittes einschließend, wenn die erste vorbestimmte Zahl eine andere Zahl als die Potenz von 2 ist.
  4. Ein Verfahren des Erzeugens eines rekonstruierten Headerfeldes (111) bei einem Header-Dekompressor (53), vorgesehen, um einem ursprünglichen Headerfeld zu entsprechen, das durch ein empfangenes komprimiertes Headerfeld (118) repräsentiert wird, empfangen an dem Header-Dekompressor (53) über einen Paketkommunikationspfad, umfassend: Identifizieren einer ersten Zahl von rekonstruierten Headerfeldkandidaten (126) auf der Basis einer zweiten Zahl, die von einem Headerkompressor (28) in Kombination mit dem ursprünglichen Headerfeld verwendet wird, um für die Übertragung an den Header-Dekompressor (53) ein komprimiertes Headerfeld zu erzeugen, entsprechend dem empfangenen komprimierten Headerfeld (118), wobei das komprimierte Headerfeld einen Rest repräsentiert, der aus dem Dividieren eines Wertes des ursprünglichen Headerfeldes durch eine zweite Zahl resultiert; und Auswählen eines der rekonstruierten Headerfeldkandidaten als das rekonstruierte Headerfeld (111).
  5. Das Verfahren nach Anspruch 4, wobei der Identifikationsschritt das Identifizieren der Kandidaten auf der Basis des neuesten rekonstruierten Headerfeldes (113), erzeugt am Header-Dekompressor (53), umfasst.
  6. Das Verfahren nach Anspruch 5, wobei der Schritt des Identifizierens der Kandidaten auf der Basis des neuesten rekonstruierten Headerfeldes (113) das Identifizieren eines Bereiches von möglichen Werten des rekonstruierten Headerfeldes (111) als Antwort auf die erste Zahl umfasst und einen Wert des neuesten rekonstruierten Headerfeldes (113).
  7. Das Verfahren nach Anspruch 6, wobei der Schritt des Identifizierens eines Bereiches das Positionieren des Bereiches relativ zum Wert des neuesten rekonstruierten Headerfeldes (113) umfasst.
  8. Das Verfahren nach Anspruch 7, wobei der Bereich den Wert des neuesten rekonstruierten Headerfeldes (113) umfasst.
  9. Das Verfahren nach Anspruch 7, wobei der Bereich vom Wert des neuesten rekonstruierten Headerfeldes (113) versetzt wird.
  10. Das Verfahren nach Anspruch 7, wobei der Schritt des Positionierens des Bereiches relativ zum Wert des neuesten rekonstruierten Headerfeldes (113) das Positionieren des Bereiches als Antwort auf Kenndaten einer Kommunikationsanwendung umfasst, die das ursprüngliche Headerfeld erzeugt hat.
  11. Das Verfahren nach Anspruch 7, wobei der Schritt des Positionierens des Bereichs relativ zum Wert des neuesten rekonstruierten Headerfeldes (113) das Positionieren des Bereichs als Antwort auf Kenndaten des Paketkommunikationspfads umfasst.
  12. Das Verfahren nach Anspruch 4, wobei der Auswahlschritt das Vergleichen des empfangenen komprimierten Headerfeldes (118) mit komprimierten Headerfeldern, die entsprechend mit den rekonstruierten Headerfeldkandidaten (126) assoziiert sind, umfasst, und das Auswählen als das rekonstruierte Headerfeld (111) einen rekonstruierten Headerfeldkandidaten, dessen assoziiertes komprimiertes Headerfeld dem empfangenen komprimierten Headerfeld (118) entspricht.
  13. Das Verfahren nach Anspruch 12, wobei der zuletzt erwähnte Auswahlschritt das Verwenden einer Prüfsumme umfasst, empfangen am Header-Dekompressor (53) über den Paketkommunikationspfad, um einen rekonstruierten Headerfeldkandidaten aus einer Vielzahl von rekonstruierten Headerfeldkandidaten (126) auszuwählen, deren entsprechend assoziierte komprimierte Headerfelder den empfangenen komprimierten Headerfeldern (118) entsprechen.
  14. Das Verfahren nach Anspruch 4, wobei die erste Zahl gleich der zweiten Zahl ist.
  15. Das Verfahren nach Anspruch 4, wobei die erste Zahl zweimal die zweite Zahl ist.
  16. Ein Headerkompressor (28) zum Produzieren eines komprimierten Headerfeldes aus einem ursprünglichen Headerfeld, umfassend: einen Eingang zum Empfangen des ursprünglichen Headerfeldes; eine Vorrichtung (101), gekoppelt mit dem Eingang, zum Bereitstellen eines Restes als Antwort auf das ursprüngliche Headerfeld, der resultiert, wenn ein Wert des ursprünglichen Headerfeldes durch eine erste vorbestimmte Zahl dividiert wird; und einen Ausgang, gekoppelt mit der Vorrichtung, zum Ausgeben des komprimierten Headerfeldes mit einem Wert, der auf dem Rest basiert.
  17. Ein Header-Dekompressor (53) zum Erzeugen eines rekonstruierten Headerfeldes (111), vorgesehen, um einem ursprünglichen Headerfeld zu entsprechen, umfassend: einen Eingang zum Empfangen eines komprimierten Headerfeldes (118), das das ursprüngliche Headerfeld repräsentiert; eine erste (125) Vorrichtung zum Identifizieren einer ersten Zahl von rekonstruierten Headerfeldkandidaten (126) auf der Basis einer zweiten Zahl, verwendet von einem Headerkompressor (28) in Kombination mit dem ursprünglichen Headerfeld, um zur Weiterleitung an den Header-Dekompressor (53) ein komprimiertes Headerfeld zu erzeugen, dem komprimierten Headerfeld (118) entsprechend, empfangen an dem Eingang, wobei das komprimierte Headerfeld einen Rest repräsentiert, der aus dem Dividieren eines Wertes des ursprünglichen Headerfeldes durch eine zweite Zahl resultiert; und eine zweite Vorrichtung (123, 128), gekoppelt mit der ersten Vorrichtung (125) und dem Eingang (118) zum Auswählen eines der rekonstruierten Headerfeldkandidaten (126) als das rekonstruierte Headerfeld (111).
  18. Die Vorrichtung nach Anspruch 17, wobei die erste Zahl gleich der zweiten Zahl ist.
  19. Die Vorrichtung nach Anspruch 17, wobei die erste Zahl zweimal die zweite Zahl ist.
DE60038035T 1999-11-09 2000-11-08 Headerkomprimierung durch verwendung von divisionsresten Expired - Lifetime DE60038035T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US671756 1996-06-28
US16435599P 1999-11-09 1999-11-09
US164355P 1999-11-09
US09/671,756 US6535925B1 (en) 1999-11-09 2000-09-26 Packet header compression using division remainders
PCT/SE2000/002188 WO2001035597A1 (en) 1999-11-09 2000-11-08 Packet header compression using division remainders

Publications (2)

Publication Number Publication Date
DE60038035D1 DE60038035D1 (de) 2008-03-27
DE60038035T2 true DE60038035T2 (de) 2009-02-05

Family

ID=26860477

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60038035T Expired - Lifetime DE60038035T2 (de) 1999-11-09 2000-11-08 Headerkomprimierung durch verwendung von divisionsresten

Country Status (8)

Country Link
US (1) US6535925B1 (de)
EP (1) EP1228619B8 (de)
JP (1) JP4703080B2 (de)
KR (1) KR100689612B1 (de)
AU (1) AU1428001A (de)
CA (1) CA2388362C (de)
DE (1) DE60038035T2 (de)
WO (1) WO2001035597A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI107000B (fi) * 1999-02-17 2001-05-15 Nokia Mobile Phones Ltd Otsikon pakkaaminen reaaliaikaisissa palveluissa
AU4603800A (en) * 1999-05-10 2000-11-21 Nokia Networks Oy Header compression
EP1496654B1 (de) * 1999-05-25 2006-07-12 Lucent Technologies Inc. Verfahren für Telekommunikation mit Internetprotokoll
US6970450B1 (en) * 1999-10-29 2005-11-29 Array Telecom Corporation System, method and computer program product for point-to-point bandwidth conservation in an IP network
US6535925B1 (en) 1999-11-09 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Packet header compression using division remainders
US20020001315A1 (en) * 2000-03-21 2002-01-03 Tran Hung V. Method and apparatus for compressing IP/UDP/RTP headers in a lossy environment
US20020002611A1 (en) 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US20110128972A1 (en) * 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US7788211B2 (en) * 2000-06-16 2010-08-31 Nokia Networks Oy Robust and efficient compression of list of items
EP1187416B1 (de) * 2000-09-07 2005-03-23 Matsushita Electric Industrial Co., Ltd. Verfahren und Vorrichtung zur Datenpaketenübertragung
WO2002032080A1 (en) * 2000-10-11 2002-04-18 Broadcom Corporation Cable modem system and method for supporting packet pdu compression
US6649567B2 (en) * 2001-10-11 2003-11-18 Isp Investments Inc. Controlled release microbiocide for porous surfaces
US20020089602A1 (en) * 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
US7290063B2 (en) * 2001-01-10 2007-10-30 Nokia Corporation Relocating context information in header compression
WO2003065664A1 (en) * 2002-01-30 2003-08-07 Vitesse Semiconductor Corporation A networking element adapted to receive and output also preambles of data packets or frames
EP1529391A1 (de) * 2002-08-14 2005-05-11 Nokia Corporation Geschichtete komprimierungsarchitektur zur mehrstreckenkopfkomprimierung
US8005918B2 (en) 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
US7093092B2 (en) * 2002-12-10 2006-08-15 Isic Corporation Methods and apparatus for data storage and retrieval
US6803866B2 (en) * 2002-12-19 2004-10-12 International Business Machines Corporation Efficient representation of date/time information
US20040199660A1 (en) * 2003-02-14 2004-10-07 Nokia Corporation Method of multiplexing compressed and uncompressed internet protocol packets
US8165104B2 (en) 2004-12-08 2012-04-24 Qualcomm Incorporated Methods and systems for enhancing local repair in robust header compression
JP4611826B2 (ja) * 2005-07-12 2011-01-12 Nttエレクトロニクス株式会社 送信装置
US7430560B1 (en) * 2005-07-22 2008-09-30 X-Engines, Inc. Multi-level compressed lock-up tables formed by logical operations to compress selected index bits
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
EP1780923A1 (de) * 2005-10-26 2007-05-02 Siemens Aktiengesellschaft Übertragung von Datentelegrammen
US7701981B2 (en) * 2005-10-27 2010-04-20 Qualcomm Incorporated System and method for improving robust header compression (ROHC) efficiency
US7827467B2 (en) * 2006-01-04 2010-11-02 Nokia Corporation Method for checking of video encoder and decoder state integrity
US7907609B2 (en) * 2006-01-06 2011-03-15 Qualcomm, Incorporated Method and apparatus for enhancing RoHC performance when encountering silence suppression
US7924881B2 (en) * 2006-04-10 2011-04-12 Rateze Remote Mgmt. L.L.C. Datagram identifier management
US7948989B2 (en) * 2006-05-04 2011-05-24 Qualcomm, Incorporated Methods and systems for enhancing local repair in robust header compression
US9195695B2 (en) * 2006-09-15 2015-11-24 Ibm International Group B.V. Technique for compressing columns of data
US8804535B2 (en) 2009-03-25 2014-08-12 Avaya Inc. System and method for sending packets using another device's network address
US8165030B2 (en) 2009-04-30 2012-04-24 Avaya Inc. System and method for monitoring a network communication at multiple network layers
US8072890B2 (en) 2009-05-01 2011-12-06 Avaya Inc. System and method for testing a dynamic communication across a network
US8144734B2 (en) 2009-05-06 2012-03-27 Avaya Inc. Intelligent multi-packet header compression
US8238254B2 (en) 2009-05-14 2012-08-07 Avaya Inc. Detection and display of packet changes in a network
US8619594B2 (en) 2009-07-31 2013-12-31 Avaya Inc. System and method for comparing packet traces for failed and successful communications
GB2507991A (en) * 2012-11-15 2014-05-21 Zerolatency Ltd Network latency determination using compressed timestamps
GB2510198B (en) * 2013-01-29 2015-04-08 Canon Kk Method and device for encoding a header in a message using an indexing table
US9270109B2 (en) 2013-03-15 2016-02-23 Schweitzer Engineering Laboratories, Inc. Exchange of messages between devices in an electrical power system
US9065763B2 (en) 2013-03-15 2015-06-23 Schweitzer Engineering Laboratories, Inc. Transmission of data over a low-bandwidth communication channel
US9620955B2 (en) 2013-03-15 2017-04-11 Schweitzer Engineering Laboratories, Inc. Systems and methods for communicating data state change information between devices in an electrical power system
US11082544B2 (en) * 2018-03-09 2021-08-03 Microchip Technology Incorporated Compact timestamp, encoders and decoders that implement the same, and related devices, systems and methods
US10819727B2 (en) 2018-10-15 2020-10-27 Schweitzer Engineering Laboratories, Inc. Detecting and deterring network attacks

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2642245B1 (fr) 1988-12-30 1991-04-05 Cit Alcatel Systeme de reception et de traitement de trames hdlc transmises sur liaison mic multivoies a multiplexage temporel, notamment pour commutateur de donnees
JP2655547B2 (ja) * 1991-03-13 1997-09-24 富士通株式会社 Crc演算方法及びatm交換方式におけるhec同期装置
CA2065578C (en) 1991-04-22 1999-02-23 David W. Carr Packet-based data compression method
JP2993540B2 (ja) * 1991-12-26 1999-12-20 新日本製鐵株式会社 昇順整数列データの圧縮および復号システム
FR2687259B1 (fr) * 1992-02-11 1994-05-06 Ouest Standard Telematique Sa Procede de compression de donnees pour systeme de transmission par unites de donnees de protocole, procede de decompression et dispositif correspondant.
US5689589A (en) * 1994-12-01 1997-11-18 Ricoh Company Ltd. Data compression for palettized video images
JP3509285B2 (ja) 1995-05-12 2004-03-22 富士通株式会社 圧縮データ管理方式
US5742773A (en) * 1996-04-18 1998-04-21 Microsoft Corporation Method and system for audio compression negotiation for multiple channels
US5835730A (en) * 1996-07-31 1998-11-10 General Instrument Corporation Of Delaware MPEG packet header compression for television modems
US6111871A (en) * 1996-08-07 2000-08-29 Lucent Technologies Inc. Network design for both compressed and uncompressed ATM cells
JP3695873B2 (ja) * 1997-01-13 2005-09-14 東京瓦斯株式会社 無線システム
WO1999004338A1 (en) 1997-07-15 1999-01-28 Comsat Corporation Method and apparatus for adaptive control of forward error correction codes
US6041054A (en) * 1997-09-24 2000-03-21 Telefonaktiebolaget Lm Ericsson Efficient transport of internet protocol packets using asynchronous transfer mode adaptation layer two
US6032197A (en) * 1997-09-25 2000-02-29 Microsoft Corporation Data packet header compression for unidirectional transmission
US6317433B1 (en) * 1997-10-16 2001-11-13 Cisco Technology, Inc. Method and system for optimizing transmission link bandwidth occupation in high speed digital networks
US6115394A (en) * 1998-03-04 2000-09-05 Ericsson Inc. Methods, apparatus and computer program products for packet transport over wireless communication links
FI107000B (fi) 1999-02-17 2001-05-15 Nokia Mobile Phones Ltd Otsikon pakkaaminen reaaliaikaisissa palveluissa
US6680921B1 (en) * 1999-06-18 2004-01-20 Telefonaktiebolaget Lm Ericsson (Publ) Estimation of time stamps in real-time packet communications
US6754231B1 (en) * 1999-06-18 2004-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Robust header compression in packet communications
US6535925B1 (en) 1999-11-09 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Packet header compression using division remainders
JP3730835B2 (ja) * 2000-03-03 2006-01-05 株式会社エヌ・ティ・ティ・ドコモ パケット伝送方法、中継装置およびデータ端末

Also Published As

Publication number Publication date
CA2388362C (en) 2011-01-11
US6535925B1 (en) 2003-03-18
JP2003514445A (ja) 2003-04-15
EP1228619B1 (de) 2008-02-13
AU1428001A (en) 2001-06-06
EP1228619A1 (de) 2002-08-07
KR20020050266A (ko) 2002-06-26
DE60038035D1 (de) 2008-03-27
KR100689612B1 (ko) 2007-03-08
CA2388362A1 (en) 2001-05-17
JP4703080B2 (ja) 2011-06-15
EP1228619B8 (de) 2008-04-30
WO2001035597A1 (en) 2001-05-17

Similar Documents

Publication Publication Date Title
DE60038035T2 (de) Headerkomprimierung durch verwendung von divisionsresten
DE60030117T2 (de) Schätzung von zeitstempeln in echt-zeit paketübertragung
DE60028399T2 (de) Robuste header-komprimierung bei paketbasierter kommunikation
DE60128359T2 (de) Erneute benützung von feste checksuminformationen bei datenkopfkomprimierung
DE60316094T2 (de) Verfahren, Vorrichtung und System für die Komprimierung von verlängerten Kopffeldern
DE60110303T2 (de) Verfahren und Vorrichtung zur Paketübertragung mit Paketenkopfkompression
DE60122773T2 (de) Verfahren und vorrichtung zur verarbeitung von datenpaketen
DE60014852T2 (de) Headerkompression in echtzeitdiensten
DE60304938T2 (de) Kompression von Protokollnachrichten in einem Mobilfunksystem
DE60027875T2 (de) Aktualisierung des Headerkompressionszustands in Paketübertragung
DE69832799T2 (de) Verfahren und Vorrichtung zur Regelung der Kodierungsrate in einem Kommunikationssystem variabler Rate
DE60208466T2 (de) Verfahren und Vorrichtung zur Fehlerkorrektur der statischen Informationen im Kopffeld eines empfangenen Packets
EP1258085B1 (de) Verfahren zum anpassen der einem turbo-codierer zuzuführenden datenblöcke und entsprechende kommunikationsvorrichtung
DE60112525T2 (de) Vorrichtung und Verfahren für Kopfdekomprimierung
DE60018927T2 (de) Verfahren und Vorrichtung zur Datenpaketenübertragung
DE60116998T2 (de) In zugangstechnologie integrierte header-komprimierung
DE60020117T2 (de) Verfahren und Vorrichtung zur Datenpaketenübertragung
CH694114A5 (de) Verfahren, Datenübertragungsvorrichtung und mobile Station zum Verringern der Rahmenfehlerrate bei Datenübertragung in Form von Datenrahmen.
EP1147613A1 (de) Verfahren zur übertragung quellencodierter digitaler signale
DE60129417T2 (de) Effiziente kopfteilunterdrückungskontext-aktualisierung bei der paketkommunikation
WO2006010689A1 (de) Codier- und decodierverfahren, sowie codier- und decodiervorrichtungen mit einem zweistufigen fehlerschutzverfahren
EP1175047A2 (de) Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
EP2297967B1 (de) Vorrichtungen und verfahren zum verarbeiten von datenpaketen eines datenstroms, sowie eine verwendung der vorrichtungen
EP1236372B1 (de) Verfahren zum betreiben eines mobilfunknetzes
DE69928682T2 (de) Audiocodierer, der Paketabschnitte wiederholt sendet

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), STOCKH, SE

8364 No opposition during term of opposition