[go: up one dir, main page]

JP4612028B2 - データ・パケットのヘッダ・フィールドを圧縮するための技術 - Google Patents

データ・パケットのヘッダ・フィールドを圧縮するための技術 Download PDF

Info

Publication number
JP4612028B2
JP4612028B2 JP2007236622A JP2007236622A JP4612028B2 JP 4612028 B2 JP4612028 B2 JP 4612028B2 JP 2007236622 A JP2007236622 A JP 2007236622A JP 2007236622 A JP2007236622 A JP 2007236622A JP 4612028 B2 JP4612028 B2 JP 4612028B2
Authority
JP
Japan
Prior art keywords
jitter
packet
header
value
current
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
JP2007236622A
Other languages
English (en)
Other versions
JP2008035543A5 (ja
JP2008035543A (ja
Inventor
シエム リ
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2008035543A publication Critical patent/JP2008035543A/ja
Publication of JP2008035543A5 publication Critical patent/JP2008035543A5/ja
Application granted granted Critical
Publication of JP4612028B2 publication Critical patent/JP4612028B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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
    • 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
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
  • Communication Control (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

本発明は、データ・パケットのヘッダ・フィールドを圧縮する方法及び装置に関する。より具体的には、本発明はタイマー及び基準に基づく方式を用いてデータ・パケットのヘッダ・フィールドを圧縮するための方法及び装置に関する。
インターネット・プロトコル(IP)に基づく実時間マルチメディアのために、「実時間転送プロトコル(RTP)」プロトコルがユーザー・データグラム・プロトコル(UDP/IPの上で主として使用されている。結合されたIP/UDP/RTPヘッダのサイズはIPv4については少なくとも40バイトであり、IPv6については少なくとも60バイトである。パケットあたり40−60バイトのオーバーヘッドは、スペクトル効率が主な関心事であるシステム(例えば、セルラー・ネットワークなど)では重いと考えられることがある。従って、適当なIP/UDP/RTPヘッダ圧縮方法が必要である。現在のヘッダ圧縮方式がRFC2508に記載されており、それは40/60バイトのIP/UDP/RTPヘッダをポイントツーポイント・リンクで2または4バイトまで圧縮することができる。現存するヘッダ圧縮アルゴリズムは、IPパケット・ヘッダの殆どのフィールドはセッションの期間中パケット・ストリーム中で不変のままであるという所見に基づいている。従って、解凍器において圧縮状態(全ヘッダ情報)を確立し、最少量のヘッダ情報を圧縮器から解凍器へ伝えることによりヘッダ情報を圧縮することが可能である。
RFC2508は、殆どの時間、パケット毎に異なるRTPタイムスタンプなどのRTPフィールドを線形補外法により予測することができるという着想に基づいている。本質的に、送られなければならない唯一の情報は、エラー及びパケット喪失検出(コンテキストIDも)のために使われるシーケンス番号である。センダー(送信側)が現在のパケットに線形補外法を適用できないと判定したときには、直前のパケットに関する一次差情報が送られる。セッションを開始するために、完全なヘッダが送られる。更に、レシーバー(受信側)は、(シーケンス番号が2以上増大したことにより検出される)パケット喪失があると判定したときには、再同期化を可能とするために完全なヘッダを送ることをセンダーにはっきり要求する。
しかし、RFC2508で定義されているヘッダ圧縮は、帯域幅が非常に貴重であってエラーがありふれている或る環境(セルラーまたは無線の環境)には良く適してはいない。RFC2508ヘッダ圧縮方式では、RTPタイムスタンプは殆どの時間線形に増大するパターンを有すると仮定される。ヘッダがそのパターンに従っているときには、圧縮されているヘッダには本質的に短いシーケンス番号が必要とされるに過ぎない。ヘッダがそのパターンに従っていないときには、圧縮されているヘッダで現在のヘッダのRTPタイムスタンプと前のものとの差が送られる。符号化テーブルを使用することにより更に最適化することが可能である。このアプローチには三つの欠点がある。最初の一つは、前のヘッダの喪失が現在のヘッダの解凍を無効にするので、それはエラーに対して強くないことである。第2のは、RTPタイムスタンプの差或いはジャンプが非常に大きくて符号化ルックアップ・テーブルからはみ出すことがあることである。例えば、媒体が声であるならば、その様な大きな差は無言間隔により生じることがある。第3のは、結果としての符号化されている差のサイズが変化しやすく、そのために、割り当てられるべき帯域幅を予測し管理することがいっそう困難になることである。
従って、フィールドの値(例えばRTPタイムスタンプの値)の任意のジャンプに配慮することができ、より一貫した或いは一定のサイズを生じさせ、エラーに対してより強いヘッダ圧縮方式が必要である。
タイマーに基づくヘッダ解凍技術等を提供する。
RTPソースは、RTPタイムスタンプなどのヘッダ・フィールドを作る。該タイムスタンプはネットワークを介して圧縮器に送られる。該圧縮器において、受信されたタイムスタンプ(ヘッダ)のジッターが過度であるか否か判定するためにジッター減少機能(JRF)が使用される。もしジッターが過度であれば、そのパケットは捨てられる。さもなければ、該圧縮器は、RTPタイムスタンプと該タイムスタンプの初期値とに基づいて圧縮されているヘッダ・フィールド(圧縮されているタイムスタンプ)を計算する。その圧縮されているタイムスタンプは、該ソースと解凍器との間のネットワークがパケットの伝送に及ぼす効果として計算されるジッターを表す。その計算されたジッターは、ソースと圧縮器との間のネットワークがパケットの伝送に及ぼす効果を表すネットワーク・ジッターと圧縮器と解凍器との間のネットワークがパケットの伝送に及ぼす効果を表す無線ジッターとの集積である。本書で使用される“ネットワーク”という用語は、例えば無線電気通信ネットワークにおける無線リンクを排除しない広い用語であるべく意図されている。圧縮されているタイムスタンプを含むRTPパケットは、リンクまたはネットワークを介して解凍器へ送られる。
解凍器は、始めに端末に置かれているタイマーの現在の値に基づいて(即ち、経過した時間に基づいて)タイムスタンプの見積もり或いは近似値を計算することにより、圧縮されているタイムスタンプを解凍する。そのタイムスタンプの近似値は、パケット・ヘッダに与えられている圧縮されているタイムスタンプに基づいて改良或いは訂正される。この様に、現在のパケット(ヘッダ)についてのタイムスタンプがローカル・タイマーと現在のヘッダに与えられている圧縮されているタイムスタンプとに基づいて再生される。そのパケットと再生されたタイムスタンプとは、処理のためにRTPエンドポイントに供給される。
本発明のタイマーに基づく方式は幾つかの利点を包含している。本書で使用される“タイマーに基づく方式”という用語は、圧縮されているタイムスタンプを使用するタイマーに基づく方式と、本書で開示されるタイマー及び基準に基づく方式とを含む。圧縮されているタイムスタンプ(或いは他のヘッダ・フィールド)のサイズは一定で小さい。更に、サイズは沈黙の間隔の長さの関数として変化しない。(タイムスタンプを作る)RTPソースにおけるタイマー・プロセスと解凍器プロセスにおけるタイマーとの間に同期化は不要である。また、圧縮されているヘッダの部分的タイムスタンプ情報は自己充足していて、完全なRTPタイムスタンプ値を作るためには解凍器タイマー値と結合されるだけでよいので、この技術はエラーに対して強い。ヘッダの喪失或いは破損は後の圧縮されているヘッダを無効にしない。
本発明の第2の実施態様は、伝送の前に(例えばRTPタイムスタンプを含んでいる)ヘッダがRTPパケットからはぎ取られ或いは取り除かれるヘッダはぎ取り(ヘッダフレーム除去(stripping))方式を提供する。回路のような接続(例えば回路または仮想回路)または本質的に一定ビットレートのチャネルを通してヘッダはぎ取り器とヘッダ生成器とが接続される。初期化後、該ヘッダはぎ取り器は各パケットからヘッダをはぎ取り或いは取り除き(タイムスタンプとシーケンス番号とを取り除くことを含む)、その後にその無ヘッダ・パケットをヘッダ生成器へ送る。ヘッダはぎ取り器でパケット・ジッターを除去するために、パケットはヘッダ中のRTPタイムスタンプ(TS)に従って時間間隔を置いて送られることができる。従って、この実施態様では、タイムスタンプはRTPパケットに明示的には供給されない(圧縮されているタイムスタンプも)。むしろ、タイミング情報は、ヘッダはぎ取り器と再生器との間の本質的に一定ビットレートのチャネルに基づいてヘッダ再生器に暗示的に供給される。本質的に一定ビットレートのチャネルは幾つかの異なる方法で設けられることができる。
この第2実施態様では、初期化が行われた後(例えば最初のシーケンス番号及びタイムスタンプをヘッダ再生器に提供するなど)ヘッダ再生器は、Tミリ秒毎にTS_strideだけローカル・タイムスタンプ・カウンターをインクリメントすることにより引き続くパケットのためにタイムスタンプを再生することができると共にパケット持続時間毎にローカルSNカウンターを1だけインクリメントすることによりパケットのシーケンス番号を再生することができる。これらのフィールドは、パケット・ジッターが導入されないヘッダはぎ取り器とヘッダ再生器との間に設けられている本質的に一定ビットレートのチャネルの故にローカル・タイマーまたはカウンターのみに基づいて再生されることができる。従って、初期化後、これらのヘッダ・フィールドはローカル・クロックのみに関してヘッダ再生器で再生されることができる。
しかし、もし対処されなければ、フィールド再生のためにローカル・タイマーまたはクロックのみに依拠するヘッダーはぎ取りアプローチをおそらく無効にしかねないような1つまたは数個の基本的不連続事象(例えば、パケット・サイズまたはTS_strideの変化、タイムスタンプの非線形シフト、など)が発生するかも知れない。ヘッダ・ストリングは、既知のまたは線形予測可能なフィールドを有する一連のパケット・ヘッダである。1つのストリングから他のへの移行は幾つかの不連続事象のうちのいずれかにより引き起こされることができる。これが発生するとき、ヘッダはぎ取り器は、不連続事象を特定して、タイムスタンプ及びシーケンス番号の再生が続いて行われ得るように該事象に関連する更新されたヘッダ情報をヘッダ再生器へ送る。ハンドオーバーがあるときにも、更新されたヘッダ情報を提供する同様の技術を使用することができる。
本発明は、添付図面と関連させて以下の詳細な説明を考慮すればいっそう明らかとなろう。
I.圧縮されているタイムスタンプを使用するタイマーに基づく方式
A.アーキテクチャ
図1は、本発明の実施例に従うシステムを図解するブロック図である。端末102がIPネットワーク108に接続されている。端末102は、RTP/UDP/IPを動作させ、ネットワーク110を介して伝送されるRTPパケットでパケット化された音声サンプルを供給するパーソナルコンピュータ等であることができる。端末102は、この端末(例えば、IPアドレス、ポート番号などを含んでいる)をRTPパケットについてのソースまたはデスティネーションとして特定するRTPエンドポイント104を含んでいる。IPネットワークは例としてあげられるけれども、代わりに他の種類のパケット交換ネットワーク等を使用することができる。本書で使用される“ネットワーク”という用語は、例えば無線電気通信ネットワークにおける無線リンクを排除しない広い用語であるべく意図されている。端末102は、タイムスタンプを作るためのローカル・タイマー103も含む。
アクセス・ネットワーク・インフラストラクチャー(ANI)110がIPネットワーク108に接続されている。無線端末130は無線周波数(RF)リンク140を介してANI110に結合される。本書に記載されている無線端末130は、例えば、その環境に応じて無線圧縮器または無線解凍器であることができる。これは、特にパケットのソースまたはパケットのデスティネーションが無線端末130とは別であるときに、そうなる。RFリンク140は、アップリンク142(端末130からANI110へ)及びダウンリンク144(ANI110から端末130へ)を含む。ANI110は、一つの領域内の1つ以上の無線(或いは無線周波数)端末(端末130を含む)をインターフェースでIPネットワーク108と接続させ、ワイヤーライン信号(IPネットワーク108から供給される)と無線またはRF信号(端末130へまたはそれから供給される)との間の変換を含んでいる。従って、ANI110は、IPネットワーク108から受信されるRTPパケットがRFリンク140を介して無線端末130へ送られることを可能にすると共に、RTPパケットが端末130からIPネットワーク108を介して端末102などの他の端末へ送られることを可能にする。
本発明の実施態様に従って、ANI110はANI_AD112及びANI_AD114などの1つ以上のANIアダプター(ANI_AD)を含んでおり、その各々が好ましくはタイマーを含む。各ANI_ADは、ヘッダ圧縮(ダウンリンク伝送の前に)及び解凍(アップリンク伝送後に)を実行する。IPネットワーク108から受信されるRTPパケットについてのヘッダ(または、タイムスタンプなどの1つ以上のヘッダ・フィールド)はダウンリンク142を介しての端末130への伝送の前にANI_AD112により圧縮され、端末130から受信されるパケット・ヘッダはIPネットワーク108への伝送の前にANI_AD112により解凍される。従って、各ANI_ADは圧縮器/解凍器115と見なされても良い。各ANI_ADは、領域内の特定のまたは異なる区域に位置する端末をインターフェースでIPネットワーク108に接続することができる。ANI_AD112は、タイマーに基づく解凍技術を実行するためにタイマー113を含んでいる。ANI_AD112は、ネットワーク108を介して受信されたパケット(またはヘッダ)についてのジッターを測定して過度のジッターを有するパケット/ヘッダを捨てるジッター減少機能(JRF)115も含んでいる。
追加の領域内に位置する他の端末をインターフェースでIPネットワーク108に接続するためにANI120などの追加のANIを設けることができる。ANI120は同様にANI_AD122(図1)などの1つ以上のANI_ADを含んでいる。各ANI_ADはタイマーとJRFとを含んでいる。
端末130は、RTPパケットのソース及び/又はデスティネーション(レシーバー)であるRTPエンドポイント132を含んでいる。端末130は、(アップリンク142で伝送されるべきパケットのための)ヘッダ圧縮と(ダウンリンク144を介して受信されるパケットに対する)解凍とを実行する端末アダプター(term_AD)136を含む。そこで、端末アダプター(term_AD)は、ANI_ADと同様の、ヘッダ圧縮器/解凍器137と見なされ得るものである。
端末アダプター(term_AD)136は、現在のヘッダのRTPタイムスタンプの近似値(または見積もり)を計算するためのタイマー134(レシーバー・タイマー)も含む。端末アダプター(term_AD)136は、RTPヘッダ内の付加的情報を使用してタイムスタンプ近似値を改良或いは訂正する。本発明の実施態様に従って、タイムスタンプ近似値はRTPヘッダで供給される圧縮されているタイムスタンプに基づいて訂正または調整される。この様に、ローカル・タイマーと圧縮されているタイムスタンプとを使用して各RTPヘッダについて正しいタイムスタンプを再生することができる。それ自身のRTPエンドポイント、端末アダプター及びタイマーを各々包含する他の端末(端末150など)を設けることができる。
図1に示されている構成は単に例として与えられているに過ぎず、本発明はこれに限定されない。むしろ、図1は、帯域幅が非常に貴重であってエラーが希なデータリンクまたはシステム(無線リンク140など)を介してRTPデータが送られる例を一つ与えているに過ぎない。本発明は、無線リンクには限定されなくて、多様なリンク(無線リンク等を含む)に適用され得る。
タイマーに基づくヘッダ圧縮及び解凍方式が役に立つことのある1つのアプリケーション例は、IP経由音声(Voice over IP)(またはIP電話)パケットがセルラー・システムを介して伝送されるところにある。VoIPがセルラーシステムに適用されるときには、無線またはエアー(RF)インターフェースの帯域幅が限られていることによるIP/UDP/RTPヘッダのオーバーヘッドを最小限にすることが重要である。その様なシステムでは、例えば、ANI_ADは、IPネットワークを、RTP/UDP/IP(例えば、端末130)を動作させると共に無線またはRFリンクを介してRTPパケットを受信するためのセルラーまたはRFインターフェースを有するコンピュータ端末にインターフェースで接続する。これは本発明の圧縮/解凍技術の単なる1例に過ぎない。
図2は、本発明の実施態様に従うRTPパケットの圧縮されていないフォーマットを図解する図である。図2に示されているように、圧縮されていないRTPパケットは、IPヘッダ、UDPヘッダ212、RTPヘッダ214、及び音声サンプル216であって良いペイロードを含む。
図3は、本発明の実施例に従う圧縮されていないRTPヘッダ・フォーマットを図解する図である。図3に示されているように、圧縮されていないRTPヘッダはタイムスタンプ(TS)310と、シーケンス番号(S.N.)312と、他の何らかのフィールド314とを含む。IPネットワーク108のパケット交換性の故に、RTPパケットは順番が狂って到着することがある。シーケンス番号312は、RTPレシーバーまたはRTPデスティネーション(例えば、端末130、図1)においてRTP音声サンプルを正しい順序に組み立てるために使用される。しかし、RTPパケット内のシーケンス番号は、フィールド内の如何なる非線形変化(例えば、音声信号の沈黙の間隔)をも反映しない。従って、各パケットの相対的タイミングを示すためにタイムスタンプ(TS)310が供給される。
前述したように、各RTPパケット内のIP/UDP/RTPヘッダにより供給される40−60バイト・ヘッダ・オーバーヘッドは大きすぎるという心配がある。特に、低速のまたは限られた帯域幅のリンク(リンク140など)を介して動作するRTPパケットのためには4バイトRTPタイムスタンプは特に負担となる。その結果として、RTPヘッダを効率的に圧縮し、特にRTPヘッダのタイムスタンプ・フィールドを圧縮する方法が必要である。
RFC2508に記載されているヘッダ圧縮技術は、最初に、全てのフィールドを含む完全な(圧縮されていない)RTPパケットをRTPデスティネーション/レシーバーに送る。接続中ヘッダのフィールドの多くには変化が無く、従って、最初のパケットが送られて受信された後は送られなくても良い。殆どのパケットについては、シーケンス番号とタイムスタンプだけがパケット毎に変化する。RFC2508に従って、不変ではないフィールド(例えば、タイムスタンプ及びシーケンス番号)は、(固定されている)一次差をレシーバーに蓄積されているそれらのフィールドの前の値に加えることによってレシーバーで更新される。例えば、受信された各々のRTPパケットのシーケンス番号は各パケットについて1だけ自動的にインクリメントされる。不変ではないフィールドにおける付加的なジャンプまたは変化(即ち、一次差とは異なる)は別々にレシーバーに送られなければならない。あいにく、RFC2508では、前のヘッダの喪失はレシーバーにおける解凍を無効にする。また、差のサイズは変化し、それはRFC2508の圧縮技術を用いて帯域幅を管理し予測することをいっそう困難にする。
本発明の実施態様に従って、パケット・ヘッダのRTPタイムスタンプ(または他のフィールド)をより効率良く圧縮するために使用することのできるヘッダ圧縮技術が提供される。本発明の実施態様に従って、該圧縮方式はRTPタイムスタンプ値の任意のジャンプに配慮し、同時に一定サイズの圧縮されているRTPヘッダ(または一定サイズRTPタイムスタンプ)を生じさせることができる。
図4は、本発明の実施例に従う圧縮されているRTPヘッダ・フォーマットを図解する図である。図4に示されているように、圧縮されているRTPヘッダは、メッセージのタイプを示すメッセージ・タイプ410と、変化するフィールドを特定するビット・マスク412と、圧縮されているタイムスタンプ・フィールド414とから成ることができる。メッセージ・タイプ410は、もし圧縮されているタイムスタンプがパケット・ヘッダに設けられているならば、圧縮されているタイムスタンプを示すことができる。本発明の実施態様に従って、圧縮されているタイムスタンプ・フィールド414は、パケットとパケットとの間に経過した時間を示すことのできる値のk個の最下位ビット(lsbs)を含む。本発明の実施態様に従って、圧縮されているタイムスタンプ414はソース・カウンター値(またはカウンター差)の一部分(即ち、k個の最下位ビット)を提供することができる。ソース・カウンターは、各RTPパケット・ヘッダについてタイムスタンプを作るために使用されることができる。オプション・フィールド416は、ビット・マスク412で特定されているフィールドのために更新されているまたは変更されているフィールドを提供するために使用されることができる。
B.タイムスタンプ圧縮及び解凍の全動作
本発明の実施態様に従って、RTPタイムスタンプの圧縮及び解凍を簡単に説明する。実施態様に従って、RTPパケットはRTPエンドポイント(端末102のRTPエンドポイント104など)で作られて他のRTPエンドポイントへアドレス指定される。この例では、RTPエンドポイント104は、端末130のRTPエンドポイント132(デスティネーション)へ送られるべき1つ以上のRTPパケットのソースである。RTPパケット・ヘッダはタイムスタンプを含み、それは柱時計に基づいてRTPソースで(例えば端末102で)作られる。
RTPパケットは、IPネットワーク108を介してANI110のANI_AD112へ送られる。ANI_AD112はRTPパケットのヘッダの1つ以上のフィールドを圧縮する。特に、ANI_ADは、RTPタイムスタンプ310(図3)を圧縮して圧縮済みタイムスタンプ414(図4)にする。ヘッダ内の他のフィールドは、それらを除去することにより或いは他の何らかの技術を用いることにより、圧縮されることができる。圧縮されているタイムスタンプ414を含むRTPパケットは、RFリンク140のダウンリンク144を介して端末130へ送られる。
圧縮されているヘッダ(即ち、圧縮されているタイムスタンプ414)を伴うRTPパケットを受信すると、端末130の端末アダプター(term_AD)136はタイムスタンプ値を解凍する。端末アダプター136は、始めにタイマー134の現在の値に基づいてタイムスタンプの見積もりまたは近似値を計算することにより、圧縮されているタイムスタンプ414を解凍する。次にそのタイムスタンプの近似値は、パケット・ヘッダに設けられている圧縮されているタイムスタンプ414に基づいて改良または訂正される。この様に、現在のパケット(ヘッダ)についてのタイムスタンプは、ローカル・タイマー(タイマー134)と、現在のヘッダに設けられている圧縮されているタイムスタンプとに基づいて再生される。該パケット・ヘッダの他のフィールド(シーケンス番号など)も再生されることができる。該パケットと再生されたタイムスタンプとは、処理のためにRTPエンドポイント132へ供給される。するとRTPエンドポイント132は、(シーケンス番号により明示される)正しい順序で且つ(例えば沈黙の間隔を償うために)再生されたタイムスタンプにより明示される適切なタイミングをもって、音声サンプルを再生する。
ANI_AD112はRFリンク140を介して(圧縮されているタイムスタンプを含む)圧縮されているヘッダを受信することもでき、前記のタイマーに基づく解凍技術を用いてそのタイムスタンプを解凍する。従って、ANI_AD112は、該ANI_ADが前記のように圧縮されているタイムスタンプを解凍し得るように通常はタイマーを含むことができる。同様に、端末130のterm_AD136も、RTPパケットがRFリンク140を介してANI110へ送られる前に該RTPパケットのタイムスタンプを圧縮することができる。本発明の実施例の説明を簡単にするために、説明の大半はダウンリンク経路144へ向けられる。本発明の実施態様に従って、RTPパケットは両方向(アップリンク142及びダウンリンク144)に送られることができる。従って、ANI110のANI_AD112と端末130のterm_ADとは、共に、(RFリンク経由でのヘッダ/パケットの伝送のための)タイムスタンプ圧縮器及び(RFリンク140を介して受信される圧縮されているヘッダの受信の後)解凍器として作用することができる。
C.タイムスタンプ圧縮及び解凍の実施例
タイムスタンプ圧縮及び解凍の実施例を簡単に説明する。RTPパケット内のデータは音声データであると仮定する。下記の変数及び式は本発明の特徴の幾つかを説明する助けとなるように定義されているに過ぎず、本発明はそれに限定されない。また、本発明は、同じまたは類似のタイプの変数を使用するシステムには限定されず、また以下に記載する特定の計算を実行するシステムに限定されない。それらの変数及び計算は単に本発明の実施例として提供されるに過ぎない。
T−はRTP音声サンプル間の時間間隔である。(もし各RTPパケットに1つの音声サンプルが供給されているならば、TはRTPパケット・ヘッダ間の間隔でもある)。
TS−タイムスタンプ
TS_stride−RTPタイムスタンプはTミリ秒毎にTS_strideだけインクリメントされる。換言すると、RTPタイムスタンプは新しいRTPパケット毎にTS_strideだけ大きくなる。TS_strideは、音声コーデックに依存する定数(例えば100)である。TS_strideは、レシーバー(端末130)とANI_AD112とに供給される。
TS0−RTPレシーバーで受信されるセッションの第1ヘッダのRTPタイムスタンプ。セッションの第1ヘッダは、同期化のために使われるので、同期化ヘッダであると見なされる。TS0は、セッションの始めに(同期化のために)圧縮器(例えば、ANI_AD112)と解凍器(例えばterm_AD136)との両方に供給されるRTPタイムスタンプの初期値である。一つの実施態様に従って、ANI_ADとterm_ADとは、圧縮されていないヘッダ(TS0を与える圧縮されていないタイムスタンプを含む)を伴うRTPパケットを受信することにより初期化或いは同期化される。本発明の一つの実施態様に従って、タイマーに基づく解凍技術は、初期タイムスタンプTS0を(例えば、圧縮されていない最初のまたは同期化ヘッダを通して)タイムスタンプ圧縮器(即ち、ANI_AD112)に供給すると共に、圧縮されているヘッダが適切に解凍される前に(即ち、解凍器が該タイムスタンプを正しく再生できるように)解凍器(即ち、term_AD136)に供給することを必要とする。
(時間m*Tミリ秒において作られた)パケット・ヘッダmのRTPタイムスタンプ=TS0+TS_stride*m。これは、各音声サンプルについて1つのヘッダがあることを仮定している。以下で説明する例において示されるように、この式は、1パケット・ヘッダあたりに複数の音声サンプル(例えば、3音声サンプル)がある場合に拡張されることができる。
m−送られた音声サンプルの数を示す整数。mは、セッションの始めに0にリセットまたはクリアされる。mは、セッションの始まりから経過した時間の量に比例し(またはその量を示す)。mは、Tミリ秒毎に1だけインクリメントされる。
TS_current=TS0+m_current*TS_stride;現在のパケット・ヘッダについての現在のタイムスタンプ。
レシーバー・タイマー−端末130のタイマー134などの、RTPレシーバー(またはRTPデスティネーション)にあるタイマー。ローカル・レシーバー・タイマーは通常はフリーランニングであり、セッションの始まりにリセットされない。むしろ、2つのパケット・ヘッダの受信の間にRTPレシーバーで経過した時間を、前のパケット・ヘッダが受信されたときのレシーバー・タイマー値から現在のヘッダのタイマー値を差し引くことによって、得ることができる。レシーバー・タイマーがフリーランニングすることを許すことにより、1つのレシーバー・タイマーを多数のフローまたはセッションが共有することができる。その代わりに、レシーバー・タイマーを各セッションの始めにリセットすることができる。セッションの始めに(即ち、初期化ヘッダの受信時に)レシーバー・タイマーをリセットまたはクリアするためには、各セッションまたはフローのために専用のレシーバー・タイマー(タイマー・プロセス)が必要となろう。セッションの第1の圧縮されていないタイムスタンプ(TS0)を初期化ヘッダでANI_AD及びterm_ADに供給することができる。第1ヘッダは、圧縮器(ANI_AD112)及び解凍器(term_AD136)を初期化するために供給される。その後、レシーバー・タイマーはTミリ秒毎に1だけインクリメントされる。ANI_AD112(圧縮器)は、TS0値を使用してその後のRTPパケット・ヘッダのタイムスタンプを圧縮する。term_AD136(解凍器)は、TS0値を使用して、圧縮されているタイムスタンプ値を解凍する(例えば、その後に受信されたRTPヘッダのタイムスタンプを再生するために)。
current_timer−現在のヘッダが受信されたときのRTPレシーバー(例えば、端末130)におけるタイマーの値
last_timer−最後のヘッダが受信されたときのレシーバーにおける時間の値。(タイムスタンプの次のヘッダ計算のためにcurrent_timerはlast_timerとして蓄積される)。
m_last−最後に受信されたヘッダについてのmの値;mは初期化ヘッダから経過した音声フレームの数を示す。
現在のパケットのタイムスタンプを圧縮するために、ANI_AD112はmの現在の値を: m_current=(TS_current−TS0)/TS_strideとして計算する。従って、ANI_ADは、(セッションの始めにおける)タイムスタンプの初期値を現在のタイムスタンプから差し引く。この差は、タイムスタンプ・ストライド(TS_stride)で割られる。しかし、或る実施態様では、割り算を実際に実行することは不要であるかも知れない。割り算を実行せずにm_currentを適切に作るために他の方法を使用することができるが、それは高いプロセッサ・オーバーヘッドを必要とするかも知れない。
その後、m_currentのk個の最下位ビットが圧縮されているタイムスタンプ414として供給される。圧縮されているタイムスタンプ414を含むRTPパケットは、RFリンク140を介してRTPデスティネーションまたはレシーバー(例えば、端末130)に送られる。
RTPレシーバー(例えば、端末130)において、端末アダプター(term_AD)136は、圧縮されているタイムスタンプ414を解凍する。前のヘッダのcurrent_timer値は始めにlast_timerとして蓄積される。それから、現在のヘッダが到達したとき、term_AD136はレシーバー・タイマー134の値を読み、それをcurrent_timerとしてメモリーに蓄積する。次に、timer_diffがtimer_diff=current_timer−last_timerとして計算される。ANI_ADは整数dを発見することによりm_currentの正確な値を計算し、ここで:
(−L/2<d≦L/2、ここでL=2k): (方程式1)
(d+m_last+timer_diff)のk個の最下位ビット=圧縮されているタイムスタンプ414(現在のヘッダについての)である。
(方程式2)
前記の様に、受信される圧縮されているタイムスタンプもkビットである。方程式1及び2を用いてdが計算されると、次にTS_currentを:
TS_current=TS0+(d+m_last+timer_diff)*TS_stride
(方程式3)
として計算することができる。方程式3において、m_currentの実際のまたは正しい値は(d+m_last+timer_diff)として括弧内に示されている。m_last+timerはm_currentの近似値であり、dはm_currentの近似値とm_currentの正しい値との差である。また、TS0+(m_last+timer_diff)*TS_strideは現在のタイムスタンプ値の近似値であり、d*TS_strideは、近似された現在のタイムスタンプと現在のタイムスタンプの実際の(または正しい)値との差である。
従って、RTPレシーバーは、始めに、現在のヘッダと(正しく解凍された)前のヘッダの受信の間に経過した時間に基づいて現在のタイムスタンプの近似値(または見積もり)を:近似された現在のタイムスタンプ=TS0+(m_last+timer_diff)*TS_stride、として計算することが分かる。その近似された現在のタイムスタンプは、次に、正しい現在のタイムスタンプ値(TS_current)を計算するためにd*TS_strideの量だけ調整または訂正される。
TS_currentが計算された後、現在のRTPパケット(その再生されたまたは解凍されたタイムスタンプ、TS_current、を含む)がRTPエンドポイント132まで供給される。この圧縮及び解凍のプロセスはRTPエンドポイントにとっては透明である。
図5は、本発明の実施態様に従うヘッダ圧縮及び解凍の動作例を図解する図である。この例は、本発明の幾つかの特徴を例証するために前述の具体的な式の一部を適用する。この実施例では、RTPソース502とRTPレシーバー504とのタイマーは同じ周波数を有するけれども通常は同期していないということが仮定されている。RTPソースのタイマー(例えば、Tミリ秒毎に1だけインクリメントする)はタイムスタンプを作るために使用され、RTPレシーバーのタイマー(例えば、タイマー134)はRTPタイムスタンプを再生または解凍するために使用される。
図5を参照すると、セッションの始めに、初期タイムスタンプ値(TS0)を含む初期化ヘッダ508がRTPソースで作られる。初期化ヘッダ508はANIに送られ、次にRTPレシーバー504(例えば、端末130)に回送される。初期化ヘッダ内のタイムスタンプは圧縮されていない。初期化ヘッダが受信されると、初期タイムスタンプ値(TS0)はTS_strideと共にANI_ADのメモリーに蓄積される。1実施態様では、二つの初期化ヘッダがANI_ADに送られることができる。その後、ANI_ADはTS_strideを第2タイムスタンプ−第1タイムスタンプとして計算することができる。term_ADは同様にTS_strideを計算し或いはパケットでその値を受け取ることができる。
同様に、初期化ヘッダ508がRTPレシーバー(端末130)に受信されたとき、初期タイムスタンプ(TS0)はTS_strideと共にメモリーに蓄積される。また、初期化ヘッダ508の受信510時に(図5)、m_currentがクリアされまたはゼロ(0)にリセットされ、次にレシーバー・タイマーが読まれてinitial_receiver_timerとして蓄積される、516。セッションの始まりにタイマーを読む代わりに、レシーバー・タイマーをリセットまたはクリアすることができる。この例では、セッションの始まりにおけるレシーバー・タイマーの読まれた値は簡単のためにたまたまゼロ(0)である。従って、セッションの始まりにフリーランニングのタイマーがゼロとして読まれるので、図5に示されている例は両方の実施態様(単にレシーバー・タイマーを読むか、またはそれをゼロにリセットする)にあてはまる。同様に、m_currentをクリアする必要はなくて、その代わりにm_currentについて一つの値を記録することができる。その後、レシーバー・タイマーはTミリ秒毎に(例えば、1だけ)インクリメントされる。(これは、タイムスタンプを作るために使われるRTPソース502のタイマーと同じ周波数である)。初期化ヘッダ508は、固定された遅延(バルク遅延512)及び可変遅延(累積ジッター514)の後にRTPレシーバー502に到着する。
次に、RTPソース502は次のRTPパケット(初期化ヘッダ後の該セッションの第1RTPパケット)を作る。このRTPパケットは、初期化ヘッダが作られてから3*Tミリ秒後に作られ、従って通常は、例えば、3音声サンプルを含む。他の数も可能である。従って、図5に示されているように、このパケットのヘッダについてのタイムスタンプは:TS(1)=TS0+3*TS_strideである。TS(1)は、初期化から3Tミリ秒後に作られるタイムスタンプを指す。この例では、例えば、TS_strideは100であるということが仮定される。TS0は、例えば、0であると仮定される。従って、TS(1)=300である。
このパケットについてのタイムスタンプ値TS(1)は、ANI_ADで受信され、TS(1)(該タイムスタンプ値)、TS0(初期タイムスタンプ値)及びTS_stride(タイムスタンプがTミリ秒毎にインクリメントする量)に基づいて圧縮される。一つの実施例では、圧縮されているタイムスタンプをm_currentのk個の最下位ビットとして計算することができる。ANI_AD112は、mの現在の値を:m_current=(TS_current−TS0)/TS_strideとして計算する。この例では、TS_strideは例えば100であると仮定される。この例では、m_currentは:m_current=(300−0)/100=3として計算される。この例ではkは2である。従って、m_currentの2個の最下位ビット(二進数で11)がこのパケットについての圧縮されているタイムスタンプ414(CTS1)として供給される、図5。
圧縮されているタイムスタンプ(CTS1)はRTPレシーバー502に到達し、RTPレシーバーのterm_AD136は、現在のパケットについて、タイムスタンプTS(1)を再生または解凍する。current_timerの値(ゼロ)はlast_timerとして蓄積され、m_currentはm_lastとして蓄積される。m_currentは前にセッションの始まりに(即ち、同期化ヘッダの受信時に)ゼロにセットされた。レシーバー・タイマー値(この場合は3)が読まれてcurrent_timerとして蓄積される。次にTimer_diffがcurrent_timer−last_timerとして計算され、それは3−0=3である。Timer_diff+m_lastはm_currentの近似値である。
次にterm_AD136は、方程式(1)及び(2)を用いてm_currentの正確なまたは訂正された値を計算する。方程式(2)を使用すると、(d+m_last+timer_diff)の2個の最下位ビット=CTS1(現在のヘッダについての圧縮されているタイムスタンプ)である。この場合には、m_lastはゼロ(0)であり、timer_diffは3であり、CTS1は3である。従って、(d+0+3)の2個の最下位ビット=3である。従って、dはゼロに等しい。
次に方程式(3)を用いて、このパケットについての解凍されているタイムスタンプが:TS(1)=TS0+(d+m_last+timer_diff)*TS_strideとして計算される。従って、その結果として、TS(1)=0+(0+0+3)*100=300である。このパケットについての解凍されているタイムスタンプTS(1)=300は、次に、RTPデータ及び他の解凍されているヘッダ・フィールドと共に、RTPソースのRTPエンドポイント132に供給される。m_currentについての正しいまたは実際の値は(d+m_last+timer_diff)である。従って、このパケットについては、m_currentの近似値はm_currentの正しい値と同じであることが分かる(しかし、一般の場合にはそうではない)。次にm_currentは更新されて3になる。
次のパケット及びタイムスタンプが、タイムスタンプTS(2)=0+6*100=600を含めて、RTPソースで作られる。ANI_ADにおいて、TS(2)=600は(600−0)/100=6の2個の最下位ビットとして圧縮されて圧縮済みタイムスタンプとなる。この場合、6の二進数は110である。従って、110の2個の最下位ビットは10である。従って、CTS2は二進数で10である。
次に、このパケットについての圧縮されているタイムスタンプ(CTS2)はバルク遅延及び累積ジッターのためにレシーバー・タイマーが7の値に到達した後にterm_AD136で受信される。current_Timerの値(3)はlast_timerとして蓄積され、m_current(3)はm_lastとして蓄積される。現在のレシーバー・タイマー値(この場合には7)が読まれてcurrent_timerとして蓄積される。次にtimer_diffがcurrent_timer−last_timerとして計算され、それは7−3=4である。timer_diff+m_lastはm_currentの近似値であり、それは7である。
次に、term_AD136は、方程式(1)及び(2)を用いてm_currentについての正確なまたは訂正された値を計算する。方程式(2)を用いると、(d+m_last+timer_diff)の2個の最下位ビット=CTS(2)(現在のヘッダについての圧縮されているタイムスタンプ)である。この場合、m_lastは3であり、timer_diffは4であり、CTS2は10(二進数、これは十進法では3である)である。方程式2はdについて次のように解かれる:2lsbs(d+3+4)=2。7は二進法では111である。従ってd=−1である。dは、m_currentの近似値とm_currentの実際の値との差である。dを方程式(3)に入れて、このパケットについてのタイムスタンプはTS(2)=0+(−1+3+4)*100=600として計算される。従って、RTPレシーバーのterm_AD136は、ローカル・タイマーと圧縮されているタイムスタンプとに基づいてRTPタイムスタンプを正しく再生(例えば解凍)している。
前の技術とは違って、1つ以上のパケットがRTPレシーバーに到着しなかった場合に初期化ヘッダを送り直す必要がないことに注意するべきである。換言すると、RTPソースとレシーバーとの同期化はセッションまたは接続の始まりに1回だけ必要である。その理由は、現在のタイムスタンプがRTPレシーバーにおいてm_last及びtimer_diffの両方に基づいて計算されることにある。timer_diffはcurrent_timer−last_timerとして計算される。従って、m_last及びlast_timerの値は、どのパケットが最後に受信されたかということとは関わりなく(例えば、“最後の”パケットの後に送られたパケットが間違って落とされまたは失われたかということとは無関係に)、最後のパケットに対応する。その結果として、本発明の実施態様に従うタイマーに基づく圧縮方式は、エラーに対して強くて、またエラーが検出された(例えば、1つ以上のパケットが落とされまたは失われた)場合に(例えば全てのヘッダについて完全な圧縮されていない値を含む)新しい同期化パケットを送る必要がないので、帯域幅要件を減少させる。
正常な動作時には、m_currentの近似値と正確な値との食い違いの原因は:
a)RTPタイムスタンプの真のソースとレシーバーとの間の累積ジッター;実際の遅延=バルク遅延+累積ジッター、ここでバルク遅延は一定であり、累積ジッターはヘッダ毎に変化し、0≦累積ジッター≦最大累積ジッターである;並びに
b)タイマーの実施態様に依存する、タイマー・プロセスと解凍器プロセスとの存在することのある非同時性。その非同時性に起因して、タイマー値(current_timer)にプラスまたはマイナスのまたは1(+または−1)のエラーがあり得る。
図6は、本発明のもう一つの実施態様に従うヘッダ圧縮及び解凍の動作例を図解する図である。図5と同じく、図6はジッターとタイマー非同時性との効果を図解する図である。図5では、レシーバー・タイマーはセッションの始まりにだけリセットまたはクリアされる。(レシーバー・タイマーはただ動作し続けることを許されるので、これは不要である。)しかし、図6で図解されている実施例では、レシーバー・タイマーは各パケットについてゼロ(0)にリセットまたはクリアされる。従って、圧縮されているパケット・ヘッダが受信されると、タイマー値が読まれ、それは前記のtimer_diff値を示す(タイマーは最後のパケット・ヘッダから経過した時間を示すので)。本発明を実施する方法はいろいろあり得る。重要なことは、最後に首尾良く解凍されたタイムスタンプと現在のタイムスタンプとの間の(ローカル・レシーバー・タイマーにより測定された)経過時間を示すタイマー差が測定されるべきであるということである(図5に記載されているtimer_diff)。
図6を参照すると、ヘッダnがタイムスタンプ=TS0+3*TS_strideを伴って作られる。ヘッダnのこのタイムスタンプは、圧縮されてRTPレシーバーに送られ、解凍される。そのときレシーバーにおいてタイマーがリセットされる。次のヘッダ、(n+1)、(n+2)及び(n+3)が作られて送られるが、ヘッダ(n+3)だけが受信される(即ち、ヘッダn+1とn+2とは失われる)。簡単のためにヘッダ(n+2)と(n+3)とは図6に示されてはいない。ヘッダ(n+1)は図6においてヘッダm+nとして示されている。ヘッダ(m+n)は、タイムスタンプTS=TS0+6*TS_strideを伴って作られて送られる。ヘッダ(m+n)のこのタイムスタンプは圧縮され、次にRTPレシーバーに送られる。タイマー値は4である(timer_diffを示す)。この値は、ヘッダ(m+n)についてのタイムスタンプを解凍するために使用される。従って、図6においては各ヘッダの受信後にタイマーがリセットされることを除いて、図6の例は図5に示されている例に非常に良く似ている。
どの技術が用いられるかに関わらず(図5または図6)、効率的なタイマーに基づく圧縮方式を用いることができる。しかし、もし累積ジッターが過度であれば、圧縮されているタイムスタンプに基づいて正しいタイムスタンプを再生できない可能性がある。多くの事例において、図5及び/又は図6に図解されているタイマーに基づく圧縮方式が適切に働くことを可能にするためにはkにより次の条件が満たされるべきである:
[条件1](最大積分ジッター+2)<2k
ここで最大積分ジッター(MIJ)は、Tミリ秒の単位で表示された、次に大きい整数に丸められた最大累積ジッターである。例えば、もしT=20ミリ秒であるならば、15ミリ秒の最大累積ジッターはMIJ=1という結果をもたらす。タイマー非同時性に起因して生じる可能性のあるエラーを償うために2がそのMIJに加えられる。
会話実時間要件のために、正常動作時の累積ジッターはTミリ秒のわずか数倍であるかも知れない。従って、その様な場合には、RTPレシーバーにおいて16音声サンプル(即ち、16*Tミリ秒)に及ぶ食い違いが訂正され得るので、4に等しいkの値は十二分であろう。異常なまたはエラー状態は、ジッターが正常値を上回るという結果をもたらすかも知れない。圧縮器から見たジッターが許容し得る範囲内にとどまることを確実にするために圧縮器の上流側にジッター減少エンティティーを加えることができる。
図5及び/又は6に図解されているタイムスタンプ圧縮方式の利点は下記を含む:
a)タイムスタンプのサイズが一定で小さい。圧縮されているヘッダは通常は、メッセージのタイプを示すメッセージ・タイプと(k1ビット)、どのフィールドが変化しているか示すビット・マスクと、m_currentのk個の最下位ビットを含むフィールド(kビット)とから成る。RFC2508の場合と同じく4ビットMST1ビット・マスクが使用され、且つk1=4であると仮定すると、RTP TSだけが変化するとき(この場合がずばぬけて頻繁である)圧縮されているヘッダのサイズは1.5バイトである。更に、サイズは沈黙の間隔の長さの関数としては変化しない。
b)例えば図6に示されているように、レシーバー・タイマーは(最初のタイムスタンプを作るために使用される)RTPソース・タイマーと同じ周波数で動作する;ソース・タイマーとレシーバー・タイマーとの位相同期化は不要である(それは測定された経過時間であるから、レシーバー・タイマーはタイムスタンプを再生するために使用されるものである)。
c)レシーバーにおいて、タイマー・プロセスと解凍器プロセスとの同期化は不要である。例えばタイマー・プロセスはTミリ秒毎にタイマーを1だけインクリメントして良く、解凍器プロセスは新しいヘッダが受信されたときに解凍を行うべく目覚めさせられる。しかし、タイマーがインクリメントする点とヘッダが受信される点とが整列或いは同期化される必要はない(図6を参照)。
d)エラーに対する強さ、圧縮されているヘッダ内の部分的RTP TS情報は自己充足していて、完全なRTP TS値を作るためにはレシーバー・タイマーと結合されることを必要とするだけである。ヘッダの喪失或いは破損は、後の圧縮されているヘッダを無効にはしない。
e)RTP TS圧縮/解凍を目的としてメモリー又は値を圧縮器により維持または蓄積する必要はない。
D.ハンドオフ
一つの実施態様では、各ANI_ADは特定の地域に割り当てられる(例えば、特定の地域に置かれている端末とインターフェースする)。端末(端末130など)は1つの地域から他へと移動することができる。端末が1つの地域から他へ移動するとき、端末は1つのANI_ADから他のANI_ADへと渡され、或いは転換されなければならない。
考察するべきハンドオフの一つの場合はANI_AD間ハンドオフであり、その場合には旧ANI_ADから新ANI_ADへの転換により引き起こされる中断があることがある。問題は、ハンドオフ後にterm_AD136及び新ANI_ADにおいて圧縮/解凍が中断無く続くように、ハンドオフ中に情報の連続性をどの様にして維持するかということである。
1.ダウンリンク
レシーバー側に不連続性は無いが、それは端末である(例えば、端末130、図1)。圧縮器の役割は一つのANI_ADから他へと移される。ハンドオフ後、ヘッダは旧ANI_ADの代わりに新ANI_ADを通る新しい経路で送られる。更に、システムのデザインにより、ハンドオフ中に輸送中のパケットの再経路指定があることもあり、無いこともある。輸送中のパケットとは、ソースにより作られたけれどもハンドオフの時までにレシーバーに未だ到達していないものである。再経路指定は、輸送中のパケットを端末に配達しようと試みる。
ハンドオフを実行するために、旧ANI_ADは、セッションについてのタイムスタンプの初期値(TS0)とTS_strideとを新ANI_ADに転送しなければならない。これら二つの値は、新ANI_ADがRTPソース(例えば、端末102)から受信された新しいタイムスタンプ(新しいパケット・ヘッダ中の)を圧縮し続けることを可能にする。Current_headerがハンドオフ後にterm_ADにより解凍されるべき正に第1のヘッダであり、そのTS_currentがそのRTPタイムスタンプであるとする。term_ADは、次の条件:
[条件2](ダウンリンク過渡積分ジッター+2)<2k
が満たされる限りはTS_currentを解凍することができ、ここでダウンリンク過渡積分ジッター(DTIJ)はTミリ秒単位で表示された、次に大きい整数に丸められたCurrent_Headerのダウンリンク過渡ジッターである。ダウンリンク過渡ジッターは、=Current_headerの総遅延−旧経路でのバルク遅延と定義される。もしCurrent_headerが再経路指定された輸送中のパケットでなければ、Current_headerの総遅延は新経路でのバルク遅延+新経路でのCurrent_headerについての累積ジッターでもある。従って、ダウンリンク過渡ジッター=新経路でのバルク遅延−旧経路でのバルク遅延+Current_headerについての累積ジッターである。
もしCurrent_headerが再経路指定された輸送中のパケットのヘッダであるならば、Current_headerの総遅延=経路指定及び再経路指定によりもたらされる総遅延である。実際には、システムは、好ましくは、ダウンリンク過渡ジッターを安定な状態(即ち、ハンドオフの無い)における累積ジッターと同じ値の範囲内に維持するように設計されるべきである。従って、これらの仮定(これらは、常に当てはまるとは限らない)に基づいて、もし条件1(上に書き留められている)が満たされるならば、ダウンリンクについてハンドオフに関連する特別の問題は予期されない。
2.アップリンク
このアップリンク解説では、端末(例えば、端末130)のterm_AD136は、タイムスタンプを圧縮し、それをRFリンク140を介してローカルのまたは対応するANI_ADに送る。この場合にはRTPソースは端末130である。RTPソース(端末130)が物理的位置を変更するときにも(ANI_ADでのハンドオフを必要とする)、レシーバー(解凍器)の役割は1つのANI_ADから他へと移される。RTPソースは該端末(例えば端末130,図1)に固定されたままである。
図7は、本発明の実施態様に従うハンドオフの動作例を図解する図である。エアー・インターフェース・オーバーヘッドを最小限にするために、旧ANI_AD710から新ANI_AD712へハンドオフのために情報が転送されなければならない。その情報は旧ANI_ADにおけるタイマー値である。旧ANI_AD710は、旧ANI_ADにおけるタイマーの現在の値(T_u)を読み(或いはそのスナップ写真を撮り)、それをTS0、TS_stride及びm_currentと共に新ANI_ADに送る、ブロック714(図7)。新ANI_ADはそのタイマーを(T_u)から再びインクリメントし始める。T_transfer715(図7)は該タイマーを転送するときであるとする。また、旧及び新ANI_ADにおけるタイマー・プロセスは多くてTミリ秒の位相差を有することがある。Current_headerはハンドオフ後に新ANI_ADにより解凍されるべき正に第1のヘッダであり、TS_currentはそのRTPタイムスタンプであるとする。新ANI_ADは次の条件:
[条件3](アップリンク過渡積分ジッター+2+1)<2k
が満たされる限りはTS_currentを解凍することができ、ここでアップリンク過渡積分ジッター(UTIJ)はTミリ秒単位で表示された、次に大きい整数に丸められたアップリンク過渡ジッターである。アップリンク過渡ジッターは、=Current_headerの総遅延−旧経路でのバルク遅延+T_transferと定義される。Current_headerの総遅延=新経路でのバルク遅延+Current_headerについての累積ジッターであるので、アップリンク過渡ジッター=新経路でのバルク遅延−旧経路でのバルク遅延+Current_headerについての累積ジッター+T_transferである。ダウンリンクの場合と比べると、旧ANI_ADタイマーと新ANI_ADタイマーとの位相差を償うために1が加えられている。
具体的には、図7はアップリンク過渡ジッターも図解しており、それはバルク遅延差とT_transferとを含んでいる。この例では、旧ANI_ADは、タイマーがタイマーをインクリメントする前にハンドオフに備えることを決定する。従ってそれはT_u=0を新ANI_AD712に送る。T_transferは約Tミリ秒である。新ANI_AD712において、タイマー・プロセスの非同時性に起因して、タイマーがインクリメントされる前に殆どTミリ秒が経過する。新経路においてもヘッダ(n+m)について累積ジッターがある。その結果として、ヘッダ(n+m)が受信されるときに読まれるタイマー値は2であるが、真の値は4であるべきである。従って、−2のスキューがある。条件3が満たされる限りは、該スキューを除去し、RTPタイムスタンプを正しく解凍することができる。
一つの実施態様では、旧及び新ANI_ADを接続する高速シグナリング・ネットワークでT_uが伝送される。従って、時間T_transferは多くても僅か数Tミリ秒であるべきである。しかし、T_uの転送が成功しないか、或いは充分に時宜を得ていない場合を考慮しなければならない。その様な場合には、新ANI_ADはterm_ADに通知し、それは肯定応答が受信されるまで完全な(圧縮されていない)RTPタイムスタンプを送る。
E.ジッター減少
本発明の一つの実施態様では、圧縮されているタイムスタンプとローカル・レシーバー・タイマーとを使用するタイマーに基づく圧縮方式は下記の条件が満たされることに基づくことができる:
[条件1](最大積分ジッター+2)<2k
[条件2](ダウンリンク過渡積分ジッター+2)<2k
[条件3](アップリンク過渡積分ジッター+2+1)<2k
会話実時間要件のために、上記のいろいろなジッターが正常動作時には数Tミリ秒の程度であると合理的に予期することができる。従って、スキューまたはエラーを訂正し得るためにはkの値は普通は小さな値、例えば4、で十二分である。しかし、ジッターが過度になる、RTPソースからレシーバーまでの経路での異常な状態(故障など)またはその他の状態が存在することがある(その場合、圧縮されているタイムスタンプ及びローカル・レシーバー・タイマーに基づいて正しいタイムスタンプを作ることができない)。これらの場合に対処するために、過度のジッターを有する(例えば、上記の条件1、2または3のいずれかが満たされない)パケットを濾過して取り除く(或いは捨てる)ために、ジッター減少機能(JRF)115(図1)を圧縮器のフロントエンドとして設けることができる。
過度のMIJを有するパケットを排除し或いは特定するために、ジッター減少機能(JRF)は、ネットワーク108を介して受信された各パケットのジッターを計算する。もし測定されたパケット・ジッターが2k−2より大きければ、それは過度のジッターであると見なされ、そのパケットは捨てられる。さもなければ、ヘッダ(またはヘッダ・フィールド)が圧縮され(前述したように)、次にレシーバー端末(例えば、端末130)に送られる。
JRFは現在のパケットのジッターを次のように計算する:ジッター=(TS2−TS1−JRFtimer_diff)の絶対値、ここでTS2は現在のパケットのタイムスタンプであり、TS1は前のパケットのタイムスタンプであり、JRFtimer_diffは現在のパケットと前のパケットとの間のJRF_timerの差である(経過した時間)。このジッター値は2k−2と比較される。もし該ジッターが2k−2より大きければ、そのパケットは捨てられる。そうでなければ、該パケット・ヘッダはANI_ADで圧縮され、その圧縮されているヘッダを伴うパケットがRTPレシーバーに送られる。
このジッター減少機能(JRF)115は、レシーバー端末により受信されたパケットのジッターを制限する有効な技術である(RFリンクを介して導入されるジッターは無視できると考えて良いから)。更に、JRFはRFリンク140で利用できる帯域幅を効率よく使用するように動作する。JRF115が無ければ、2k−2より大きなジッターを有する1つ以上のパケットがリンク140を介してRTPレシーバーに送られるかも知れない。しかし、レシーバーにおいて、もしジッターが過度であれば(即ち、条件1が満たされなければ)、正しいタイムスタンプ値を作ることができなくて、レシーバーに該パケットを捨てさせる。従って、JRFは、レシーバーにおいていずれにせよ捨てられることになる過度のジッターを有するパケットを単に取り除くように動作するだけである(リンク140での貴重な帯域幅の浪費を避ける)。
II.ヘッダはぎ取り方式
本発明の第2の実施態様はタイマーに基づくヘッダはぎ取り方式を提供し、その方式では低帯域幅リンクで(例えばRFリンク140で、図1)伝送される前にヘッダまたは1つ以上のヘッダ・フィールド(例えば、RTPタイムスタンプを含む)がRTPパケットからはぎ取られる。その様な場合、そのタイムスタンプはRTPパケットで明示的には提供されない。むしろ、ヘッダはぎ取り器(例えば、これはANI_ADに存在することができる)とヘッダ再生器(例えば、これは端末130に存在することができる)との間の本質的に一定ビットレートのチャネルまたは回路のような接続に基づいてローカル・タイマーをインクリメントするためにタイミング情報が暗示的にヘッダ再生器に提供されることができる。
A.ヘッダはぎ取り器概観
ヘッダはぎ取りは、或るアプリケーションまたはサービスのためには、IP/UDP/RTPヘッダに含まれている情報の全てを送る必要が無いというアイデアに基づいており、その必要がない理由は、それらが変化しないこと、またはそれらが該アプリケーション/サービスにとってあまり重要ではないことである。基本的な音声は典型的な例である。現存するセルラー音声サービス(例えば、RFリンク140、図1を介する)と同等のサービスを提供するために、非常に重要な唯一の可変情報はRTPタイムスタンプ(TS)である。RTPシーケンス番号(SN)について透明性を維持することも望ましい。ここで(SNについて)透明性とは、はぎ取り/再生後のSNが元のSNに等しいことを意味する。ヘッダはぎ取りは、ローカル・タイマーまたはカウンターのみに基づいてRTPタイムスタンプが再生され得るように回路のような接続または本質的に一定ビットレートのチャネル(そこではパケット・ジッターは導入されない)により提供される暗示的タイミング情報に依拠する。これはタイムスタンプを明示的に送る必要を(或いは圧縮されているタイムスタンプを送る必要も)無くする。SNの透明性を達成するために、その回路のようなチャネルまたは接続からのタイミング情報と組み合わせて圧縮されているSNを使用することができる。回路のような接続は、本質的に一定のビットレートを有するチャネルを提供する。音声サンプルが無いとき(例えば沈黙間隔)、該チャネルは他のトラフィック及び/又はユーザーに割り当てられることができたり割り当てられることができなかったりする。このヘッダはぎ取り方式の利点は下記を含む:
a)他の如何なる方式も比肩し得ない最低のヘッダ・オーバーヘッド(図1−6において前述された圧縮ヘッダ技術よりも少ない)。
b)エラーに対する強さ。回路のような伝送または本質的に一定のビットレートのチャネルからのタイミング情報は本質的にエラーによる影響を受けないから
c)もしそれが望まれるならば、コール中にヘッダ圧縮(例えば、図1−6の技術)に転換する可能性。これはもしコールがマルチメディアになるならば非音声媒体が音声に加えられるので有益である。更に、ヘッダはぎ取りは、もし実行されたならばより低い層で行われる可能性のある統計的多重化を権限委託または排除しないことに注意しなければならない。
図8は本発明の実施例に従うスタック例を図解するブロック図である。ヘッダはぎ取りスタック802とヘッダ再生スタック830とが示されている。例として、ヘッダはぎ取りスタック802はパケットから1つ以上のヘッダ・フィールドをはぎ取るために使用され得るコンポーネントのうちの幾つかを図解し、ヘッダ再生スタック830はパケット・ヘッダを再生するために使用され得るコンポーネントのうちの幾つかを図解している。ヘッダはぎ取りスタック802は例えば1つのタイプのANIアダプター(例えば、ANI_AD112、図1)の中に設けられることができ、ヘッダ再生スタック830は、例えば、1つのタイプの端末アダプター(例えば、term_AD136、図1)に常駐することができる。
図8を参照すると、ヘッダはぎ取りスタック802はRTP及びUDP層804、IP層806を含む。RTP/UDP/IP層はRTPパケット808を作る(これはRTPヘッダ内のタイムスタンプを含む)。次に、ヘッダはぎ取りスタック802において、1つ以上のヘッダまたはヘッダ・フィールドをはぎ取り或いは除去するためにRTPパケット808はヘッダはぎ取り器(HS)810に提供される。層L1及びL2 812が設けられており、ここで、例えば、L2はデータ・リンク層であって良く、層L1は物理層であって良い。必要に応じて他の層を設けることができる。同様に、ヘッダ再生スタック830は対応する層L1及びL2 820、完全なRTPパケット824(RTP/UDP/IPヘッダを含む)を提供するためにヘッダ(RTPタイムスタンプを含む)を再生するヘッダ再生器(HR)822を含む。パケット824はIP層826に、次にUDP及びRTP層828に提供される。ヘッダはぎ取りスタック802及びヘッダ再生スタック830の層L1及びL2は、リンク815またはエアー・インターフェース(RFリンク140など)を介して或いはネットワークを介して通信する。例えば、IP経由音声パケットはリンク815(例えば、無線リンクまたはネットワーク)経由での伝送の前にヘッダはぎ取り器810を通過させられる。受信端において(ヘッダ再生スタック830において)、ヘッダ再生器822は、受信者への配達の前にヘッダを再生する。層L2/L1は、ヘッダはぎ取り器810とヘッダ再生器822との間に回路のような接続を提供することができ、即ち本質的に一定ビットレートのチャネルを提供する。更に、最大効率のために、層L1は、最適化されたチャネル符号化及びインターリービングに加えて、不均一ビット保護のような音声ペイロード最適化も実行することができる。ヘッダはぎ取りという概念はペイロード最適化が行われるか否かに関わらず適用されることに注意せよ。
動作時には、ヘッダはぎ取り器(HS)810は、入ってきたRTPパケットのジッターを除去し、それらをヘッダ内のRTPタイムスタンプ(TS)に従って再生する。ここで、ジッターを除去するということは、回路のような接続または本質的に一定ビットレートのチャネルでの音声サンプルの伝送をタイムスタンプに従って予定することを意味する。換言すると、パケットは、ヘッダの除去またははぎ取りの後、パケット内のそれらのタイムスタンプを基礎とする時に回路のようなチャネルまたは本質的に一定ビットレートのチャネルで伝送される。過度のジッターを伴うパケットは例えばジッター減少機能(JRF115、図1)を用いて捨てられる。ヘッダ再生器(HR)822はIP/UDP/RTPフィールドを復元し、それらは次の範疇に分類され得る:
a)静止:セッションの間中、値は変化しない、例えばIPアドレス
b)非静止:値がパケットから次のパケットへと変化する可能性があるが、実際には、音声については、ヘッダはぎ取り中に保存されるべき非常に重要な唯一の非静止フィールドはRTPタイムスタンプ(TS)である。RTPシーケンス番号(SN)も保存される。静止フィールドは、セッションの開始時に、初期化段階において完全なヘッダの一部分として一回だけ転送されることができる。信頼できる配達メカニズムを使用することができる(例えば初期化情報の受け取りを知らせるためにRTPレシーバーからの肯定応答即ちAcksを使用する)。タイムスタンプとシーケンス番号について簡単に論じる。
1.RTPタイムスタンプ(TS)
音声の場合には、RTPタイムスタンプ(TS)はRTPソースの柱時計(即ちソース・タイマー)の関数として線形に増大する。もし連続する音声サンプル間の時間間隔がTミリ秒であれば、ヘッダnのRTPタイムスタンプ(時点n*Tミリ秒において作られる)=ヘッダ0(時点0において作られる)のRTPタイムスタンプ+TS_stride*nであり、ここでTS_stride及びTは音声コーデックに依存する定数である。1スピーチ(音声)サンプルあたりに1つのパケットがあるならば、これが当てはまる。より一般的には、RTPタイムスタンプ(TS)はTS0+m*TS_strideの形であり、ここでTS0は<TS_strideであり、mは整数である。ジッターが除去された後にヘッダはぎ取り器(HS)において同じ挙動が見られる。
セッションまたは接続の始まりに、RTPレシーバーを初期化する(即ち、ヘッダ再生器を初期化する)初期化段階が実行される。この初期化段階において、ヘッダはぎ取り器は、レシーバーからAckが受信されるまで初期化情報(Init_info)を送り続ける。Init_info(n)は本質的に完全なIP/UDP/RTPヘッダn(初期タイムスタンプとシーケンス番号とを含む)から成る。RTPシーケンス番号は、この特定の初期化ヘッダを特定するために使用されるが、それは、後の初期化ヘッダがより大きなシーケンス番号を含むからである(該第1初期化ヘッダが肯定応答されないと仮定して)。
ヘッダ再生器(HR)822において、Init_info(n)が正しく受信されたとき、HR822はack(n)を送る。ヘッダ再生器(HR)822が完全なヘッダに肯定応答すると、HSは完全なヘッダを送るのをやめる。HR822は、また、Init_info(n)で受信されるRTPタイムスタンプに初期化されているローカル・タイムスタンプ・カウンターを始動させる。該TSカウンターは図1のレシーバー・タイマーに似ているけれども、該TSカウンターはTミリ秒毎にTS_strideだけ(1ではなくて。しかし、それはレシーバー・タイマーと同じ原理である)インクリメントされる。後のはぎ取られている音声フレーム(即ち、ヘッダがはぎ取られまたは除去されているRTPパケット)について、RTP TSがタイムスタンプ(TS)カウンターから再生される。レシーバー・タイマー(TSタイマー)は、タイムスタンプを作るためにRTPソースで使用される時計またはタイマー(即ち、ソース・タイマー)と同じ周波数を有する。更に、回路のような接続は本質的に一定のビットレートを提供し、従ってパケット遅延は可変ではなくてパケット毎に変化しない。その結果として、本質的に一定ビットレートのチャネルに起因するパケット・ジッターは無い。従って、初期タイムスタンプ値(TS0)を含む初期化情報をRTPレシーバーが受け取った後、RTPレシーバーはタイムスタンプ・カウンター(或いはレシーバー・タイマー)だけに基づいて後の各パケット(初期化後)についての正しいタイムスタンプを再生することができる。
ヘッダはぎ取り器810とヘッダ再生器822との間に設けられている本質的に一定ビットレートのチャネルはヘッダはぎ取り器810とヘッダ再生器822の間で所定期間にわたって所定数のビットを提供するだけでよいが、この機能は異なるいろいろな方法で実行されることができる。例えば、該チャネルは、はぎ取り器810及び再生器822に専用され或いは数人のユーザーに共有される一定ビットレートのチャネルであることができる。該チャネルは、例えば1ミリ秒毎に1ビットを提供することができ、或いは100ミリ秒毎に100ビットを提供することができるけれどもその場合にはデータ転送速度は100msの期間内で一定でなくても良い(即ち、変化しても良い)。追加の例として、該チャネルは、ヘッダはぎ取り器とヘッダ再生器との間で1つ以上のデータ・バーストを通じて所定数のビットを提供することができる。例えば、該チャネルは10ミリ秒毎に1000ビットの塊またはバーストを提供することができる。従って、本質的に一定ビットレートのチャネルは所定期間にわたって所定数のビットを提供するだけでよく、これをいろいろな技術を用いて達成することができる。
2.RTPシーケンス番号(SN)
(HS810が見る)RTP SNは普通は1つのパケットから次のパケットへ1だけ大きくなる。例外はパケットが失われまたは順番が狂ったときだけである。アップリンクでは、パケット喪失または順番の狂いは生じないと思われるが、それは、ヘッダはぎ取り器(HS)810とRTPソースとが互いに非常に近いからである。従って、次に述べる事柄はダウンリンクに当てはまる。HS810は、パケットを、そのヘッダをはぎ取る前に、整理し直そうと試みるために限られた緩衝を行う。RTP SN nを伴うパケットは、もしそれがRTP SN (n+1)を伴うパケットのヘッダがはぎ取られるときまでに未だ受信されていなければ、失われたと見なされる。RTP SN mを伴うパケットは、もしそれが受信されるときまでにRTP SN kを伴うパケットのヘッダがはぎ取られていて、且つk>mであれば、順番が狂っている。整理し直しバッファーの長さは設計パラメータである。バッファーが長すぎれば遅延が過度に大きくなり、バッファーが短すぎれば過度に多くのパケットが捨てられる結果となる。該パラメータはHS810の上流側でIPネットワーク108により提供される品質にもよる。HR822は、SNの最良の見積もりであるSNカウンターを維持する。Init_infoを観察することにより、HR822は、初期SNと、パケット・サイズ(p_size)としても知られているパケットに含まれているビットの数とを得ることができる。HR822はSNカウンターをInit_info中のSNで初期化する。HR822は、本質的に一定ビットレートのチャネルを介して受信される音声ビットを“数え”、音声のp_sizeビット毎にSNカウンターを1インクリメントする(それは、例えば沈黙間隔の間など、パケットが受信されないときにはインクリメントされない)。一つの実施態様では、HR822は実際には受信されたビットを数えない。むしろ、HR822のSNカウンターはパケット持続時間毎に1だけインクリメントされ、ここでパケット持続時間はビット(p_bits)のパケットを受信するのに必要な時間である。従って、パケット持続時間はパケット・サイズ(p_size)とビットレート(これは回路のような接続において一定である との関数である。
従って、(初期SN及びTSをHR822に供給する)初期化が行われた後、HR822は、Tミリ秒毎にTSカウンターをTS_strideだけインクリメントすると共にパケット持続時間毎にSNカウンターを1だけインクリメントすることによって連続するパケットのためにタイムスタンプを作ることができることが分かる。従って、初期化後、これらのフィールドはローカル・クロックのみと関連してHR822で再生されることができる(TS_stride及びパケット持続時間がHR822に知られていると仮定して)。受信されたビットを実際に数えるのではなくて時間(パケット持続時間)に基づいてSNカウンターをインクリメントすることは、エラーに対して強い。1つ以上のビットがHR822に到着する前に落とされた場合には、SNカウンターは真の値を反映し、失われたビットには影響されない。
B.不連続性及びストリング
上述の説明は、TS及びSNがリンク(例えば、RFリンク140)を介しての伝送の前にHS810により完全にはぎ取られ、その後ローカル・クロックまたはタイマー(例えば、Tミリ秒毎にTSカウンターをTS_strideだけインクリメントしパケット持続時間毎にSNカウンターを1だけインクリメントする)を維持するHR822によって再生され得ることを示している。しかし、もし対処しなければ前述したタイマーに基づく再生アプローチを無効にしかねない1つ以上の不連続事象が発生することがある。該不連続事象のうちの幾つかは下記を含むことがある:
a)事象“新スパート”:パケットnと(n+1)との間のTS差の過渡変化(新しい話のスパートの始まり);これはタイムスタンプ(TS)における非線形の変化またはシフトとしても記述されることができる。
b)事象“サイズ変化”:パケットに詰め込まれている音声フレームの数及び/又は音声フレームのサイズの変化に起因する、RTPパケット・サイズ(p_size)の変化
c)事象“ストライド変化”:TS_strideの変化(例えばペイロードのタイプPTの変化に起因する)。
私達は、全てのパケットが同じサイズ(p_size)を有し、シーケンス番号が連続しており、即ちn、n+1、(n+2)など、且つ連続するパケットのタイムスタンプ(TS)が同じ増分TS_strideだけの間隔を置いているようなパケット・ヘッダのシーケンスとしてヘッダ・ストリングを定義する。換言すると、ヘッダ・ストリングは、或るパケット・フィールド(例えばパケット・サイズ)を共通に持っていると共にSN及びTSなどの、連続するパケットにおいて線形に増大する他のフィールドを持っているヘッダのストリングであると見なされて良い。ストリングは普通は話のスパート(例えば、沈黙の合間と合間の間にある1系列の音声サンプル)である。
1つのストリングから他のストリングへの移行は、別々の或いは組み合わされたいずれかの不連続事象により引き起こされることができる。この方式では、一つのストリングが始まる(且つ前のストリングが終わっている)とき、HS810は、どの不連続事象が生じたのか判定し、それに応じて必要とされるストリング初期化(string_init)情報をHR822に送る。
図9は、本発明の実施例によってメッセージ中に設けられることのできる情報を図解する表である。Init_infoは通常は完全なヘッダ(完全なSN及びTSを含む)を含んでいて、セッションの始まりにHS810からHR822へ(HR822を初期化するために)送られる。HS810は、ヘッダの無いデータ・パケットを送り始める前に、HR822からackを受け取るまでinit_infoを送り直し続ける。その後、1つ以上のストリングが生じるかも知れず、それはストリング毎に変化するフィールドまたは値の追加の更新を必要とするかも知れない。それらの変更された値は、string_initを用いてHR822に供給される。
string_initは、p_size値(もしそれが前のストリングから変化しているならば)とTS_stride値(もしそれが前のストリングから変化しているならば)とを含んでいる。TSの非線形シフトが一つのストリングから次のストリングへと生じなければ、HR822は、旧ストリングに使用されたTSカウンターに基づいてTSを再生し続けることができる。しかし、ストリング間でタイムスタンプ(TS)に非線形シフトが生じたならば(即ち、タイミングの喪失)、更新されたタイムスタンプはHS810からHR822へstring_initで明示的に送られなければならない。前述したように、条件1が満たされる限り、更新されたTSは前述の圧縮されたタイムスタンプ414(図4を参照)として送られることができる。そうではなくて、もし条件1が満たされなければ、完全な更新されたタイムスタンプがHR822へ送られなければならない。
ackモードにおいて、HS810がstring_initをHR822へ送った後、HS810が更なるデータ・パケット(ヘッダの無いパケット)をHR822へ送ることができる前にHS810は、更新されたストリング情報(string_init)を受け取ったことを知らせる(ackする)ようにHR822に要求することができる。肯定応答或いはackのモードでは、HS810がstring_initメッセージについてHR822からackを受け取るまでHS810はstring_initメッセージをHR822へ繰り返し送る。HR822からackを受け取った後、HS810は(新しいストリングのパケットについてのTS及びSNは今やローカル・クロックまたはタイマーだけを用いて再生されることができるので)該ストリングの残りのパケットをヘッダがはぎ取られているパケットとして送る。string_initメッセージについてのack要求(肯定応答モードで)は、HS810がHR822に知らせずに新しいストリングを送るのを阻止する。例えば、HS810とHR822との間のリンクが一時的に遮断されている間にHS810が(例えば、不連続事象に関連する更新されたフィールドまたは情報を提供する)新しいstring_initメッセージを送ったならば、HS810はHR822からackを初めて受け取るまではヘッダがはぎ取られているパケットを送り始めることはできない。
HS822がstring_init情報を受け取ったとHS810が確信すると、該ストリームの残余についてはヘッダ無しで音声フレーム(例えば、データ・パケット)が送られる。これらのヘッダの無いフレームについては、TS及びSNはHR822でローカル・クロックを用いることにより再生される。
HS810は次のように事象を判定することができる:
a)事象“新スパート”:SN=nを有するパケットとSN=(n+1)を有するパケットとのTS差がTS_strideとは異なる。これは新しいストリングまたは話のスパートの始まりを意味する。この場合、SN同期化を確保するために、string_initはSNまたは圧縮されたSN(C_SN)から成る。もし送られたSN情報が無ければ、HR822は、パケット持続時間毎にSNカウンターを1だけインクリメントしても正確なSNを与えることになるのかどうか確信できない。その理由は、その間にHS810とHRとの間で音声ビットが失われるリンク切断があったかも知れないことにある。
b)事象“サイズ変化”:SN=nを有するRTPパケットのサイズが前に受信されたパケットと違っている;これはパケット持続時間(SNカウンターがインクリメントされる速度)の値に影響を及ぼす。string_initは新しいp_size値を含んでいる。
c)事象“ストライド変化”:RTPパケットのペイロード・タイプ(PT)フィールドを分析することから判定される;string_initは新しいTS_stride値を含む。
これらの不連続事象は例として提供されるに過ぎない。他のタイプの不連続事象もあり得る。
複数の事象が結合して生じることがある(複合事象)。その場合、string_initは対応する基本事象からの全ての情報を含む。例えば、もし“新スパート”が“サイズ変化”と結合して生じたならば、string_init={C_SN、新しいp_size値}である。
C.Init_info、String_initを送る手続
init_infoは普通はackモードで送られ、その場合HS810はHR822によりack(肯定応答)されるまでInit_infoを送る。string_initはackまたはunackモードで送られることができる。ackモードでは、HS810は、HR822により肯定応答されるまで全てのパケットでString_initを送る。ackが受信されると、HS810は、該ストリームの残余について如何なるヘッダも無しで音声ビットだけを送る。unackモードでは、HS810は、該ストリングの残余についてだけ音声ビットを送る前にString_initを一定(所定)回数だけ送る。随意に、HR822が同期化される(例えば適切な値を有する)ことを保証するために該ストリング中に或る間隔を置いてstring_initが反復されることができる。
“サイズ変化”または“ストライド変化”基本事象を含む複合事象は、通常は、String_initがackモードで送られることを必要とする。その場合、string_initは生成番号を伝える。生成番号は、p_sizeまたはTS_strideが変化する毎にインクリメントされるカウンターである。それは、どの変化がHR822により肯定応答されたのか追跡するためにp_sizeまたはTS_strideが急速に連続して変化する場合に使用される。例えば、もしp_sizeが値p_size_0からp_size_1へ変化し、次に再び値p_size_2へと変化するならば、HS810は生成番号例えば3と共に、p_size_1を含むstring_initを送り、その後に生成番号4と共に、p_size_2を含むもう一つのstring_initを送る。第2のstring_initの後のackの受信は、もしそれが肯定応答されたstring_initの生成番号を伝えなかったならば、不明瞭である。もし複合事象が“新スパート”だけであれば、String_init(C_SN)がackまたはunackモードで送られることができる。unackモードは、少なくとも全ての話のスパートの始まりにC_SNが反復されるというアイデアに基づいている。従って、HR822がそのSNを決して再同期化しない確率は漸近的に小さい。更に、もしSNの同期が失われたとすると、それはHS810とHR822との間でのパケットの喪失にのみ起因する。従ってSNの同期喪失の効果は、再生されたSN<正しいSNということである。これは、次のC_SNが受信されたならば直ちにその差だけSNを大きくすることによって訂正される一時的な不一致にすぎない。2以上のSNの増大は、受信をするRTPエンドポイントによりパケットの喪失と解釈され、普通は受信されたパケット自体の再生に影響を及ぼすべきではない。unackモードは、安定な状態で、即ちコール・セットアップ後のハンドオーバーとハンドオーバーとの間にackを伝えるチャネルを省くことを可能にする。
D.ハンドオーバー
ヘッダはぎ取り/再生がセルラーシステムにまたはステーション端末が1つのネットワーク・アダプター(ANI_AD)から他のへと移動することがあり得る他のシステムに適用されるときには、ハンドオーバーまたはハンドオフが考慮されるべきである。
ハンドオーバーは、3段階:即ちハンドオーバー準備、ハンドオーバー実行及びハンドオーバー完了、を通過することとしてモデル化されることができる。ハンドオーバー準備を開始することを決定するハンドオーバー(HO)マネージャーと呼ばれる機能(これはANI110に設けられることができる)がある。伝統的に、ハンドオーバー準備は、ターゲット・システムの資源を取っておくと共にターゲット・セルに関する必要な情報を得るためにターゲット・システムとシグナリング・メッセージを交換することから成る。ハンドオーバー実行は、ターゲット・セルに関する情報と共にHOコマンドをレシーバー端末(または移動局)に送るソースHOマネージャーにより開始される。HOコマンドに答えて、該端末(または移動局)はハンドオーバーを実行する。ハンドオーバー完了は、端末または移動局とターゲット・システムとの間でのシグナリングと、ソースへの通知と、(ソースの)最早不要となった資源の解放とを必要とする。
1.アップリンク
ANI_ADはアップリンク・データ伝送(図1,アップリンク142を参照)についてHR822として作用する。ターゲットANI_ADは完全なヘッダを再生するのに必要な情報を提供されなければならない。主な制約条件は、ハンドオーバー(HO)を通じてのRTP TSとRTP SNの連続性を含む。
図10は、本発明の実施例によるハンドオーバー・プロセスを図解する図である。端末130(或いは移動局MS)は、例として、パケットのサイズが変化したことをstring_initメッセージを用いてソースANI_AD112に知らせることができる、ステップ902。ソースANI_AD112は、p_sizeのこの更新を肯定応答する、ステップ904。その後、端末130はターゲットANI_AD114により覆われる新しい地域へ移動し、HOマネージャー901はソースANI_ADにハンドオーバ(ハンドオフ)のための準備について通知する、ステップ906。ソースANI_ADは次にHO_初期化(HO_init_u)情報をターゲットANI_AD114に送る、ステップ908。HO_init_uは、完全なIP/UDP/RTPヘッダの見積もられた概観である。その見積もられた概観は、RTP TSがTS0_uと置き換えられている最後に再生されたヘッダ、m_last_u、TS_stride_u、及びTS Timer_uの値から成る。これらの値はTS_last、最後に再生されたヘッダのRTP TSと次のように関連する:TS_last=TS0_u+m_last_u*TS_stride_u。TS Timer_uは、Tミリ秒毎に1だけインクリメントされたソースANI_ADのカウンターである。更に、HO_init_uはp_size_u(アップリンク方向におけるパケットの現在のサイズ)を含む。HO_init_uから、ターゲットANI_ADは静止フィールドと、変化するフィールド(RTP TS及びRTP SN)についてのおおよその初期値とを導出する。ハンドオーバー・コマンドがHOマネージャー901から端末130(移動局)へ送られて、ステップ910、端末130に転換をさせて今や通信のためにターゲットANI_ADを使用させる。しかし、他の技術を使用してハンドオーバーを開始することができるので、HOマネージャーは必要ないかも知れない。
ハンドオーバーは、進行中のストリングを中断するものと見なされる。従って、ハンドオーバー完了後、正に最初に送られるべき音声サンプルは常に新しいストリングと同様に取り扱われ、それは初期化情報(HO_sync_u)を送ることを必要とする、ステップ912。重要な時点が3つある:即ちST1、これはHO準備の始まりである、ST2、これはMSによるHOコマンドの受信である、及びST3、これはソースANI_ADがHO_init_uで送られるべきその内部情報のスナップ写真を撮った時点である。HOTはST1からST2までに経過した時間であるとする。システムのデザインから、HOTには上限がある:HOT<HOT_max。第4の重要な時点はST4である:端末130がHO後にターゲット・システムで音声を送る動作を再開したいと望む最初の時点。ST4において、端末130(MS)はp_size_uの最近の変化がST2−HOT_maxの時までに肯定応答されているか判定する。もしそうならば、端末130はHO_init_uがp_size_uの最新の値を含んでいたと確信する。従って、それをHO_sync_uに包含させる必要はない。その理由は、それらの時点がST1<ST3<ST2という順序になっていることにある。そうでなければ、端末130(MS)はp_size_uの新しい値をHO_sync_uに包含させる。同じアルゴリズムがTS_stride_uにも当てはまる。
全ての場合に、HO_sync_uはC_SNを含む。C_SNは、HOに起因する中断があったために必要とされる。ソース及びターゲットのシステムにおいてビットレート、パケット持続時間などが同期化されていなければ、C_TSが必要とされる。これが事実でありそうである。HO_sync_uはackモードで好ましく送られる。
HO_init_u及びHO_sync_uは、次のように完全なヘッダを再生するためにターゲットANI_AD114により使用される。TS及びSN以外の全てのフィールドがHO_init_uからコピーされる。SNは、HO_sync_uの中のC_SNを解凍することにより得られる。TSは、HO_sync_uの中のC_TSを解凍することにより決定される。
2.ダウンリンク
HSの役割は1つのANI_ADから他へと移される。ハンドオフ後、ヘッダは、旧ANI_ADの代わりに新しいANI_ADを通る新しい経路で送られる。その結果として、端末130(MS)においてRTP TS再生についてのタイミングに切れ目があり得る。
アップリンクについてハンドオーバーを処理するために、HOマネージャーは、ハンドオーバー準備を開始することを決定したとき、ソースANI_ADに通知をする。ソースANI_ADは次にHO_初期化(HO_init_d)情報をターゲットANI_ADに送る。HO_init_dはp_size_dとTS_stride_dとから成り、それらは、それらの生成番号と共に、MSにより最後に肯定応答された値である。ターゲットANI_ADがHO後に音声を初めて送ることを望むとき、ターゲットANI_ADはHO_sync_dを送らなければならない。HO_sync_dはC_TSとC_SNとから成る。もし新しいp_sizeがp_size_dと違っていれば、HO_sync_dはp_sizeの新しい値も含む。もしそうでなければ、HO_sync_dはp_size_dの生成番号nを含むだけである。MSはその生成番号を使用して正しいp_sizeを引き出す。これは、MSが、メモリーに、p_sizeの最後の数個の値を、それらの生成番号と共に維持していることを仮定している。同じアルゴリズムがTS_strideに適用される。HO_init_dは、MS_ADにより肯定応答されるまで送られる。HO_sync_dはackモードで送られる。ハンドオーバー・プロセスは図2に描かれている。示されている場合は:p_sizeの最近の変化がST2−HOT_maxの時までに肯定応答されているという場合である。
E.メッセージを送る
上記情報の各々はイン・バンド(バンド内)またはアウト・オブ・バンド(バンド外)で送られることができる。イン・バンドのアプローチでは、情報は最下位音声ビットをうまく手に入れることにより音声チャネルで送られる。アウト・オブ・バンドのアプローチでは、専用の一時的チャネルが設立され、ackが受信されたときに破壊される。イン・バンド及びアウト・オブ・バンドの結合が可能であり、その場合にはアウト・オブ・バンドのアプローチが試みられるが、一時的チャネルのための資源が無ければ、イン・バンドのアプローチがいざというときの解決策である。肯定応答は、イン・バンドで、またはアウト・オブ・バンドでそれら自身の専用ackチャネルで、または他の専用一時チャネル(TIC、など)でアウト・オブ・バンドで背負って運ばれることができる。
1.イン・バンド
回路のような音声チャネルがどの様に実現されるのかということに関わらず、それはTミリ秒毎にBビットを伝送することのできるチャネルとしてモデル化されることができる。Sがビットを単位とする音声フレームのサイズであるならば、S≦Bである。企図される音声コーデックでは、Init_infoはSより大きいと期待される。従って、単一の音声フレームのスペースでInit_infoを送ることはできない。しかし、(R−1)*S<H≦R*Sなどの要素R≧1がある。Init_info(n)は、それらをBビットの塊に分割してTミリ秒毎に1つの塊を送ることにより、回路のようなチャネルで運ばれることができる。完全なヘッダは、R個の連続する音声サンプルのスペースを消費する。図11は、本発明の実施例によるイン・バンドについての初期化を図解する図である。連続的な音声活動があるならば、送られるInit_infoは、ack(n)が受信されるまで、Init_info(0)、Init_info(R)、Init_info(2R)、などである。図11では、これらのinit_infoメッセージはinit_info500及びinit_info502として示されている。ヘッダはぎ取り器は、init_info500を受け取ったことを知らせるが、HS810が第2のinit_infoパケット502を送る前にではない。次のパケット504は(ヘッダの無い)パケット・ペイロード504としてHS810からHR822に送られる。HR822は次にSN及びTS及びその他のヘッダ・フィールドを再生する。
Init_info(0)は音声サンプル0、1、・・・、(R−1)に代わり、Init_info(R)は音声サンプルR、(R+1)、・・・、(2R−1)に代わる、などである。もし不連続的音声活動があれば、例えばヘッダ0の後にL*Tミリ秒沈黙間隔が続けば、Init_info(0)が繰り返される:他の情報(string_init、HO_sync_d、HO_sync_u、Ack)は、全てSよりかなり小さいサイズを有するので、音声フレームのスペースにぴったりはまり込む。それらは最下位音声ビットをうまく入手する。簡単のために、分析はチャネル符号化に起因する拡大を考慮しないが、該構想はチャネルがあってもなくても妥当である。イン・バンドの場合についての初期化プロセスが図3に示されている。
2.アウト・オブ・バンド
図12は、本発明の実施例によるアウト・オブ・バンドについての初期化を図解する図である。アウト・オブ・バンドのアプローチでは、音声チャネルで運ばれる音声と同時にInit_infoだけを運ぶために適切な帯域幅を伴って別のチャネルが設立される。その別のチャネルは一時的初期化チャネル(TIC)と称される。システムは、完全なヘッダをTミリ秒に1回送ることを可能にするために充分な帯域幅をTICに割り当てようと試みることができる。TICは、音声チャネルと固定されたタイミング関係を有するように設計される。肯定応答は、一時的肯定応答チャネル(TAC)を割り当てることによりアウト・オブ・バンドで送られることができ、或いはアウト・オブ・バンドで、しかし順方向一時的チャネルで背負って運ばれることができる。HO_sync_uは一時的アップリンク・ハンドオーバー同期化チャネル(TUHOSC)を介してアウト・オブ・バンドで送られることができる。TUHOSCは、HO_sync_uが肯定応答されたときに破壊される。同じことがHO_sync_dに当てはまるが、これは一時的ダウンリンク・ハンドオーバー同期化チャネル(TDHOSC)を使用する。
3.故障の場合
ハンドオーバー実行が完了するときまでにターゲットANI_ADがHO_Initを持たない場合があり得る。理由は、2つのANI_AD間のシグナリング・ネットワークでの過度の遅延、ハンドオーバーを速く実行する必要、などを含む。これらの場合には、ネットワークは通知をMSに送り、それはコールの始まりの時の様に、初期化プロセスを再始動させる。
4.P_Size及びTS_strideが一定であるありふれた場合
p_size及びTS_strideが一定である場合は音声については最もありふれている。この場合、p_size及びTS_strideのあり得る変化に起因する考慮事項はいずれも当てはまらない。包括的な方式は簡単化される。HO_Init_dは不要である。HO_sync_d及びHO_sync_uはC_SN及びC_TSを運ぶだけである。String_initはC_SNを運ぶ。それは、1つのストリングから次のへとタイミング変化がある場合に限ってC_TSを運ぶ。端末(MS)は、p_size及びTS_strideの最後の数個の値をメモリーに維持しなくても良い。HOの場合、端末(MS)はp_size_uをHO_sync_uに含めるかどうか決定しなくても良い。
前述したように、基本的音声のために必須のIP/UDP/RTPヘッダ中の情報は静止フィールドとRTPタイムスタンプ(TS)とであり、RTPシーケンス番号(SN)も非常に望ましい。本書に記載されている方式は、これらの情報フィールドについての透明性を達成し、有利なヘッダ・オーバーヘッド圧縮効率を提供する。全ての静止フィールド及び非静止フィールドの連続性がハンドオーバーの間維持される。イン・バンド・アプローチもアウト・オブ・バンド・アプローチも可能なので、帯域幅管理も容易になる。RTP TS及びRTP SNについて透明性が維持されるので、ヘッダはぎ取り方式と全てのフィールドについて透明性を維持する本書に記載されているヘッダ圧縮方式との間で切り換えることも可能である。ヘッダ圧縮への切り換えは、例えば他の媒体が音声に付け加えられるときに必要になることがある。
III.タイマー及び基準に基づく方式
A.タイマー及び基準に基づく方式概観
タイマー及び基準に基づく方式は、(1)RTPタイムスタンプはRTPソースで作られるときにパケット間の経過時間の線形関数と相関させられ、(2)RTP TSはTS0+index*TS_strideの形であって、ここでTS0及びTS_strideは一定であり、indexは整数である(以降、indexは圧縮されているRTP TSと称される)という所見に基づいている。従って、正常動作時には、解凍器で受信されるRTPタイムスタンプも、ソースと解凍器との間の累積ジッターによってのみ生じる歪みを伴う、断続的にインクリメントするタイマーと相関している。該累積ジッターは“ネットワーク”ジッター(ソースと圧縮器との間のジッター)と“無線”ジッター(圧縮器と解凍器との間のジッター)とを含むので、圧縮器は、観測されたネットワーク・ジッターに無線ジッターの上限を加えることによって累積ジッターの上限を計算することができる。圧縮器は次に、単に、圧縮されているRTP TSとして、圧縮されているRTP TSの“k”個の最下位ビットを送る。解凍器は、始めに近似値を計算し、次に正確な値を決定するために圧縮されているRTP TS中の情報で該近似値を改良することによってRTP TSを解凍する。近似値は、前に解凍されたヘッダのRTP TSに、前に解凍されたヘッダが受信されてから経過した時間に比例する値を加えることによって得られる。RTP TSの正確な値は、対応する圧縮されているRTP TSのそのk個の最下位ビットが圧縮されているRTP TSと釣り合う、該近似値に最も近いものとして決定される。圧縮器は、解凍器が累積ジッターの上限に基づいて正しく解凍することを許す最小の許される値として値kを選ぶ。
B.音声の場合
始めに、タイマー及び基準に基づく方式を音声に関して説明する。例として、もし連続する音声サンプルの間の時間間隔が20ミリ秒であるならば、ヘッダn(時点n*20ミリ秒において作られる)のRTPタイムスタンプ=ヘッダ0(時点0で作られる)のRTPタイムスタンプ+TS_stride*nであり、ここでTS_strideは音声コーデックに依存する定数である。その結果として、解凍器に入ってくるヘッダ中のRTP TSも、ソースと解凍器との間の遅延ジッターのためあまり厳密にではないけれども、時間の関数として線形パターンに従う。正常動作時には(クラッシュ或いは故障が無い)、遅延ジッターは制限されていて、会話実時間トラフィックの要件を満たす。
この方式では、レシーバーは現在のヘッダ(解凍されるべきもの)のRTP TSの近似値を得るためにタイマーを使用し、次に圧縮されているヘッダで受信される付加的情報で該近似値を改良する。
例えば、下記を仮定する:
Last_headerは最後に首尾良く解凍されたヘッダであり、ここでTS_lastは最後のRTP TSであり、p_TS_lastは最後の圧縮されているRTP TS(レシーバーにおける)である;
Tは2つの連続する音声サンプル間の標準の時間間隔である;
TS_strideはTミリ秒毎のRTP TSインクリメントである;
Current_headerは解凍されるべき現在のパケットのヘッダであり、ここでTS_currentは現在のRTP TSであり、p_TS_currentは現在の圧縮されているRTP TSであり;
RFHは、そのackが圧縮器により受信されたヘッダのシーケンス番号であり、ここでTS_RFHはRTP TSであり、p_TS_RFHは圧縮されているRTP TSであり;
TimerはTミリ秒毎にインクリメントされるタイマーであり、ここで圧縮器及び解凍器の両方は、各々、S_timer及びR_timerとそれぞれ表示されるそれらのTimerを維持し;
T_RFHはRFHが受信されているときのTimerの値であり、T_currentはCurrent_headerが受信されているときの同じTimerの値であり;そして
N_jitter(n,m)は、ヘッダmに対する相対的なヘッダnの観測されたネットワーク・ジッターである(ヘッダnはヘッダmの後に受信される)、
ここでN_jitter(n,m)は圧縮器により次のように計算される:
N_jitter(n,m)=Timer(n、m)−(ヘッダnの圧縮されているRTP TS−ヘッダmの圧縮されているRTP TS)、
ここでTimer(n、m)は、ヘッダmからヘッダnまでに経過した、Tミリ秒を単位として表示された時間である。N_Jitter(n、m)は正または負であり得る。圧縮器におけるN_Jitterは、Tミリ秒を単位として量子化されたネットワーク・ジッターである。
R_Jitter(n、m)は、圧縮器により予測される、ヘッダmに対する相対的なヘッダnの無線ジッターである。R_Jitterは、圧縮器−解凍器チャネル(CD−CC)の特性のみに依存する。R_Jitterは精密に計算されなくても良くて、R_Jitterについての良好な上限で充分である。例えば、上限は、もしそれが知られているのならば、Max−radio_jitter、即ちCD−CCでの最大ジッターであって良い。
従って、上記に従って、パケットについての累積ジッターはネットワーク・ジッターと無線との合計として計算される:
更に、RTP TSは次のように計算される:
RTP TS=TS0+index*TS_stride、
ここでTS0<TS_strideであり、indexは整数である。
従ってTS_last=TS0+index_last*TS_strideであり、そして
TS_current=TS0+index_current*TS_strideである。
1.圧縮器
圧縮器は、圧縮されているヘッダで、p_TS_currentのk個の最下位ビットを送る。
圧縮器は次のアルゴリズムを動作させてkを決定する:
Max_network_jitterを計算する;
J1=Max_network_jitter+Max_radio_jitter+Jを計算する、
ここでJ=2は圧縮器及び解凍器においてTimersにより生じる量子化エラーを償うための因数であり、それは+1または−1であることができ;そして
条件:
(2*J1+1)<2k
を満たす最小の整数kを発見する。
圧縮器におけるネットワーク・ジッターは3つの異なる方法、即ち図13に図解されている第1の方法、図14に図解されている第2の方法及び図15に図解されている第3の方法、に従って計算されることができる。第2の方法及び第3の方法について以下でそれぞれオプション1及びオプション2として説明する。第1の方法はネットワーク・ジッターを計算するためには充分である。しかし、圧縮におけるネットワーク・ジッターを計算するための好ましい方法は以下でそれぞれオプション1及びオプション2として説明される第2及び第3の方法である。
図13に図解されているように、第1の方法によると圧縮器における特定のパケットについてのネットワーク・ジッターは直前のパケットに関する情報を用いて計算される。例えば、パケット2についてのネットワーク・ジッター(j2)はパケット1に関する情報を用いて計算され、パケット3についてのネットワーク・ジッター(j3)はパケット2に関する情報を用いて計算され、パケット4についてのネットワーク・ジッター(j4)はパケット3に関する情報を用いて計算され、パケット5についてのネットワーク・ジッター(j5)はパケット4に関する情報を用いて計算される。
従って、図13によると、パケット2についてのネットワーク・ジッターは計算されたジッターj2に等しく、パケット3についてのネットワーク・ジッターは計算されたジッターj3に等しく、パケット4についてのネットワーク・ジッターは計算されたジッターj4に等しく、パケット5についてのネットワーク・ジッターは計算されたジッターj5に等しい。
オプション1:
オプション1の第2方法についてネットワーク・ジッターを計算するために使用されるステップが図14に図解されている。オプション1では、特定のパケットについてのネットワーク・ジッターは、基準パケットに関する情報を用いて計算される。パケット2が図14に図解されている基準パケットであると仮定して、パケット3のジッターj3は基準パケット2に関する情報を用いて計算され、パケット4のジッターj4は基準パケット2に関する情報を用いて計算され、パケット5のジッターj5は基準パケット2に関する情報を用いて計算される。
図14に図解されているオプション1の第2方法によると、ジッターj3=2、ジッターj4=3、そしてジッターj5=−1と仮定すると、パケット5の前にはN_jitter_min=2でN_jitter_max=3であり、パケット5においてはN_jitter_min=−1でN_jitter_max=3である。従って、パケット5での最大(Max)ネットワーク・ジッター=N_jitter_max−N_jitter_min=4である。従って、パケット5についてのMax_network_jitterは4である。オプション1の方法によりネットワーク・ジッターを計算するための方程式とその説明とを以下に提示する。
現在のパケットのネットワーク・ジッターはオプション1の方法に従って次のように計算される:
N_jitter(Current_header、RFH)=
(T_current−T_RFH)−(p_TS_current−p_TS_RFH);
N_jitter_max及びN_jitter_minを更新する、ここでN_jitter_maxは、RFH以来送られてRFHを含む全てのヘッダjについてMax{N_jitter(j、RFH)}として定義される。N_jitter_minは、RFH以来送られてRFHを含む全てのヘッダjについてMin{N_jitter(j、RFH)}として定義され;
Max_network_jitter=(N_jitter_max−N_jitter_min)を計算する。
N_jitter_max及びN_jiter_minは正または負であることができるけれども、(N_jitter_max−N_jiter_min)は正であることに注意するべきである。
オプション2:
オプション2の第3方法でネットワーク・ジッターを計算するために使用されるステップが図15に図解されている。オプション2では、特定のパケットでのネットワーク・ジッターは、興味あるパケットと所定数の先行パケットの各々との間のジッター計算を用いて計算される。その所定数の先行するパケットはウィンドウとして定義され、そのウィンドウは如何なる値であっても良い。図15に図解されている例では、ウィンドウは4先行パケットの値を有する。該ウィンドウは例えば7パケットなど、他の如何なる値に設定されても良い。更に、例えば、ウィンドウは最後の基準パケット以来のパケット数に等しい値に設定されても良い。
図15に図解されているように、パケット5についてのネットワーク・ジッターは、パケット1に関する情報j(5,1)、パケット2に関する情報j(5,2)、パケット3に関する情報j(5,3)及びパケット4に関する情報j(5,4)を用いて計算される。図15に図解されているように、パケット1の各々に関してパケット5について計算されるネットワーク・ジッターがj(5,1)=2、パケット2に関してj(5,2)=3、パケット3に関してj(5,3)=4,そしてパケット4に関してj(5,4)=7であるならば、max_network_jitter=7である。オプション2の第3方法に従ってネットワーク・ジッターを計算するための方程式とそれについての説明を以下において呈示する。
現在のパケットのネットワーク・ジッターはオプション2の方法に従って次のように計算される:
現在のヘッダの前に送られた、ウィンドウWに属する全てのヘッダjについて計算されたN_jitter(Current_header、j)=(T_current−T_j)−(p_TS_current−p_TS_j)であり、ここでT_jはヘッダjが受信されたときのタイマー値であり、p_TS_jはヘッダjの圧縮されているRTP TSである;そして
ウィンドウW内の全てのjにわたってMax_network_jitter=|Max N_jitter(Current_header、j)|を計算する。
解凍器からのフィードバックを利用できる場合には、ウィンドウWは正しく受信されたと分かっている(例えば、肯定応答された)最後のヘッダ以来送られたヘッダを含む。フィードバック無しの場合には、ウィンドウWは送られた最後のL個のヘッダを含み、このLは1つのパラメータである。
2.解凍器
Current_headerのRTP TSを解凍するために、レシーバーは、Last_headerが受信されてから経過した時間をTミリ秒を単位として計算する。その時間、Timer(Current_header、Last_header)がp_TS_currentの近似値を与えるためにp_TS_lastに加えられる。レシーバーは、その後、そのk個の最下位ビットが圧縮されているRTP TSと調和する、該近似値に最も近い値を選ぶことによってp_TS_currentの正しい値を決定する。次にTS_currentはTS0+(p_TS_current)*TS_strideとして計算される。
Timer(Current_header、Last_header)は(T_current−T_last)として計算されることができ、ここでT_current及びT_lastはCurrent_header及びLast_headerがそれぞれ受信されたときのR_Timerの値である。
3.正しさの証拠
タイマー及び基準に基づく方式の訂正を証明するために、下記が仮定される:
Approx_TSは、p_TS_Last+Timer(Current_header、Last_header)として計算されたp_TS_currentの近似値であり;
Exact_TSはp_TS_currentの正しい値である。
上記に基づいて:
|Approx_TS−Exact_TS|<=|Jitter(Current_header、Last_header)|;
解凍器におけるMax_network_jitterの定義により:
|Jitter(Current_header、Last_header)|≦J1、
ここでJ1=Max_network_jitter+Max_radio_jitter+Jである。
Jは圧縮器及び解凍器におけるTimersに起因する量子化エラーを償うために加えられる因数であり、それは+1または−1であることができる。従って、J=2で充分である。
従って、次のようになる:
|Approx_TS−Exact_TS|≦J1
アンビギュイティー無しでExact_TSを計算するためには、(2*J1+1)<2kの条件が満たされるようにkを選べば充分である。
4.圧縮器の前でのパケット誤配列の場合
パケット誤配列は減少するRTPシーケンス番号(RTP SN)により検出されることができる。それが起こったときには、圧縮器は異なる方式、例えばVLE、を用いて圧縮されているRTP TSを符号化することができる。解凍器は、その異なる符号化について、圧縮されているヘッダ内の適当なインジケータ・ビットにより通知される。
もう一つのオプションは標準のタイマー及び基準に基づく方式アルゴリズムを適用することである−誤配列はおそらくより大きなkの値をもたらす結果とる。
5.アップリンク
無線システムで、アップリンク方向については、ネットワーク・ジッターはゼロであり(RTPソースと圧縮器との両方が無線端末に置かれているので)、無線ジッターは普通は制限されていて非常に小さいままであるように制御される。従って、予期されるkは非常に小さくて一定であり、それはヘッダ・サイズの変動を最小限にする。アップリンクについては、端末は普通はネットワークから増大された帯域幅を要求しなければならないので、これは帯域幅管理については非常に大きな利点である。更に、パケット誤配列は無い。その結果として、タイマーに基づく方式はアップリンクに極めて良く適している。
6.ダウンリンク
ダウンリンク方向については、ネットワーク・ジッターはゼロではないけれども、全体としてのジッターは普通は小さくて実時間要件を満たす。予期されるkもなお小さくて普通は一定である。kにはより大きな変動があるかも知れないけれども、ネットワークが帯域幅割り当てを制御するので、帯域幅管理はあまり問題ではない。
7.ハンドオフ
セルラーシステムでは、アップリンク及びダウンリンクとそれぞれ表示される、MSからネットワークへの無線リンクとネットワークからMSへの無線リンクとがある。圧縮/解凍がセルラー・リンクに適用されるときには、MSに基づく機能MS_AD(MSアダプター)があり、これはアップリンク及びダウンリンクのために圧縮及び解凍をそれぞれ行う。アップリンク及びダウンリンクのために解凍及び圧縮をそれぞれ行うANI_AD(アクセス・ネットワーク・インフラストラクチャー・アダプター)と呼ばれる、ネットワークに基づくエンティティーがある。
考察するべきハンドオフの特別の場合はANI_AD間ハンドオフであり、この場合には旧ANI_ADから新ANI_ADへの切り換えに起因する中断があり得る。問題は、ハンドオフ後にMS_AD及び新ANI_ADでの圧縮/解凍が中断無しに続く様にハンドオフの間情報の連続性をどの様に維持するかということである。
ハンドオフについては、以下で説明する2つの代替方法がある:
a.第1の方法
第1の方法は、K.リにより“ヘッダ圧縮のための効率的ハンドオフ手続”について本出願と同日である1999年3月9日に出願された関連出願第09/522,497号に開示されているハンドシェイク方法と共に、ANI_ADとMS_ADとの間で交換されるコンテキスト情報のスナップ写真を撮る方式を使用する。RTP TSについては、該コンテキスト情報は基準ヘッダの完全なRTP TSを含む。ハンドオフの直後に、圧縮器(アップリンクについてはMS_AD、ダウンリンクについてはANI_AD)は一時的にタイマーに基づく方式の使用を中断して基準値に関しての圧縮されているRTP TSを送る。例えば、K.リにより“ヘッダ圧縮のための効率的ハンドオフ手続”について本出願と同日である1999年3月9日に出願された関連出願第09/522,497号に開示されているVLE符号化を使用することができる。肯定応答が受信されると、圧縮器は肯定応答された値をRFHとして使用し、タイマーに基づく方式に戻る。
b.第2の方法
第2の方法はハンドオフを渡ってタイマーに基づく方式を使用し続ける。
i.ダウンリンク
MSであるレシーバーの側には不連続はない。圧縮器の役割は1つのANI_ADから他へと移される。ハンドオフ後、ヘッダは旧ANI_ADの代わりに新ANI_ADを通る新しい経路で送られる。
−圧縮器
旧ANI_ADは、該ハンドシェイク方法を使って、新ANI_ADに次の情報:即ちT_RFH、p_TS_RFH、S_Timerの現在の値、TS0、及びTS_strideのスナップ写真を渡す。(スナップショット値は、例えばT_RFH*など、星印で表示される)。新ANI_ADは、そのS_Timerを旧ANI_ADから受信されたS_Timerの現在の値で初期化し、そのタイマーをTミリ秒毎にインクリメントし始める。旧ANI_ADの現在のS_timer値でのS_timerの初期化は概念的記述である。もし単一のS_timerが複数のフローにより共有されているならば、実際のS_timerは再初期化されない。むしろ、そのS_timerと旧ANI_ADからの値とのオフセットが記録される。このオフセットは将来の計算において考慮される。ハンドオフ後の正に第1のヘッダを圧縮するために、新ANI_ADはp_TS_currentのk個の最下位ビットを送る。新ANI_ADはk、即ち使用されるべきビットの数、を次のように決定する:
J2=N_jitter(Current_header、RFH*)の上限+Max_radio_jitter+J、
ここでkは(2*J2+1)<2kという条件を満たすように選択される。
上記において、Max_radio_jitterは新ANI_ADとMS−ADとの間のセグメントでの最大ジッターである。
N_jitter(Current_header、RFH*)の上限は次のように計算される:
|Timer(Current_header、RFH*)−(p_TS_current−p_TS_RFH*)|+T_transfer、ここでTimer(Current_header、RFH*)は(T_current−T_RFH*)であり;
T_currentは、Current_headerが受信されたときの新ANI_ADにおけるS_Timerの値であり;
T_RFH*は旧ANI_ADから受信された値であり;
T_transferは、Tミリ秒を単位として表した、旧ANI_ADから新ANI_ADへコンテキスト情報を転送する時間の上限であり;
J=2である。
−解凍器
Current_headerのRTP TSを解凍するために、レシーバーはRFHが受信されてから経過した時間をTミリ秒の単位で計算する。その時間、Timer(Current_header、RFH)、はp_TS_currentの近似値を与えるためにp_TS_RFHに加えられる。レシーバー、次に、そのk個の最下位ビットが圧縮されているRTP TSと調和する、該近似値に最も近い値を選ぶことによって、p_TS_currentの正確な値を決定する。次にTS_currentがTS0+(p_TS_current)*TS_strideとして計算される。
RFHが受信されてから経過した時間は(T_current−T_RFH)として計算されることができる。
−故障の場合
コンテキスト情報が新ANI_ADに時宜を得て転送され得なかったときには、新ANI_ADは肯定応答が受信されるまで完全なRTP TSを送る。
ii.アップリンク
解凍器の役割は1つのANI_ADから他へと移される。圧縮器はMSに固定されたままである。
−解凍器
旧ANI_ADは、ハンドシェイク方法を使って、新ANI_ADに次の情報:T_RFH*、p_TS_RFH*、R_Timer*の現在の値、TS0、及びTS_stride、のスナップ写真を転送する。新ANI_ADは、旧ANI_AD2から受信されたR_Timerの現在の値でそのR_Timerを初期化し、そのタイマーをTミリ秒毎にインクリメントし始める。旧ANI_ADの現在のR_timer値でのR_timerの初期化というのは正に概念的記述である。もし単一のR_timerが複数のフローにより共有されているならば、実際のR_timerは再初期化されない。むしろ、そのR_timerと旧ANI_ADからの値とのオフセットが記録される。このオフセットは将来の計算において考慮される。ハンドオフ後の正に第1のヘッダを解凍するために、新ANI_ADは、Timer(Current_header、RFH)を計算し、p_TS_currentの近似値を与えるためにそれをp_TS_RFH*に加える。レシーバーは、次に、そのk個の最下位ビットが圧縮されているRTP TSと調和する、該近似値に最も近い値を選ぶことによって、p_TS_currentへの正確な値を決定する。次にTS_currentがTS0+(p_TS_current)*TS_strideとして計算される。
Timer(Current_header、RFH)は(T_current−T_RFH*)として見積もられることができる。T_currentは、Current_headerが受信されたときのR_timerの値である。
−圧縮器
MS_ADはp_TS_currentのk個の最下位ビットを送る。それはk、即ち使用されるべきビットの数、を次のように決定する:
kが(2*J2+1)<2kという条件を満たすように選択されたとき、J2=N_jitter(Current_header、RFH*)の上限+Max_radio_jitter+Jを計算する。
ここでMax_radio_jitterは新ANI_ADとMS_ADとの間のセグメントでの最大ジッターである。
N_jitter(Current_header、RFH*)の上限は|Timer(Current_header、RFH*)−(p_TS_current_header−p_TS_RFH*)|+T_transferとして計算され、
ここでTimer(Current_header、RFH*)は(T_current−T_RFH*)であり;
T_currentは現在のヘッダが受信されたときの新ANI_ADにおけるS_Timerの値であり;
T_RFH*は旧ANI_ADから受信される値であり;
T_transferは、Tミリ秒の単位で表された、旧ANI_ADから新ANI_ADへコンテキスト情報を転送する時間の上限であり;そして
J=2である。
−故障の場合
コンテキスト情報が新ANI_ADへ時宜を得て転送され得ないときには、新ANI_ADはMS_ADに通知し、これは肯定応答が受信されるまで完全なRTP TSを送る。
8.該方式の性能
会話実時間要件のために、正常動作時の累積ジッターは大きくてもTミリ秒の僅か数倍であると予期される。従って、16〜32音声サンプルまでのジッターが訂正され得るので、およそ4或いは5のkの値で充分である。
この方式の利点は次の通りである:
圧縮されているヘッダのサイズは一定で小さい。圧縮されているヘッダは、通常、メッセージのタイプを示すメッセージ・タイプ(k1ビット)と、どのフィールドが変化するか示すビット・マスクと、index_currentのk個の最下位ビットを含むフィールド(kビット)とを含む。4ビットMSTIビット・マスクが使用され、k1=4であるとすると、RTP TSだけが変化するときの(この場合が断然最も頻繁である)圧縮されているヘッダのサイズは1.5バイトである。更に、該サイズは沈黙の間隔の長さの関数としては変化しない。
タイマー・プロセスと解凍器プロセスとの間に同期化は不要である。
エラーに対する強さ、圧縮されているヘッダ中の部分的RTP TS情報は自己充足していて、完全なRTP TS値を作るためにはレシーバー・タイマーと結合されるだけでよいので。ヘッダの喪失または破損は、後の圧縮されているヘッダを無効にはしない。
圧縮器は僅かな記憶情報を維持しなければならないだけである:
オプション1ではT_RFH、p_TS_RFH、N_jitter_max、N_jitter_min、TS0、及びTS_stride、そしてオプション2ではウィンドウW内の全てのjについて{T−j、p−TS−j}、TS0、及びTS_stride。
C.ジッター減少
会話実時間要件のために、上記のいろいろなジッターは正常動作時には数Tミリ秒程度であると合理的に予期することができる。しかし、ジッターがもっと大きく、従ってもっと大きなkを必要とする場合を除外することはできない。例えば、RTPソースからレシーバーへの経路に異常な状態(故障など)があって、その間にジッターが過度になることがあり得る。また、kの一定の値が望まれ或いは望ましいという場合もあり得る。これらの場合に対処するために、圧縮器に対してのフロントエンドとしてジッター減少機能を実現して、過度のジッター(即ち、何らかのスレショルド値を上回るジッター)を伴うパケットを除去することができる。
静止の場合(ハンドオフ無し)には、ジッターは次のようにJ1として計算されて静止スレショルドと比較される:
J1=(n_jitter_max−N_jitter_min)+Max_radio_itter+J。
ハンドオフの場合には、ジッターは次のようにJ2として計算されてハンドオフ・スレショルド値と比較される:
J2=|Timer(Current_header、RFH*)−(p_TS−current−p_TS_RFH*)|+T_transfer+Max_radio_jitter+J。
静止無ハンドオフの場合に関しての主な差は、T_transferが加えられていることである。実際には、ハンドオフを100ミリ秒で実行できるためには、T_transferは約100ミリ秒までに制限されなければならないので、T_transfer=Tミリ秒(T=20ミリ秒)の単位で約5または6である。k=5の値で充分である。
静止スレショルドとハンドオフ・スレショルドとは同じであることもあり、同じでないこともある。
D.ビデオの場合
RTPビデオ・ソースの場合には、パケット間の時間間隔は必ずしも一定ではなく、更にRTP TSは必ずしも1つのパケットから次へと一定ストライドだけインクリメントするとは限らない。しかし、RTP TSとパケット間の時間間隔とは個別的である。従って、次の通りである:
パケットmのRTPタイムスタンプ=パケット0(時点0で作られる)のRTPタイムスタンプ+TS_stride*[index+adjust(m)]、
ここでTS_strideはコーデックに依存する定数であり、adjust(m)はmに依存し音声の場合のように線形挙動に関して差を反映する整数であり;
2つの連続するパケット間の時間間隔はTミリ秒の整数倍である。
以降は、RTPソースにおけるその挙動は調整された線形挙動と称される。音声についてのと同じ標記を使用して、TS_last=TS0+TS+stride*[index_last+adjust(index_last)]、そしてTS_current=TS0+TS_stride*[index_current)+adjust(index−current]。該Adjustパラメータは正または負であり得る。従って、音声と比べて主な差は追加の項Adjustである。
RTP TSは解凍器に入ってくるヘッダであり、またソース及び解凍器の間での遅延ジッターに起因してあまり厳密にではないけれども、時間の関数として調整された線形パターンに従う。正常動作時には(クラッシュまたは故障が無い)、該遅延ジッターは限られていて、会話実時間トラフィックの要件を満たす。
上記のようにCurrent_headerの圧縮されているRTP TS=index_current+adjust(index_current)であると仮定される。p_TS_currentに関して同じ表記が使用され、例えば、
圧縮器
圧縮器は、圧縮されているヘッダで、p_TS_currentのk個の最下位ビットを送る。kを決定するアルゴリズムは音声についてと同じである。
解凍器
使用されるべきアルゴリズムは音声についてと同じである。
1.ハンドオフ
音声について記述されたハンドオフのための2つの代替方法は、ビデオにも同じく適用される。
2.kの値
音声については、k=4または5で充分である(2k=16または32)ことが示された。ビデオの場合には、Adjustの結果としてkのもっと大きな値が必要である。ビデオは1秒あたり30フレームで構造化されるので、|Adjust|<30である。従って、正常動作時にはk=7または8ビットで充分であるはずである。
本発明の幾つかの実施態様がここで明確に図解され且つ/又は説明されている。しかし、本発明の精神及び所期の範囲から逸脱することなく本発明の修正形及び別形が、以上の教示により、添付されている請求項の範囲内に含まれることが認められるであろう。
本発明は付随する図面において詳しく絵画的に記述されているけれども、当業者に認識され得る多くの変更及び修正が、本発明に、その精神及び範囲から逸脱することなく、なされ得るので、それはその様な詳細には限定されない。
本発明の実施例に従うシステムを図解するブロック図である。 本発明の実施態様に従うRTPパケットの圧縮されていないフォーマットを図解する図である。 本発明の実施例に従う圧縮されていないRTPヘッダ・フォーマットを図解する図である。 本発明の実施例に従う圧縮されているRTPヘッダ・フォーマットを図解する図である。 本発明の実施態様に従うヘッダ圧縮及び解凍の動作例を図解する図である。 本発明のもう一つの実施態様に従うヘッダ圧縮及び解凍の動作例を図解する図である。 本発明の実施態様に従うハンドオーバーの動作例を図解する図である。 本発明の実施例に従うスタック例を図解するブロック図である。 本発明の実施例に従ってメッセージに供給されることのできる情報を図解する表である。 本発明の実施例に従うハンドオーバー・プロセスを図解する図である。 本発明の実施例に従うイン・バンドについての初期化を図解する図である。 本発明の実施例に従うアウトオブバンドについての初期化を図解する図である。 本発明の第1の方法に従ってネットワーク・ジッターを計算するステップを図解する図である。 本発明のオプション1として述べられる第2の方法に従ってネットワーク・ジッターを計算するステップを図解する図である。 本発明のオプション2として述べられる第3の方法に従ってネットワーク・ジッターを計算するステップを図解する図である。

Claims (25)

  1. 圧縮器から解凍器へタイムスタンプを含むヘッダ・フィールドの初期値を供給することを含み;
    該圧縮器において現在のパケットの現在のヘッダ・フィールドとジッターとに基づいて該現在のパケットの圧縮されているヘッダ・フィールドを計算することを含み、
    ここで前記計算は:
    ソースと前記解凍器との間のネットワークがパケットの伝送に及ぼすジッター効果を計算し、
    該圧縮されているヘッダ・フィールドを、前記初期値からの差分を示すフィールド値の一部分として計算することを含み、前記部分はジッターの関数であ
    前記の該圧縮器において該現在のパケットの該圧縮されているヘッダ・フィールドを計算することは:
    該フィールド値を、表現するのにより少ない数のビットを必要とする、圧縮されている値と称される、他の値に変換し;
    該現在のパケットの該圧縮されているヘッダ・フィールドを該圧縮されている値の最下位kビットとして計算することを含み、ここでkは整数であり、
    前記のより少ない数のビットで表現された値は所定の時間間隔を単位として表わされ、
    前記kは((前記のより少ない数のビットで表現され、次に大きい整数に丸められた最大累積ジッター)+2)<2 を満たす最小の整数である、
    ことを特徴とする方法。
  2. 前記のジッター効果を計算することは:
    該圧縮器の前のネットワークのジッター効果を計算し;
    該圧縮器と解凍器との間のネットワークのジッター効果を計算することを含む、請求項1に記載の方法。
  3. 該圧縮器と解凍器との間の該ネットワークの前記ジッター効果はジッターについての上限値に設定される、請求項2に記載の方法。
  4. 前記の該圧縮器の前の該ネットワークのジッター効果を計算することは:
    基準パケットに関する情報を用いて現在のパケットのジッター効果を計算することを含む、請求項2に記載の方法。
  5. 前記の該圧縮器の前の該ネットワークのジッター効果を計算することは:
    前記の現在のパケットと所定数の先行するパケットの各々とに関する情報を用いて現在のパケットのジッター効果を計算することを含む、請求項2に記載の方法。
  6. 前記の該圧縮器の前の該ネットワークのジッター効果を計算することは:
    前記の現在のパケットと基準パケットまでの先行する各パケットとに関する情報を用いて現在のパケットのジッター効果を計算することを含む、請求項2に記載の方法。
  7. 前記の該圧縮器において該現在のパケットの該圧縮されているヘッダ・フィールドを計算することは:
    該現在のパケットの該圧縮されているヘッダ・フィールドを該フィールド値の最下位kビットとして計算することを含み、ここでkは整数である、請求項1に記載の方法。
  8. 前記ヘッダ・フィールドは実時間転送プロトコルタイムスタンプを含む、請求項1の方法。
  9. 解凍器へタイムスタンプを含むヘッダ・フィールドの初期値を供給するように構成された送信機を含み、
    現在のパケットの現在のヘッダ・フィールドとジッターとに基づいて該現在のパケットの圧縮されているヘッダ・フィールドを計算するように構成された計算機を含み、
    ここで前記計算機は、ソースと前記解凍器との間のネットワークがパケットの伝送に及ぼすジッター効果を計算し、そして該圧縮されているヘッダ・フィールドを、前記初期値からの差分を示すフィールド値の一部分として計算するように更に構成されており、前記部分はジッターの関数であ
    前記計算機は:
    該フィールド値を、表現するのにより少ない数のビットを必要とする、圧縮されている値と称される、他の値に変換し;
    該現在のパケットの該圧縮されているヘッダ・フィールドを該圧縮されている値の最下位kビットとして計算するように更に構成されており、ここでkは整数であり、
    前記のより少ない数のビットで表現された値は所定の時間間隔を単位として表わされ、
    前記kは((前記のより少ない数のビットで表現され、次に大きい整数に丸められた最大累積ジッター)+2)<2 を満たす最小の整数である、
    ことを特徴とする装置。
  10. 前記計算機は:
    圧縮器の前のネットワークのジッター効果を計算し;
    該圧縮器と解凍器との間のネットワークのジッター効果を計算するように更に構成されている、請求項に記載の装置。
  11. 該圧縮器と解凍器との間の該ネットワークの前記ジッター効果はジッターについての上限値に設定される、請求項10に記載の装置。
  12. 前記計算機は:
    基準パケットに関する情報を用いて現在のパケットのジッター効果を計算するように更に構成されている、請求項10に記載の装置。
  13. 前記計算機は:
    前記の現在のパケットと所定数の先行するパケットの各々とに関する情報を用いて現在のパケットのジッター効果を計算するように更に構成されている、請求項10に記載の装置。
  14. 前記計算機は:
    前記の現在のパケットと基準パケットまでの各々の先行するパケットとに関する情報を用いて現在のパケットのジッター効果を計算するように更に構成されている、請求項10に記載の装置。
  15. 前記計算機は:
    該現在のパケットの該圧縮されているヘッダ・フィールドを該フィールド値の最下位kビットとして計算するように更に構成されており、ここでkは整数である、請求項に記載の装置。
  16. 前記ヘッダ・フィールドは実時間転送プロトコルタイムスタンプを含む、請求項に記載の装置。
  17. 圧縮器からタイムスタンプを含むヘッダ・フィールドの初期値を受信した後、該圧縮器において現在のパケットの現在のヘッダ・フィールドとジッターとに基づいて計算された該現在のパケットの圧縮されているヘッダ・フィールドを受信するように構成された受信機を含む装置であって、前記の圧縮されているヘッダ・フィールドは、圧縮器においてソースと前記装置との間のネットワークがパケットの伝送に及ぼすジッター効果として計算される、前記初期値からの差分を示すフィールド値の一部分として計算されており;
    前の圧縮されているヘッダ・フィールドの到着からの経過時間と前のパケットの解凍されているフィールド値とに基づいて該現在のパケットの該ヘッダ・フィールドの近似値を計算するように構成された近似値計算機を含み;
    該現在のパケットの該圧縮されているヘッダ・フィールドに基づいて該現在のパケットについてのヘッダ・フィールド訂正量を計算するように構成された訂正計算機を含み;そして
    該現在のパケットの該ヘッダ・フィールドの該近似値を該ヘッダ・フィールド訂正量に基づく量だけ調整することによって該現在のパケットの該圧縮されているヘッダ・フィールドを解凍するように構成された解凍器を含み、
    該圧縮されているヘッダ・フィールドは表現するのにより少ない数のビットを必要とする圧縮されている値の最下位kビットとして計算され、ここでkは整数であり;そして
    該解凍器は、前のパケットの到着から経過した時間と該前のパケットの解凍されている値とに基づいて該圧縮されている値の近似値を計算するように構成されていて、
    前記のより少ない数のビットで表現された値は所定の時間間隔を単位として表わされ、
    前記kは((前記のより少ない数のビットで表現され、次に大きい整数に丸められた最大累積ジッター)+2)<2 を満たす最小の整数である、
    装置。
  18. 該ソースと該解凍器との間のネットワークがパケットの伝送に及ぼす前記ジッター効果は、該圧縮器の前のネットワークのジッター効果を計算し、且つ該圧縮器と解凍器との間のネットワークのジッター効果を計算することによって計算される、請求項17に記載の装置。
  19. 該圧縮器と解凍器との間の該ネットワークの前記ジッター効果はジッターについての上限値に設定される、請求項18に記載の装置。
  20. 前記の該圧縮器の前の該ネットワークのジッター効果を計算することは:
    基準パケットに関する情報を用いて現在のパケットのジッター効果を計算することを含む、請求項19に記載の装置。
  21. 前記の該圧縮器の前の該ネットワークのジッター効果を計算することは:
    前記の現在のパケットと所定数の先行するパケットの各々とに関する情報を用いて現在のパケットのジッター効果を計算することを含む、請求項18に記載の装置。
  22. 前記の該圧縮器の前の該ネットワークのジッター効果を計算することは:
    前記の現在のパケットと基準パケットまでの各々の所定パケットとに関する情報を用いて現在のパケットのジッター効果を計算することを含む、請求項18に記載の装置。
  23. 該圧縮されているヘッダ・フィールドは該フィールド値の最下位kビットとして計算され、ここでkは整数である、請求項17に記載の装置。
  24. コンピュータに、
    圧縮器から解凍器へタイムスタンプを含むヘッダ・フィールドの初期値を供給する手順と;
    該圧縮器において現在のパケットの現在のヘッダ・フィールドとジッターとに基づいて該現在のパケットの圧縮されているヘッダ・フィールドを計算する手順と、を実行させるプログラムであって、
    ここで前記計算は:
    ソースと前記解凍器との間のネットワークがパケットの伝送に及ぼすジッター効果を計算し、
    該圧縮されているヘッダ・フィールドを、前記初期値からの差分を示すフィールド値の一部分として計算することを含み、前記部分はジッターの関数であ
    前記の該圧縮器において該現在のパケットの該圧縮されているヘッダ・フィールドを計算することは:
    該フィールド値を、表現するのにより少ない数のビットを必要とする、圧縮されている値と称される、他の値に変換し;
    該現在のパケットの該圧縮されているヘッダ・フィールドを該圧縮されている値の最下位kビットとして計算することを含み、ここでkは整数であり、
    前記のより少ない数のビットで表現された値は所定の時間間隔を単位として表わされ、
    前記kは((前記のより少ない数のビットで表現され、次に大きい整数に丸められた最大累積ジッター)+2)<2 を満たす最小の整数である、
    ことを特徴とするプログラム。
  25. コンピュータに、
    解凍器において圧縮器からタイムスタンプを含むヘッダ・フィールドの初期値を受信した後、該圧縮器において現在のパケットの現在のヘッダ・フィールドとジッターとに基づいて計算された該現在のパケットの圧縮されているヘッダ・フィールドを受信する手順を実行させるプログラムであって、前記の圧縮されているヘッダ・フィールドは、ソースと該解凍器との間のネットワークがパケットの伝送に及ぼすジッター効果として計算される、前記初期値からの差分を示すフィールド値の一部分として圧縮器において計算されており;
    前記プログラムは、更に、
    コンピュータに、
    前の圧縮されているヘッダ・フィールドが該解凍器に到着してからの経過時間と前のパケットの解凍されているフィールド値とに基づいて該解凍器において該現在のパケットの該ヘッダ・フィールドの近似値を計算する手順;
    該現在のパケットの該圧縮されているヘッダ・フィールドに基づいて該解凍器において該現在のパケットについてのヘッダ・フィールド訂正量を計算する手順;そして
    該現在のパケットの該ヘッダ・フィールドの該近似値を該ヘッダ・フィールド訂正量に基づく量だけ調整することによって該解凍器において該現在のパケットの該圧縮されているヘッダ・フィールドを解凍する手順を実行させ
    該圧縮されているヘッダ・フィールドは表現するのにより少ない数のビットを必要とする圧縮されている値の最下位kビットとして計算され、ここでkは整数であり;そして
    該解凍器は、前のパケットの到着から経過した時間と該前のパケットの解凍されている値とに基づいて該圧縮されている値の近似値を計算するように構成され、
    前記のより少ない数のビットで表現された値は所定の時間間隔を単位として表わされ、
    前記kは((前記のより少ない数のビットで表現され、次に大きい整数に丸められた最大累積ジッター)+2)<2 を満たす最小の整数である、
    ことを特徴とするプログラム。
JP2007236622A 2000-03-09 2007-09-12 データ・パケットのヘッダ・フィールドを圧縮するための技術 Expired - Lifetime JP4612028B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/522,363 US6680955B1 (en) 1999-08-20 2000-03-09 Technique for compressing a header field in a data packet

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001565612A Division JP4159287B2 (ja) 2000-03-09 2001-03-09 データ・パケットのヘッダ・フィールドを圧縮するための技術

Publications (3)

Publication Number Publication Date
JP2008035543A JP2008035543A (ja) 2008-02-14
JP2008035543A5 JP2008035543A5 (ja) 2008-09-18
JP4612028B2 true JP4612028B2 (ja) 2011-01-12

Family

ID=24080562

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001565612A Expired - Lifetime JP4159287B2 (ja) 2000-03-09 2001-03-09 データ・パケットのヘッダ・フィールドを圧縮するための技術
JP2007236622A Expired - Lifetime JP4612028B2 (ja) 2000-03-09 2007-09-12 データ・パケットのヘッダ・フィールドを圧縮するための技術

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001565612A Expired - Lifetime JP4159287B2 (ja) 2000-03-09 2001-03-09 データ・パケットのヘッダ・フィールドを圧縮するための技術

Country Status (16)

Country Link
US (1) US6680955B1 (ja)
EP (5) EP1262052B1 (ja)
JP (2) JP4159287B2 (ja)
KR (1) KR100502313B1 (ja)
CN (2) CN1617540B (ja)
AT (3) ATE460038T1 (ja)
AU (2) AU4353301A (ja)
BR (1) BRPI0109097B1 (ja)
CA (1) CA2402438C (ja)
DE (1) DE60141453D1 (ja)
DK (2) DK2169906T3 (ja)
ES (3) ES2460140T3 (ja)
MX (1) MXPA02008806A (ja)
PT (2) PT2169906E (ja)
RU (1) RU2278478C2 (ja)
WO (1) WO2001067709A2 (ja)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612003B1 (ko) * 2000-02-26 2006-08-11 삼성전자주식회사 통신망에서 비트 스트림 송수신 장치 및 그 방법
EP1146713B1 (en) * 2000-03-03 2005-04-27 NTT DoCoMo, Inc. Method and apparatus for packet transmission with header compression
US7136377B1 (en) * 2000-03-31 2006-11-14 Cisco Technology, Inc. Tunneled datagram switching
US7512069B2 (en) * 2000-05-18 2009-03-31 Exfo Service Assurance, Inc. IP packet identification method and system for TCP connection and UDP stream
US7058020B2 (en) * 2000-05-18 2006-06-06 Brix Networks, Inc. Hardware time stamping and registration of packetized data method and system
US7788211B2 (en) * 2000-06-16 2010-08-31 Nokia Networks Oy Robust and efficient compression of list of items
JP4520032B2 (ja) * 2000-08-17 2010-08-04 パナソニック株式会社 ヘッダ圧縮装置およびヘッダ圧縮方法
DE60018927T2 (de) * 2000-09-07 2005-07-28 Matsushita Electric Industrial Co. Ltd., Kadoma Verfahren und Vorrichtung zur Datenpaketenübertragung
AU2001294142A1 (en) * 2000-09-20 2002-04-02 Main.Net Communication Ltd. Multimedia communications over power lines
ES2266273T3 (es) * 2000-09-28 2007-03-01 Nokia Corporation Metodo y compresor para la compresion de informacion de indicacion de tiempo de paquetes.
DE60120466T2 (de) * 2000-10-11 2007-01-18 Broadcom Corp., Irvine Effiziente Übertragung von RTP Paketen in einem Netzwerk
US20020089602A1 (en) * 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
JP2002152308A (ja) * 2000-11-09 2002-05-24 Nec Corp データ通信システム、その通信方法及びその通信プログラムを記録した記録媒体
US6950445B2 (en) * 2000-11-16 2005-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Communication system and method for shared context compression
US6963587B2 (en) * 2000-11-16 2005-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Communication system and method utilizing request-reply communication patterns for data compression
US7136395B2 (en) * 2000-11-30 2006-11-14 Telefonaktiebolaget L M Ericsson (Publ) Method and system for transmission of headerless data packets over a wireless link
JP4483100B2 (ja) * 2001-02-20 2010-06-16 株式会社日立製作所 ネットワーク間接続装置
US20040100913A1 (en) * 2001-03-28 2004-05-27 Juha Kalliokulju Method for providing parameters during a change of access, cellular communications system, user equipment and network element
WO2002091778A1 (en) * 2001-05-04 2002-11-14 Nokia Corporation Method for providing parameters during a change of access, cellular communications system, user equipment and network element
JP3569241B2 (ja) * 2001-05-29 2004-09-22 松下電器産業株式会社 パケット受信装置及びパケット受信方法
JP3617967B2 (ja) * 2001-09-28 2005-02-09 松下電器産業株式会社 ヘッダ圧縮パケット受信装置及び方法
EP1315356B1 (en) 2001-11-24 2008-10-22 Lg Electronics Inc. Method for transmitting packet data in compressed form in a communication system
EP1458144A4 (en) 2001-12-18 2007-05-02 Mitsubishi Electric Corp COMMUNICATION SYSTEM, TRANSMITTER AND RECEIVER
FI113324B (fi) * 2001-12-21 2004-03-31 Nokia Corp Parannettu laitejärjestely, päätelaite ja menetelmä audiosignaalin siirrossa pakettikytkentäisessä tiedonsiirtoverkossa
EP1349285A1 (en) * 2002-03-28 2003-10-01 Matsushita Electric Industrial Co., Ltd. Method for making efficient use of the bits allocated to the sequence number when transmitting compressed header data
US7170870B2 (en) * 2002-05-07 2007-01-30 Microsoft Corporation Data packet transmission for channel-sharing collocated wireless devices
CN1304972C (zh) * 2002-06-26 2007-03-14 威盛电子股份有限公司 数据封包转移方法
KR100497357B1 (ko) * 2002-06-26 2005-06-23 삼성전자주식회사 인터넷 프로토콜 기반 네트워크 환경에 있어서 헤더 압축및 패킷 다중화 장치와 그 방법
JP4317403B2 (ja) * 2002-08-09 2009-08-19 パナソニック株式会社 ヘッダ圧縮装置及びヘッダ圧縮方法
US7454494B1 (en) * 2003-01-07 2008-11-18 Exfo Service Assurance Inc. Apparatus and method for actively analyzing a data packet delivery path
US20040136476A1 (en) * 2003-01-10 2004-07-15 Rosen Eric C. Method and apparatus for compressing header information for short data burst messaging
US7489362B2 (en) 2003-03-04 2009-02-10 Broadcom Corporation Television functionality on a chip
US7317724B2 (en) * 2003-07-08 2008-01-08 Cisco Technology, Inc. Performing compression of user datagram protocol packets
FR2857538B1 (fr) * 2003-07-08 2006-10-06 At & T Corp Systeme et methode de compression d'en-tete de paquets bases sur la creation dynamique d'un gabarit
US7065087B2 (en) * 2003-07-08 2006-06-20 Cisco Technology, Inc. Performing compression of user datagram protocol packets
US7461282B2 (en) * 2003-08-15 2008-12-02 Broadcom Corporation System and method for generating multiple independent, synchronized local timestamps
US7512715B2 (en) * 2003-09-26 2009-03-31 Nokia Corporation System and method for requesting a resource over at least one network with reduced overhead
US7839852B2 (en) * 2003-10-30 2010-11-23 Utstarcom (China) Co. Ltd. Apparatus and method for radio transmission of real-time IP packets using header compression technique
US7626975B2 (en) * 2003-11-05 2009-12-01 Telefonaktiebolaget Lm Ercisson (Publ) Method of synchronizing broadcast streams in multiple soft handoff sectors
US7430617B2 (en) * 2003-12-19 2008-09-30 Nokia Corporation Method and system for header compression
US7974191B2 (en) * 2004-03-10 2011-07-05 Alcatel-Lucent Usa Inc. Method, apparatus and system for the synchronized combining of packet data
CN1985477B (zh) 2004-05-13 2012-11-07 高通股份有限公司 用于分配信息到通信系统的信道的方法和设备
EP1603339A1 (en) * 2004-06-01 2005-12-07 STMicroelectronics S.r.l. Method and system for communicating video data in a packet-switched network, related network and computer program product therefor
US8165104B2 (en) * 2004-12-08 2012-04-24 Qualcomm Incorporated Methods and systems for enhancing local repair in robust header compression
US8009699B2 (en) * 2005-07-12 2011-08-30 Qualcomm Incorporated Efficient encoding of out of order data packets in a network
US9031071B2 (en) * 2005-08-26 2015-05-12 Alcatel Lucent Header elimination for real time internet applications
KR100748342B1 (ko) 2005-09-14 2007-08-09 매그나칩 반도체 유한회사 씨모스 이미지 센서의 제조방법
US7764713B2 (en) * 2005-09-28 2010-07-27 Avaya Inc. Synchronization watermarking in multimedia streams
US7907600B2 (en) * 2005-12-23 2011-03-15 Qualcomm Incorporated System and method for optimizing robust header compression (ROHC) in high delay variance environment
US7907609B2 (en) * 2006-01-06 2011-03-15 Qualcomm, Incorporated Method and apparatus for enhancing RoHC performance when encountering silence suppression
JP4640824B2 (ja) * 2006-01-30 2011-03-02 富士通株式会社 通信環境の測定方法、受信装置、及びコンピュータプログラム
US8046731B2 (en) * 2006-04-28 2011-10-25 Sap Ag Timer service computer program components
EP1863232A1 (en) * 2006-05-29 2007-12-05 Stmicroelectronics Sa On-chip bandwidth allocator
CN101102263B (zh) * 2006-07-07 2010-05-12 华为技术有限公司 压缩报文恢复方法及装置
US10075182B2 (en) * 2006-10-13 2018-09-11 Qualcomm Incorporated Message compression
CN101170487B (zh) * 2006-10-25 2010-05-12 华为技术有限公司 数据流复用中的压缩方法和压缩系统以及压缩设备
EP2076983B1 (en) * 2006-10-27 2012-05-30 Telefonaktiebolaget L M Ericsson (PUBL) Method for clock recovery using updated timestamps
US8027328B2 (en) * 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
US7899025B2 (en) * 2006-12-26 2011-03-01 Alcatel-Lucent Usa Inc. Header suppression in a wireless communication network
NZ578058A (en) * 2007-03-16 2012-06-29 Ericsson Telefon Ab L M Method and apparatus for relocating a header compression context in a wireless communication system
US8537742B2 (en) 2007-03-17 2013-09-17 Qualcomm Incorporated Reverse-link quality-of-service information in data packet header
CN101193062B (zh) * 2007-07-25 2011-07-13 中兴通讯股份有限公司 一种rohc压缩中ts值还原方法
US20090052453A1 (en) * 2007-08-22 2009-02-26 Minkyu Lee Method and apparatus for improving the performance of voice over IP (VoIP) speech communications systems which use robust header compression (RoHC) techniques
ATE477695T1 (de) * 2007-10-22 2010-08-15 Alcatel Lucent Synchronisation für multicast- und rundfunkdienste in einem drahtlosen kommunikationssystem
US8548002B2 (en) * 2008-02-08 2013-10-01 Koolspan, Inc. Systems and methods for adaptive multi-rate protocol enhancement
US8184529B2 (en) * 2008-10-17 2012-05-22 Brother Kogyo Kabushiki Kaisha Communication apparatus, method, and program for transmitting and receiving packet data
SG189549A1 (en) * 2010-11-02 2013-06-28 I Ces Innovative Compression Engineering Solutions Method for compressing digital values of image, audio and/or video files
US9515925B2 (en) 2011-05-19 2016-12-06 Qualcomm Incorporated Apparatus and methods for media access control header compression
US9125181B2 (en) * 2011-08-23 2015-09-01 Qualcomm Incorporated Systems and methods for compressing headers
US20140153580A1 (en) * 2013-02-15 2014-06-05 Comtech Ef Data Corp. Reference encoding and decoding for improving network header compression throughput for noisy channels
RU2661762C2 (ru) 2013-11-27 2018-07-19 Телефонактиеболагет Л М Эрикссон (Пабл) Гибридный формат полезной нагрузки rtp
US11245595B2 (en) * 2014-03-12 2022-02-08 Sensia Llc Management of user interfaces within a network
US10547557B2 (en) * 2015-03-11 2020-01-28 Telefonaktiebolaget Lm Ericsson (Publ) Multipoint data flow control
CN106941697A (zh) * 2016-01-04 2017-07-11 中兴通讯股份有限公司 一种发送、接收时间戳信息的方法和装置
US10498683B2 (en) * 2016-07-20 2019-12-03 At&T Intellectual Property I, L.P. Compressed message sets for storage efficiency
CN107707565B (zh) * 2017-11-07 2020-05-19 盛科网络(苏州)有限公司 一种udf报文解析芯片
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
US10701124B1 (en) * 2018-12-11 2020-06-30 Microsoft Technology Licensing, Llc Handling timestamp inaccuracies for streaming network protocols
US11943125B2 (en) 2022-01-26 2024-03-26 Dish Network Technologies India Private Limited Discontinuity detection in transport streams

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122759A (en) * 1995-10-10 2000-09-19 Lucent Technologies Inc. Method and apparatus for restoration of an ATM network
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
JPH11163947A (ja) * 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
US6498791B2 (en) * 1998-04-03 2002-12-24 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US6611519B1 (en) * 1998-08-19 2003-08-26 Swxtch The Rules, Llc Layer one switching in a packet, cell, or frame-based network
US6535505B1 (en) * 1998-09-30 2003-03-18 Cisco Technology, Inc. Method and apparatus for providing a time-division multiplexing (TDM) interface among a high-speed data stream and multiple processors
US6549587B1 (en) * 1999-09-20 2003-04-15 Broadcom Corporation Voice and data exchange over a packet based network with timing recovery
US6404746B1 (en) * 1999-07-13 2002-06-11 Intervoice Limited Partnership System and method for packet network media redirection
US6542931B1 (en) * 1999-11-05 2003-04-01 Nokia Corporation Using sparse feedback to increase bandwidth efficiency in high delay, low bandwidth environment
US6300887B1 (en) * 1999-11-09 2001-10-09 Nokia Networks Oy Efficient handoff procedure for header compression

Also Published As

Publication number Publication date
EP2169996B1 (en) 2012-02-29
EP2490398B1 (en) 2014-01-29
KR20030001376A (ko) 2003-01-06
EP2169996A3 (en) 2011-03-23
KR100502313B1 (ko) 2005-07-20
BRPI0109097B1 (pt) 2015-07-28
CN1419771A (zh) 2003-05-21
EP2169907B1 (en) 2012-01-25
PT2490398E (pt) 2014-03-12
ES2339742T3 (es) 2010-05-25
EP2490398A1 (en) 2012-08-22
EP2169906A3 (en) 2011-06-22
CN1617540B (zh) 2010-10-13
EP2169907A3 (en) 2011-03-23
MXPA02008806A (es) 2004-10-15
PT2169906E (pt) 2013-02-13
DK2490398T3 (da) 2014-04-14
CN1185844C (zh) 2005-01-19
BR0109097A (pt) 2003-06-03
ES2399020T3 (es) 2013-03-25
WO2001067709A2 (en) 2001-09-13
US6680955B1 (en) 2004-01-20
EP2169996A2 (en) 2010-03-31
ATE547885T1 (de) 2012-03-15
JP2008035543A (ja) 2008-02-14
ATE460038T1 (de) 2010-03-15
EP1262052A2 (en) 2002-12-04
ATE543320T1 (de) 2012-02-15
RU2002126997A (ru) 2004-03-10
CA2402438A1 (en) 2001-09-13
EP2169906A2 (en) 2010-03-31
DK2169906T3 (da) 2013-02-18
JP4159287B2 (ja) 2008-10-01
EP1262052B1 (en) 2010-03-03
DE60141453D1 (de) 2010-04-15
EP2169907A2 (en) 2010-03-31
CA2402438C (en) 2007-06-05
EP2169906B1 (en) 2012-11-07
JP2003529247A (ja) 2003-09-30
WO2001067709A3 (en) 2002-03-14
ES2460140T3 (es) 2014-05-13
AU4353301A (en) 2001-09-17
CN1617540A (zh) 2005-05-18
RU2278478C2 (ru) 2006-06-20
AU2001243533B2 (en) 2005-06-09

Similar Documents

Publication Publication Date Title
JP4612028B2 (ja) データ・パケットのヘッダ・フィールドを圧縮するための技術
AU2001243533A1 (en) A technique for compressing a header field in a data packet
JP3940159B2 (ja) ヘッダ圧縮のための効率的ハンド・オフ処理手順
US6788675B1 (en) Method and apparatus for telecommunications using internet protocol
JP3845581B2 (ja) パケットの送受信方法およびシステム
US20050008037A1 (en) Performing compression of user datagram protocol packets
US7065087B2 (en) Performing compression of user datagram protocol packets

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100218

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100218

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4612028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term