(57)【特許請求の範囲】
【請求項１】
リアルタイムデータ通信における、通信路によって送信されるデータパケットの圧縮ヘッダにおいて圧縮されたタイムスタンプフィールドを生成するためにタイムスタンプ情報を圧縮する方法であって、
タイムスタンプ情報の最下位の部分を選択および抽出することと、
抽出した最下位の部分を圧縮されたタイムスタンプフィールドにおける圧縮されたタイムスタンプ情報として付与することとを含む方法。
【請求項２】
タイムスタンプ情報からチェックサムを生成することと、抽出した最下位の部分とともに、圧縮されたタイムスタンプフィールドにチェックサムを付与することとを含む、請求項１記載の方法。
【請求項３】
前記抽出工程前にタイムスタンプ情報を基準化することを含む、請求項１記載の方法。
【請求項４】
パケットが音声を搬送するＲＴＰ／ＵＤＰ／ＩＰパケットのストリームを送信するためにリアルタイム通信サービスにおいて使用されるパケットである、請求項１記載の方法。
【請求項５】
抽出した最下位の部分とともに、圧縮されたタイムスタンプフィールドに所定のコードを付与することを含み、所定のコードが、そのパケットに関係するタイムスタンプ情報が容易に予測可能ではないことを指示するものである、請求項４記載の方法。
【請求項６】
パケットはリアルタイム音声サービスにおいて使用される音声パケットであり、所定のコードは、音声パケットが音声非活動状態の期間後に送信された最初の音声パケットであることを指示するものである、請求項５記載の方法。
【請求項７】
タイムスタンプ情報は複数のビットによって表現されたタイムスタンプ値を含み、前記抽出工程は選択された最下位ビットを複数のビットから抽出することを含む、請求項１記載の方法。
【請求項８】
所要のタイムスタンプ情報を生成するために通信路から受信されたリアルタイムデータパケットの圧縮ヘッダにおける圧縮されたタイムスタンプフィールドを伸張する方法であって、
受信リアルタイムパケットの着信時刻と以前に受信したパケットの着信時刻との間の時間差を決定することと、
時間差および、以前に受信したパケットに関係する別のタイムスタンプ情報に基づき所要のタイムスタンプ情報の推定値を生成することと、
前記タイムスタンプフィールドに圧縮されたタイムスタンプ情報として付与されたタイムスタンプ情報の最下位の部分を、前記推定値の選択された最上位の部分に付加することによって所要のタイムスタンプ情報の推測値を生成することとを含むことを特徴とする方法。
【請求項９】
前記推測値からチェックサムを生成することと、送信端において所要のタイムスタンプ情報から生成されたチェックサムの受信バージョンを圧縮ヘッダから取得することと、推測値が正しいかどうかを判定するために、生成したチェックサムを受信したチェックサムバージョンと比較することとを含む、請求項８記載の方法。
【請求項１０】
送信端における圧縮情報の導出の前に所要のタイムスタンプ情報に実行される基準化操作に対応して、前記推定値を基準化する処理を含む、請求項８記載の方法。
【請求項１１】
前記時間差を決定する決定工程は時間差を定量化するために時間単位を使用することを含む、請求項８記載の方法。
【請求項１２】
前記決定工程が、時間単位当たりのタイムスタンプの数の推定値を付与することと、時間単位をタイムスタンプ単位に変換するために時間単位当たりのタイムスタンプの推定された数を使用することと、時間差を定量化するためにタイムスタンプ単位を使用することとを含む、請求項１１記載の方法。
【請求項１３】
前記タイムスタンプ情報の推定値を生成する生成工程が、タイムスタンプ単位によって定量化された時間差を以前に受信したパケットに関係するタイムスタンプ値に加算して推定値を生成することを含む、請求項１２記載の方法。
【請求項１４】
通信路によって送信されるリアルタイムデータパケットの圧縮ヘッダにおいて圧縮されたタイムスタンプフィールドを生成するためにタイムスタンプ情報を圧縮する装置であって、
前記圧縮ヘッダからのタイムスタンプ情報を受け取るための入力と、
前記入力と結合され、タイムスタンプ情報からその最下位の部分を選択および抽出する抽出器と、
前記抽出器と結合され、前記抽出した最下位の部分を、圧縮されたタイムスタンプフィールドの圧縮されたタイムスタンプ情報として供給する出力とを含むことを特徴とする装置。
【請求項１５】
前記入力と前記抽出器との間に結合され、タイムスタンプ情報を基準化する基準化装置を含む、請求項１４記載の装置。
【請求項１６】
パケットがリアルタイム通信サービスにおいて使用されるパケットである、請求項１４記載の装置。
【請求項１７】
前記出力が前記抽出した最下位の部分とともに圧縮タイムスタンプフィールドへの包含のために所定のコードを受け取るように結合されており、前記所定のコードは、そのパケットに関係するタイムスタンプ情報が容易に予測可能ではないことを指示するために付与される、請求項１６記載の装置。
【請求項１８】
パケットがリアルタイム音声サービスにおいて使用される音声パケットであり、所定のコードは、音声パケットが音声非活動状態の期間後に送信された最初の音声パケットであることを指示するものである、請求項１７記載の装置。
【請求項１９】
タイムスタンプ情報が複数のビットによって表現されたタイムスタンプ値を含み、前記抽出器は選択された最下位ビットを前記複数のビットから抽出するように動作可能である、請求項１４記載の装置。
【請求項２０】
所要のタイムスタンプ情報を生成するために通信路から受信されたリアルタイムデータパケットの圧縮ヘッダにおける圧縮されたタイムスタンプフィールドを伸張する装置であって、
通信路からパケットを受け取るためのパケット入力を有し、
前記パケット入力と結合され、受信パケットの着信の時刻を記録する時刻記録装置と、
前記時刻記録装置と結合され、前記時刻記録装置から受け取った情報に応答して、前記受信パケットの着信時刻と以前に受信したパケットの着信との間の時間差を決定する推定器とを含み、
前記推定器は、前記以前に受信したパケットに関係するタイムスタンプ情報を受け取るための入力を有し、前記時間差および、前記以前に受信したパケットに関係する前記タイムスタンプ情報に基づき所要のタイムスタンプ情報の推定値を生成するものであり、
前記圧縮されたタイムスタンプフィールドに付加された、圧縮されたタイムスタンプ情報の最下位の部分と前記推定値とを結合して所要のタイムスタンプ情報の推測値を生成するアペンド装置とを有することを特徴とする装置。
【請求項２１】
前記推定器から出力される推定値を受け取り、その一部を抽出する抽出器を設け、前記アペンド装置は該抽出器の出力と前記圧縮されたタイムスタンプ情報の最下位の部分とを結合して所要のタイムスタンプ情報の推測値を生成することを特徴とする請求項２０記載の装置。
【請求項２２】
前記抽出器は、前記推定値の最上位の部分を抽出することを特徴とする請求項２１記載の装置。
【請求項２３】
リアルタイムデータパケットに関係するタイムスタンプ情報を通信路によって通信する方法であって、
タイムスタンプ情報の第１の部分を選択および抽出することと、
抽出した第１の部分をデータパケットのヘッダのタイムスタンプフィールドにおける圧縮したタイムスタンプ情報として付与することと、
通信路によってデータパケットを送信することと、
通信路からリアルタイムデータパケットを受信することと、
受信パケットの着信時刻と以前に受信したパケットの着信時刻との間の時間差を決定することと、
前記時間差および、以前に受信したパケットに関係する別のタイムスタンプ情報に基づきタイムスタンプ情報の第２の部分の推定値を生成することと、
第１および第２の部分を結合してタイムスタンプ情報を再構成することとを含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、パケット通信、より詳細にはリアルタイムパケット通信におけるヘッダ圧縮に関する。
【０００２】
（発明の背景）
用語「ヘッダ圧縮（ＨＣ）」は、二地点間リンクによってパーホップ（per hop）ベースでパケットヘッダにおいて搬送される情報に必要なバンド幅を最小化する技術をいう。ヘッダ圧縮は通常、最初にのみ静的な情報を送ることによって実現される。その後、半静的な情報が、以前のヘッダからの変更（デルタ）だけを送ることによって転送され、完全にランダムな情報は圧縮を伴わずに送られる。それゆえ、ヘッダ圧縮は通常、ステートマシンで実現される。
【０００３】
従来のヘッダ圧縮アルゴリズムは基本的に、受信伸張側においてかなり少ない複雑性を伴う狭バンド幅の有線チャネルに合わせて設計されている。また、送信圧縮側の複雑性は、できる限り多くの計算能力が径路指定のために必要とされるルータにおける効率的なインプリメンテーションを可能にするために低く保たれる。さらに、既存のヘッダ圧縮アルゴリズムが設計される対象の有線チャネルは一般に、ビット誤りに関して極めて小さい確率を有する（例えば、１０-6のビット誤り率）。無線チャネル（一般に損失の多い狭バンド幅リンクによって特徴づけられる）は一般に、誤りに関してかなり高い確率を有するので、従って、無線チャネルでの使用のためのヘッダ圧縮は、より大きいビット誤りの確率を考えて設計されなければならない（例えば、最大１０-3のビット誤り率）。
【０００４】
ＲＴＰ／ＵＤＰ／ＩＰヘッダについての従来の圧縮方式は、しばしば、コンテキストと呼ばれる状態を備えるソフトステートマシン（soft-state machine）に基づいている。伸張器のコンテキストはたいてい、受信された各パケットによって更新され、パケットがリンク上で失われた場合、コンテキストは無効になる。伸張器のコンテキストが無効にされると、全部の連続するパケットは、ソフトステートが完全な（圧縮されていない）ヘッダによって更新されるまで、破棄されなければならない。更新の要求は、最初のパケットが破棄される（または失われる）ことを伸張器が認識した時に受信端から送信され、そしてその場合、その更新（無圧縮ヘッダを伴うパケット）が到着する前に完全な往復（受信端から送信端へ伝送され、戻ること）を要する。これは多数の損失パケットをもたらす。コンテキストステートの損失はまた、受信側伸張器が圧縮ヘッダを首尾よく伸張できなかった場合にも起こり得る。
【０００５】
圧縮ヘッダを伴うパケットのペイロードがリアルタイムサービスを含む場合、いくつかの連続するパケットの損失が、そのリアルタイムサービスの品質を台無しにすることがある。例えば、リアルタイム音声サービスの品質は、連続する失われた音声フレームのために増大したパケット損失率により著しく劣化する。音声フレームの誤りがバースト特性を有する場合、音声品質は、より相関性の低いフレーム誤り特性を伴っても、同じ音声フレーム誤り率の場合よりもいっそう悪くなるであろう。
【０００６】
無効なコンテキストステートの確率を、そしてそれによってパケット損失を、低減する一方法は、例えば、圧縮ヘッダ毎により多数のビットを使用することなく、正しいコンテキストステートがどのようなものでなければならないかを伸張器が首尾よく推定（推測）する確率を増大させることによって、受信機におけるインテリジェンスを増大させることである。リアルタイム音声サービスの例では、従来のＲＴＰタイムスタンプフィールド値は一般に、音声の期間中には予測可能な態様で増分する（従って、確実に予測または推測され得る）が、無音または非音声期間後にタイムスタンプは、受信機の観点からよりランダム化された値を有する。
【０００７】
ＲＴＰ／ＵＤＰ／ＩＰヘッダの圧縮のための現行の規格（例えば、参照によってここに採り入れられる、Steven Casner and Van Jacobson, Compressing IP/UDP/RTP Headers for Low-Speech Serial Links, IETF RFC 2508, IETF Network Working Group, February 1999を参照）は、ここでＣＲＴＰと称する。ＣＲＴＰにおいて、タイムスタンプデルタ値は、値に依存して変化するビットの数により符号化される。最後のパケットからの大きなタイムスタンプの変化は大きいデルタ値を生じ、それは不利なことに、タイムスタンプ情報を指示するデルタ値を搬送するために圧縮ヘッダにおいてより多くのビットを要求する。
【０００８】
リアルタイム音声サービスにおいてＤＴＸ（不連続送信）または無音抑止が使用される場合は常に、ＲＴＰヘッダのタイムスタンプフィールドは、音声を搬送しているＲＴＰ／ＵＤＰ／ＩＰパケットのストリームにおいて予測し難い確率的振る舞いを有する。それゆえ、タイムスタンプフィールドは、受信機において推測によって伸張することが最も困難なフィールドの１つである。ＣＲＴＰでは、タイムスタンプデルタ値は、最後のパケットからのタイムスタンプの変化の大きさに依存するビットの数により符号化される。従って、長い無音または非音声期間は、タイムスタンプフィールドをデルタ変調するためにより多数のビットを必要とし、その結果、無音期間後の最初のヘッダは一般に、音声期間に対応する音声パケットにおけるものよりも大きくなる。
【０００９】
従って、従来の方式に関係する前述の不利益を伴わないタイムスタンプ圧縮／伸張技法を提供することが望ましい。
【００１０】
本発明は、正常に予想される順序のタイムスタンプ値に当てはまらないタイムスタンプ値を有するリアルタイム通信パケットのタイムスタンプ値を効率的に圧縮および再構成する技法を有利に提供する。タイムスタンプ値の第１の部分がヘッダ圧縮器によって選択され、送信される。タイムスタンプ値の第２の部分が、連続するパケットの受信間の経過時間に基づきヘッダ伸張器によって推定される。ヘッダ伸張器は、第２の部分をヘッダ圧縮器から受信された第１の部分と結合して再構成されたタイムスタンプ値を生成する。
【００１１】
（詳細な説明）
図１は、本発明に従った、例えばリアルタイム音声アプリケーションなどのリアルタイム通信アプリケーションにおける使用のための例示的なタイムスタンプ圧縮・伸張技法を概念的に例示している。基本的に、受信機におけるヘッダ伸張器は、ローカルクロックを使用して、音声非活動状態の期間前の最後の音声パケットと音声非活動状態の期間後の最初の音声パケットとの間の経過時間を推定する。この経過時間の推定値に基づき、ヘッダ伸張器は、音声非活動状態の期間を区切るそれらの２つの音声パケットのタイムスタンプフィールド間の差（またはデルタ）の推定を行うことができる。タイムスタンプ値間の差のこの推定値は、音声非活動状態の前の最後の音声パケットの既知のタイムスタンプ値と組み合わせて、音声非活動状態の後の最初の音声パケットのタイムスタンプ値の経験に基づく推測を行うために使用され得る。
【００１２】
図１に示すように、送信端のヘッダ圧縮器では、音声非活動状態の後の最初の音声パケットのタイムスタンプＴＳの最下位ビット（ＬＳＢ）Ｌだけが、チャネル１３による送信のために１１において選択される。チャネル１３は、例えばＵＭＴＳエアインタフェースまたは他のセルラー無線インタフェースといった無線チャネルとすることができる。
【００１３】
受信端での１５では、受信されたパケットのタイムスタンプの推定値が以下の例示的な方法で生成され得る。パケットｎ−１を音声非活動状態期間前の最後の受信パケットとし、パケットｎを次の連続する音声パケット、すなわち音声非活動状態期間後の最初の音声パケットと指定する。受信端のヘッダ伸張器が、パケットｎ−１が着信した時刻Ｔ（ｎ−１）を認め、パケットｎが着信した時刻Ｔ（ｎ）も認めた場合、２つのパケットの着信間の絶対時間差が、Ｔ（ｎ）からＴ（ｎ−ｌ）を引くことによって推定され得る。この時間差は、パケットｎ−１とパケットｎとの着信間の経過時間を表している。経過時間は、単位時間当たりにタイムスタンプ値がどれ程変化するかの推定値を経過時間に掛けることによって、タイムスタンプ単位に変換できる。
【００１４】
ｄｅｌｔａ＿Ｔを前述の時間差Ｔ（ｎ）−Ｔ（ｎ−１）により表現される経過時間とし、ＴＳ＿ｃｈａｎｇｅを単位時間当たりにタイムスタンプ値がどれ程変化するかの推定値とする。値ＴＳ＿ｃｈａｎｇｅはその後、値ｄｅｌｔａ＿Ｔと掛けられ、いくつのタイムスタンプ単位が経過時間ｄｅｌｔａ＿Ｔと関係するかの推定値、すなわちパケットｎ−１およびパケットｎのタイムスタンプ値間の差の推定値を生じる。このようにして、パケットｎのタイムスタンプの推定値、ＴＳ＿ｅｓｔｉｍａｔｅは、タイムスタンプ値の推定された差（ＴＳ＿ｃｈａｎｇｅにｄｅｌｔａ＿Ｔを掛けたもの）を、パケットｎ−１の既知のタイムスタンプ値に加算することによって与えられる。ＴＳ＿ｅｓｔｉｍａｔｅが１５において決定されると、ＴＳ＿ｅｓｔｉｍａｔｅの最上位ビットが実際のタイムスタンプＴＳの最下位ビットＬの受信バージョンＬ’に付加され、それによってパケットｎのタイムスタンプ値の推測値ＴＳ＿ｇｕｅｓｓを作成する。１７で、ヘッダ伸張器は、ＴＳ＿ｇｕｅｓｓが元のタイムスタンプＴＳの正しい推測値であるかどうかを判定しようと試みる。否定であれば、別の推測が１５で行われ、正しい推測値が生成されるかまたはタイムアウト条件が満たされるまで、そのプロセスが繰り返され得る。
【００１５】
図２は、図１に示された例示的なタイムスタンプ圧縮技法を実行できる例示的なパケットデータ送信局を例示している。送信局は、例えば、セルラー通信ネットワークにおいて動作する固定サイトまたは移動送信機とすることができる。図２の実施形態において、パケットデータ通信アプリケーション２４は、２５でペイロード情報および２６でヘッダ情報を生成する。ペイロード情報は、ペイロード２３を生成するためにペイロードプロセッサ２０によって従来通りに使用でき、ヘッダ情報２６はヘッダ圧縮器２８に適用される。ヘッダ圧縮器２８は、ヘッダ情報を圧縮して、圧縮されたヘッダ２２を生じる。圧縮ヘッダ２２およびペイロード２３はパケット２１を構成する。従来の無線送信機２９は、公知の技法を使用して、セルラー無線リンクといった無線リンクによってパケット２１を送信することができる。
【００１６】
通信アプリケーション２４はさらに、２５および２６での現在のペイロードおよびヘッダ情報が、（図１に関して上述したパケットｎに対応する）音声非活動状態の期間後に送信される最初の音声パケットであるＲＴＰ音声パケットに対応していることを示す、レジューム信号２７を供給する。ヘッダ圧縮器２８は、例えば図１に例示されたタイムスタンプ圧縮技法を含む、本発明のタイムスタンプ圧縮技法を実行するために信号２７の活動化に応答する。
【００１７】
図３は、図２のヘッダ圧縮器２８の代表的な実施形態を示している。図３のヘッダ圧縮器の実施形態において、分離器３３が通信アプリケーション２４からヘッダ情報２６を受け取る。分離器３３は、タイムスタンプ情報が残りのヘッダ情報とは別個に圧縮され得るように、２６で受信された他のヘッダ情報からタイムスタンプフィールド情報を分離する。除算器３５が、タイムスタンプ値をスケール値ＴＳ＿ｉｎｃｒｅｍｅｎｔで割ることによってタイムスタンプ値を基準化する。固定ビットレートを有する音声コーデックから生成された音声情報を搬送するリアルタイム音声サービスの例示的な場合をとれば、タイムスタンプは、音声活動状態の期間において個々の連続するパケットとともに一定の増分量で増大すると予想することができる。値ＴＳ＿ｉｎｃｒｅｍｅｎｔはこの一定の増分量の推定値を表しており、例えば経験的観測によって決定できる。従って、除算器３５は、タイムスタンプ値をスケールダウンするように動作し、それによってタイムスタンプ値を表現するために必要なビットの数を低減する。他の実施形態では、除算器３５は、破線で示すように省略するかまたは選択的に使用することができる。
【００１８】
最下位ビット抽出器３６は、除算器３５から基準化されたタイムスタンプ値を受け取り、その基準化された値から最下位ビット（ＬＳＢ）を抽出する。３７では、アペンド装置が、図２のレジューム信号２７の活動化に応答して符号器３９によって生成されるレジュームコードをＬＳＢに付加する。また装置３７は、必要に応じて随意のチェックサムジェネレータ３８によってタイムスタンプや（随意に）他のヘッダ情報から生成される（図３における破線を参照）チェックサム（例えばＣＲＣチェックサム）を付加することもできる。アペンド装置３７の出力はセレクタ３０の入力３９に適用され、セレクタ３０の他の入力はやはり分離器３３からタイムスタンプ値を受け取る従来のタイムスタンプ圧縮器３０１の出力と接続されている。
【００１９】
セレクタ３０はレジューム信号２７によって制御されるので、従ってレジューム信号２７がアクティブである場合、ＬＳＢ、レジュームコードおよびチェックサムは、セレクタ３０を介して、図２の圧縮ヘッダ２２のタイムスタンプフィールド３１に付与される。言い換えれば、レジューム信号２７が非アクティブであれば、従来のタイムスタンプ圧縮部３０１の出力がタイムスタンプフィールド３１に付与される。
【００２０】
また図３に示すように、分離器３３から出力された他のヘッダ情報（非タイムスタンプ情報）は、３０２で従来のヘッダ圧縮技法を用いて圧縮でき、結果得られる圧縮ヘッダ情報はその後、従来と同様、圧縮ヘッダ２２の他のフィールド３２に付与され得る。
【００２１】
図３Ａは、図２および３においてレジューム信号２７がアクティブである時に生成されるタイムスタンプフィールド３１を例示している。図３Ａに示すように、タイムスタンプフィールド３１は、レジュームコードおよび基準化タイムスタンプ値のＬＳＢを含み、さらに、破線で図示されたように、３８で生成されるチェックサムを選択的に含む。
【００２２】
図４は、図３の例示的なヘッダ圧縮器の実施形態によって実行できる例示的なタイムスタンプ圧縮操作を例示している。最初に４１で、レジューム信号がアクティブであるかどうかが判定される。否定であれば、タイムスタンプ圧縮は４２で従来通りに実行され、４８で次のパケットを待つ。４１でレジューム信号がアクティブである場合、４６でタイムスタンプ値（図１のＴＳを参照）が使用されチェックサムを生成する。その後タイムスタンプ値は、４３で、ＴＳ＿ｉｎｃｒｅｍｅｎｔ値を用いて基準化される。その後、４４で最下位ビットが基準化タイムスタンプ値から抽出されて、レジュームコードおよびチェックサム（随意の）が４５で最下位ビットに付加される。図４における破線は、４６および４３のチェックサム生成および基準化操作が他の実施形態において省略されるかまたは選択的に適用できることを示している。４５で最下位ビットおよびレジュームコード（そして随意でチェックサム）が一体に付加された後、タイムスタンプフィールドは４７で圧縮ヘッダへの組立の準備ができ、その後、４８で次のパケットを待つ。
【００２３】
図５は、図１に示された代表的なタイムスタンプ伸張技法を実行できるパケットデータ受信局の代表的な実施形態を例示している。この受信局は、例えば、セルラー通信ネットワークにおいて動作する固定サイトまたは移動受信機とすることができる。図５の実施形態において、従来の無線受信機５４は、図２に例示されたパケット２１といった送信パケットの受信バージョン２１’を、例えばセルラー無線リンクなどの無線通信リンクから受信するために公知の技法を使用することができる。図５に示すように、そうした受信バージョン２１’は、図２の圧縮ヘッダ２２の受信バージョン２２’および図２のペイロード２３の受信バージョン２３’を含む。受信されたペイロードバージョン２３’は、５１におけるパケットデータ通信アプリケーション５２への入力のために受信ペイロード情報を従来通りに生成できる、ペイロードプロセッサ５８に供給され得る。受信された圧縮ヘッダバージョン２２’は、５０における通信アプリケーション５２への入力のために受信ヘッダ情報を生成するために受信バージョン２２’を伸張するヘッダ伸張器５３に供給される。
【００２４】
図６は、図５のヘッダ伸張器の代表的な実施形態を例示している。圧縮ヘッダの受信バージョン２２’は、従来の技法を使用して受信パケットがＲＴＰパケットであるか否かを検出できるＲＴＰ検出器６１に入力される。音声非活動状態の期間が生起していることを指示する、パケットがＲＴＰパケットではないという検出に応答して、検出器６１は、圧縮ヘッダを従来のヘッダ伸張器６４によって処理させるようにセレクタ６８および６９を適切に制御する出力信号６６を活動化させる。ＲＴＰパケットが受信されたと検出器６１が判断した場合、制御信号６６は、本発明に従ったタイムスタンプフィールド伸張を実施する処理パス６００によって圧縮ヘッダが処理されるように、セレクタ６８および６９を制御する。
【００２５】
処理パス６００は、圧縮ヘッダの受信バージョン２２’の他のフィールドからタイムスタンプフィールドを分離する分離器６５を含む。タイムスタンプフィールド以外のフィールド（図３の３２を参照）の受信バージョンはその後、６７で従来のヘッダ伸張器に適用され得る。６３でタイムスタンプフィールドの受信バージョンは、タイムスタンプ伸張器６０に入力される。タイムスタンプ伸張器は、ＲＴＰ検出器６１から出力される制御信号６６も入力として受け取る。６３で受信した制御信号６６およびタイムスタンプフィールドに応答して、タイムスタンプ伸張器６０は、６２でタイムスタンプを出力する。このタイムスタンプは、伸張器６７により生成される他の伸張されたヘッダ情報にアペンド装置６０１によって付加され、それによって、セレクタ６９を介して図５の通信アプリケーション５２と選択的に結合される所要の受信ヘッダ情報を形成する（図５および６の５０を参照）。
【００２６】
図７は、図６の代表的な実施形態のタイムスタンプ伸張器６０を例示している。図７の実施形態において、６３で受信されたタイムスタンプフィールドは、図３のレジュームコードを検出するコード検出器７０に入力される。レジュームコードが検出されなければ、受信されたＲＴＰパケットは音声非活動状態の期間後の最初の音声パケットではなく、従って、コード検出器７０は、従来のタイムスタンプ伸張器７３がタイムスタンプフィールドを伸張し、６２で所要のタイムスタンプを生成できるようにするために、セレクタ７０３および７００を適切に制御する制御信号７０２を出力する（図６も参照）。
【００２７】
コード検出器７０がレジュームコードを検出した場合、制御信号７０２は、タイムスタンプフィールドが本発明に従った上述の例示的なタイムスタンプフィールド伸張技法に従って伸張されるように、セレクタ７０３および７００を制御する。この場合、受信されたタイムスタンプフィールド６３は、タイムスタンプフィールドからＬＳＢおよびチェックサム（図３Ａを参照）の受信バージョンを抽出する抽出器７２にセレクタ７０３を介して入力される。レジュームコードは単に所要の伸張操作をトリガするための技法の１例にすぎないことに留意しなければならない。
【００２８】
タイムスタンプ推定器７５は、概ね図１に関して上述した通り、タイムスタンプ推定値ＴＳ＿ｅｓｔｉｍａｔｅを生成することができる。タイムスタンプ推定器は、パケットｎ−１のタイムスタンプ、すなわち音声非活動状態の期間前に受信された最後のＲＴＰパケットのタイムスタンプを受け取る入力７０５を有する。伸張器７３によって生成されたこのタイムスタンプ値ＴＳ（ｎ−１）は、記憶装置７７に記憶され、それは転じて推定器の入力７０５に結合される。伸張器７３から出力される個々のＲＴＰタイムスタンプは、（単一のレジスタとすることができる）記憶装置７７に記憶することができ、それによってパケットｎ−１のタイムスタンプＴＳ（ｎ−１）が、パケットｎが着信した時にタイムスタンプ推定器７５に使用可能となるように保証する。
【００２９】
タイムスタンプ推定器７５はまた、パケットｎおよびパケットｎ−１が受信された時刻Ｔ（ｎ）およびＴ（ｎ−１）を指示する情報も受け取る。この時刻情報は、ローカルクロック７４からローカル時刻情報を受け取るために結合されている記憶装置７６から得ることができる。図６の検出器６１によって検出された個々のＲＴＰパケットについて、記憶装置７６は、ローカルクロック７４によって測定された通り、そのパケットの着信時刻を記憶する。従って、記憶装置７６は、前記のパケットｎおよびｎ−１の着信の時刻を捕捉するために、２段スタックを要するにすぎない。
【００３０】
またタイムスタンプ推定器７５は、上述の通りタイムスタンプ変化値ＴＳ＿ｃｈａｎｇｅ、および上述の通りタイムスタンプ増分値ＴＳ＿ｉｎｃｒｅｍｅｎｔにもアクセスできる。タイムスタンプ推定器は、上で略述したようにＴＳ＿ｅｓｔｉｍａｔｅを生成するために、記憶装置７６から受信したローカル時刻情報、記憶装置７７から受信したタイムスタンプ値ＴＳ（ｎ−１）および、タイムスタンプ変化値およびタイムスタンプ増分値に応答して動作可能である。ＴＳ＿ｅｓｔｉｍａｔｅは、タイムスタンプ値の切捨てられた推定値を構成する最上位ビット（ＭＳＢ）を抽出するＭＳＢ抽出器７８に適用される。アペンド装置７０２が、抽出器７２から受信された最下位ビット（ＬＳＢ）を抽出器７８から出力された最上位ビット（ＭＳＢ）に付加し、その結果は、乗算器７１でＴＳ＿ｉｎｃｒｅｍｅｎｔと掛けられ、それによって上述の通りＴＳ＿ｇｕｅｓｓを生成する。タイムスタンプ推定器７５は、ＴＳ＿ｉｎｃｒｅｍｅｎｔを使用して、そのタイムスタンプ推定値を図３の３５での上述とほぼ同様にしてダウンスケールし、７０２でＭＳＢとＬＳＢとの正確な結合を可能にし、従って乗算器７１はＴＳ＿ｇｕｅｓｓを生成するためにその結果を再基準化するために使用される。
【００３１】
ベリファイヤ（verifier）７９は、ＴＳ＿ｇｕｅｓｓおよび抽出器７２からのチェックサムの受信バージョンを入力として受け取る。ベリファイヤ７９は、受信したＴＳ＿ｇｕｅｓｓ値および圧縮ヘッダ２２’（破線を参照）において（随意で）受け取った他の情報からチェックサムを生成し、その生成されたチェックサムを受信チェックサムと比較するように動作可能である。チェックサムが一致していれば、ベリファイヤの出力信号７０４は、後にＴＳ＿ｇｕｅｓｓ値をセレクタ７００に接続する接続装置７０１を作動させる。
【００３２】
受信チェックサムが生成チェックサムと一致しないとベリファイヤ７９が判定した場合、制御信号７０４は接続装置７０１を（図示された）その開位置に維持し、タイムスタンプ推定器７５に別のタイムスタンプ推定値が必要であると知らせる。このようにして、タイムスタンプ推定器は、チェックサムが一致するまでかまたは、例えばタイムスタンプ推定器７５またはベリファイヤ７９のどちらかにおけるタイムアウト条件の達成が果たされるまで、タイムスタンプ推定値を生成し続け得る。
【００３３】
ＴＳ＿ｅｓｔｉｍａｔｅのビットの数は、例えば、図３のＬＳＢ抽出器３６が受け取るタイムスタンプ値のビットの数と等しいとすることができ、また、図７の抽出器７８が抽出するＭＳＢの数は、例えば、図３の３６におけるＬＳＢの抽出後に残る（そして破棄される）最上位ビットの数と等しいとすることができる。３６で抽出されるＬＳＢの数および７８で抽出されるＭＳＢの数は、例えば、ＬＳＢ／ＭＳＢ抽出のどのような組合せが各種条件下で所要の結果を生じるかを決定するための経験的観測によって決定できる。例えば、ＬＳＢ／ＭＳＢ抽出の様々な組合せが、伝送遅延の変動や、圧縮器および伸張器におけるクロック精度といった要因に依存して使用することができる。従って、ＬＳＢ／ＭＳＢ抽出の所要の組合せは、様々な伝送遅延変動条件および各種クロック精度条件の下での経験的観測によって決定され得る。１例として、７８で抽出されるＭＳＢの数はクロック７４の精度に依存し得るであろう。クロック７４がより精確であればあるほど、７８においてより多くのＭＳＢが抽出され得るであろうし、逆もまた言える。さらに、３６で抽出されるＬＳＢの数は、７８で抽出されるＭＳＢの数に基づき決定され得る。
【００３４】
圧縮器および伸張器は、ＬＳＢ／ＭＳＢ抽出の所要の組合せを実施するために事前にプログラムされ得るか、またはその組合せはパケットフローの間に動的に変更可能とすることができる。例えば、圧縮器は、タイムスタンプ値の実際の変化に基づき抽出されるようにＬＳＢの数を選択でき、この情報を例えば図３Ａに例示されたレジュームコードの一部として伸張器に信号で伝えることができる。
【００３５】
図７Ａは、図７の伸張器の代替実施形態を破線で例示しており、ここにおいて、図７の接続装置７０１（およびベリファイヤ７９）は図３におけるチェックサムの使用または省略に対応して選択的に省略または使用され、かつ／または、乗算器７１は図３における除算器３５の使用または省略に対応して選択的に省略または使用される。推定器７５は、除算器３５および乗算器７１の使用または省略に対応してＴＳ＿ｅｓｔｉｍａｔｅを基準化するかまたはその基準化を省略する。
【００３６】
図８は、図６〜７Ａのタイムスタンプ伸張器の実施形態によって実行され得る例示的なタイムスタンプ伸張操作を例示している。最初に８０で、タイムスタンプフィールドがレジュームコードを含むか否かが判定される。否定であれば、タイムスタンプフィールドは８１で従来の伸張技法を用いて伸張され、その後８９で次のパケットを待つ。８０でレジュームコードが検出された場合、タイムスタンプ推定値（ＴＳ＿ｅｓｔｉｍａｔｅ）が８２で（所要の場合、基準化を伴って）計算され、８３でそこから最上位ビットが抽出される。８４で、圧縮ヘッダにおいて受信された最下位ビットが、基準化した推定値から抽出された最上位ビットに付加され、その結果が（必要に応じて再基準化され）、タイムスタンプ推測値（ＴＳ＿ｇｕｅｓｓ）となる。その後８５で、タイムスタンプ推測値はチェックサムを生成するために使用され、生成されたチェックサムは、８６で、タイムスタンプフィールドにおいて受信されたチェックサムと比較される。生成されたチェックサムが、受信されたチェックサムと一致していれば、タイムスタンプ推測値は８７で受け入れられ、その後８９で次のパケットを待つ。８６において生成チェックサムと受信チェックサムが一致しない場合、８８で、例えば所定の経過時間の値、または所定数の推測に基づき、タイムスタンプの推定を放棄するか否かが決定される。８８で放棄しないと決定された場合、８２で別の基準化タイムスタンプ推定値が計算され、８３〜８６の操作が繰り返される。別のタイムスタンプ推定を行う際に、推定器７５は例えば、推定値から抽出されるはずのＭＳＢのうちの最下位ビットの１個以上を変えることができる。１例では、特定のビット（または複数のビット）の変更が結果として所与のパケットのタイムスタンプの再推定の成功を生じた場合、以降のパケットのタイムスタンプを再推定する時に、この同じ変更が最初に試行され得る。８８で放棄すると決定された場合、８９で次のパケットを待つ。
【００３７】
図８における破線は、図７Ａの実施形態に対応し、チェックサム検証は省略されるか、または選択的に実行される。
【００３８】
図９は、タイムスタンプの推定値を計算するために図８の８２で実行され得る例示的な操作を例示している。９１で、最後のＲＴＰパケット（Ｔ）ｎ−Ｔ（ｎ−１）からの経過時間が決定される。９２で、経過時間は（ＴＳ＿ｃｈａｎｇｅを用いて）タイムスタンプ単位に変換される。９３で、９２で決定された経過タイムスタンプ単位の数が、最後のＲＴＰパケット（パケットｎ−１）のタイムスタンプ値（ＴＳ（ｎ−１））に加算され、タイムスタンプ推定値を生じる。９４で、９３で生成されたタイムスタンプ推定値に基準化因子（ＴＳ＿ｉｎｃｒｅｍｅｎｔ）が適用され、それによって所要の基準化タイムスタンプ推定値を生成する。図９における破線は、図７Ａの実施形態に対応し、基準化は省略されるか、または選択的に実行される。
【００３９】
操作の１つの例示的な態様において、図３Ａのレジュームコードは不要である。この態様では、図１のタイムスタンプ圧縮・伸張技法が必ず使用されるので、従って、セレクタ３０、７０３および７００（図３および７を参照）は常に「Ｙ」を選択するように制御される。対応して、図４における４１および４２での操作および、図８における８０および８１での操作は、この態様では省略される。
【００４０】
上に説明した本発明は、特に以下の例示的な利益を提供する。すなわち、タイムスタンプ値を符号化するために必要なビットの数が低減する。タイムスタンプ値を符号化するために必要なビットの数が、タイムスタンプ変化の大きさを問わず一定に保つことができる。そして、タイムスタンプの絶対値がタイムスタンプ変化の量を符号化するのではなく圧縮器において符号化されるので、頑強性が増大する。
【００４１】
上述の実施形態が従来のパケットデータ送信局および受信局のヘッダ圧縮器および伸張器において、ソフトウェア、ハードウェアまたは両方での適切な修正によって容易に実施され得ることは、当業者には明白であろう。
【００４２】
本発明はリアルタイム音声アプリケーションについて上述したが、本発明が、連続するパケットのタイムスタンプ間の差がヘッダ伸張器において予測し難い、例えばリアルタイムビデオアプリケーションといったあらゆるリアルタイムパケットデータアプリケーションにも適用可能であることが明らかなはずである。
【００４３】
本発明の例示的な実施形態を上に詳述したが、それは、多様な実施形態において行うことができる本発明の範囲を限定するものではない。
【図面の簡単な説明】
【図１】  本発明に従った例示的なタイムスタンプ圧縮・伸張技法を概念的に例示する。
【図２】  本発明に従った例示的なパケットデータ送信局を例示する。
【図３】  図３は図２のヘッダ圧縮器の例示的な実施形態を例示し、図３Ａは図３のタイムスタンプフィールドの例を例示する。
【図４】  図２および３のヘッダ圧縮器の実施形態により実行できる例示的な操作を例示する。
【図５】  本発明に従った例示的なパケットデータ受信局を例示する。
【図６】  図５のヘッダ伸張器の例示的な実施形態を例示する。
【図７】  図７は図６のタイムスタンプ伸張器の例示的な実施形態を例示し、図７Ａは図６および７のタイムスタンプ伸張器の他の例示的な実施形態を例示する。
【図８】  図６〜７Ａのタイムスタンプ伸張器実施形態によって実行できる例示的な操作を例示する。
【図９】  基準化されたタイムスタンプ推定値を計算するために図８において実行できる例示的な操作を例示する。
【図１】
0004566488.tif 000002
【図２】
0004566488.tif 000003
【図３】
0004566488.tif 000004
【図４】
0004566488.tif 000005
【図５】
0004566488.tif 000006
【図６】
0004566488.tif 000007
【図７】
0004566488.tif 000008
【図８】
0004566488.tif 000009
【図９】
0004566488.tif 000010