JP2004500753A - Variable length coding of compressed data - Google Patents

Variable length coding of compressed data Download PDF

Info

Publication number
JP2004500753A
JP2004500753A JP2001537167A JP2001537167A JP2004500753A JP 2004500753 A JP2004500753 A JP 2004500753A JP 2001537167 A JP2001537167 A JP 2001537167A JP 2001537167 A JP2001537167 A JP 2001537167A JP 2004500753 A JP2004500753 A JP 2004500753A
Authority
JP
Japan
Prior art keywords
value
decompressor
previous
sequence
compressor
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.)
Withdrawn
Application number
JP2001537167A
Other languages
Japanese (ja)
Other versions
JP2004500753A5 (en
Inventor
リ シエム
リウ ジーガング
レオン デイヴィッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Priority claimed from PCT/US2000/041773 external-priority patent/WO2001035534A2/en
Publication of JP2004500753A publication Critical patent/JP2004500753A/en
Publication of JP2004500753A5 publication Critical patent/JP2004500753A5/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本発明は、コンプレッサからデコンプレッサへ伝送するために現在の値を最小限の数のビットに圧縮するための方法及びシステムに関する。本発明の方法は:異なるk個の最下位ビットを各々有して該デコンプレッサへ各々伝送された一連の少なくとも1つの前の値を該コンプレッサにおいて維持し;前記の一連の少なくとも1つの前の値の中のいずれかの値を基準値として用いて、該デコンプレッサにおいて前記の現在の値を首尾良く解凍することを可能にする最少数のビットを表すkの値を決定し;前記の現在の値の前記のk個の最下位ビットと共に前記の現在の値を圧縮されている形で該コンプレッサから該デコンプレッサへ伝送することを含む。The present invention relates to a method and system for compressing a current value into a minimum number of bits for transmission from a compressor to a decompressor. The method of the present invention comprises: maintaining at the compressor a series of at least one previous value each transmitted to the decompressor, each having a different k least significant bits; Using any of the values as a reference value to determine a value of k that represents the least number of bits that allow the decompressor to successfully decompress the current value; And transmitting said current value in compressed form from said compressor to said decompressor, together with said k least significant bits of said value.

Description

【0001】
(関連出願への相互参照)
この出願は、“圧縮されているデータの可変長符号化”と題されている、1999年11月9日に出願された米国暫定出願第60/164,330号の出願日を主張する。
【0002】
“ヘッダ圧縮のための効率的ハンドオフ手順”と題されている、2000年3月9日に出願された米国特許出願第09/522,497号を参照するが、この出願はこれの譲受人に譲渡されていて参照によりその全体がこれに編入される。
【0003】
“パケットを送信し受信するための方法及びシステム”と題されている、2000年3月28日に出願された米国特許出願第09/536,639号も参照するが、この出願はこれの譲受人に譲渡されていて参照によりその全体がこれに編入される。
【0004】
(技術分野)
本発明は、パケット・ヘッダ圧縮を含む高効率データ圧縮に関する。
【0005】
(従来技術の説明)
効率が良くてエラーに強い方法で、一連の値を圧縮できることが重要である領域が多数ある。一例は、セルラー・ネットワークを介して実時間IPベースのマルチメディア・トラフィックを伝えるIP/UDP/RTPヘッダ圧縮である。IP/UDP/RTPヘッダのサイズは大きく、セルラーシステムの帯域幅に制限があるために、圧縮効率が絶対に必要である。セルラー・リンクのエラーを生じさせやすい特性の故に、エラーに強いことも必要である。
【0006】
インターネット・エンジニアリング・タスク・フォース(IETF)、RFC2508、1999年2月、に記載されているRTPヘッダ圧縮は、無損失コンプレッサ−デコンプレッサ・リンクでの高圧縮効率を達成する。それは、ヘッダの殆どをわずか2バイトまで圧縮することができる。しかし、この構成はエラーに強くない。遭遇する問題は、エラー伝搬と、増大した圧縮されているヘッダのサイズとである。エラー伝搬は、ここでは、圧縮されているヘッダがエラーにより打撃を受けたならば、この圧縮されているヘッダが復号化不能となるだけではなくて、次に続く圧縮されているヘッダも、それらにエラーが無いとしても、おそらく復号化不能となるという事実を指す。増大した圧縮されているヘッダのサイズは、ここでは、エラー回復手順の故に、損失のあるリンク上の圧縮されているヘッダは損失の無いリンクで達成される最上の2バイトより大きいという事実を指す。RFC2508の制限事項について以下で論じる。
【0007】
ヘッダ圧縮方式は、ヘッダで運ばれる一定の情報フィールドが1.)変化しないか(ここでは’タイプ1’ヘッダ・フィールドと称される)、或いは2.)かなり予測し得る態様で変化する(ここでは’タイプ2’ヘッダ・フィールドと称される)という事実を利用する。’タイプ3’ヘッダ・フィールドと称される他のフィールドは、忠実には予測し得ない態様で変化する。
【0008】
タイプ1ヘッダ・フィールドの例は、IPアドレス、UDPポート番号、RTP SSRC(同期化ソース)、等である。これらのフィールドは、セッションの過程で(例えば、セッション確率時に転送されるパケットの一部分として)受信装置/デコンプレッサに1回送られるだけでよい。
【0009】
タイプ2ヘッダ・フィールドの例は、RTPタイム・スタンプ、RTPシーケンス番号、及びIP IDフィールドである。全て、パケットからパケットへと一定量ずつ増大する傾向を有する。従って、全てのヘッダでこれらの値を伝送する必要はない。必要なのは、RFC2508においてデルタと称される一定の増大(差分)値をデコンプレッサに知らせることだけである。デコンプレッサは、最初のヘッダを復元するとき、これらのデルタを利用して最新のタイプフィールドを再生する。換言すると、タイプ2ヘッダ・フィールドを圧縮するために差分符号化が使用される。
【0010】
殆どのIPスタック・インプリメンテーションについてのIP−IDフィールドは、ソースから送られる全てのパケットについて一定量ずつ増大する。従って、RTPストリーム・パケットがコンプレッサ−デコンプレッサ(CD)−チャネルにおいて同じソースからの他のパケットとインターリーブされない限りは、IP−IDデルタは一定であって、送信される必要はない。
【0011】
タイプ3ヘッダ・フィールドの例は、RTP M−ビット(マーカー)であり、これは媒体における何らかの境界(例えば、ビデオ・フレームの終了)の発生を示す。媒体は普通は予測不能に変化するので、この情報を正しく予測することはできない。
【0012】
ヘッダ圧縮方式の上記制約は、タイプ2フィールドのために使用されるデルタ符号化に由来する。差分符号化の故に、もし1つの圧縮されているヘッダが失われると、それに続く圧縮されているヘッダは復号化不能となり、その理由は、それらは復号化不能の圧縮されているヘッダから回帰的に予測されることにある。これは、私達がエラー伝搬と呼んだものである。
【0013】
エラー伝搬から回復するために使用されるアルゴリズムは“トワイス(twice)”アルゴリズムとして知られており、圧縮されているパケットでパケットUDPチェックサムが伝送されるならば、このアルゴリズムを使用することができる。CD−リンク上の圧縮されているパケットは4ビットのシーケンス番号を伝え、それはコンプレッサにより送られる各々の圧縮されているパケットについて1だけ大きくされる。デコンプレッサは、このシーケンス番号を使用して該リンク上の圧縮されているパケットの喪失を検出する。もしシーケンス番号が1より大きく増大したならば、デコンプレッサは、全ての圧縮されているパケット・デルタが最後の圧縮されているパケット・デルタから変化していないと思い、各々の喪失したパケットについて1つのデルタを加える。その後、デコンプレッサは、解凍されたパケットUDPチェックサムを計算し、それが伝送されたUDPチェックサムと釣り合うか否か調べることにより、該仮定が妥当であったか否か調べる。
【0014】
トワイス・アルゴリズムは制限的でありすぎる。第1に、それは全ての圧縮されているパケットでチェックサム(2バイト)を送ることを必要とし、従って圧縮効率を顕著に低下させる。第2に、代表的なオーディオ・ストリームについて、トワイス・アルゴリズムは、最後に解凍されたパケットからTS又はIP−IDジャンプがない場合に限って具合良く作用する。
【0015】
デコンプレッサは、パケットを解凍できないときには、否定の受取通知Nackをコンプレッサに送る。Nackを受け取ると、コンプレッサは圧縮されていないヘッダ・フィールドを送らなければならない。フィールドが圧縮されずに送られなければならないので、Nackメカニズムは少なくとも1伝送遅延の持続時間のオーディオ又はビデオの機能停止と圧縮効率の低下とを招来する。
【0016】
エラー伝搬を制限するために、コンプレッサは、デコンプレッサが要求していないのに圧縮されていないフィールドを定期的に送るリフレッシュ・メカニズムを使用することができる。しかし、その様なメカニズムは圧縮効率を更に低下させる。
【0017】
RFC2508のもう一つの制約は、圧縮されているヘッダの短いシーケンス番号である。前のシーケンス番号と連続していないシーケンス番号を有するヘッダをデコンプレッサが受け取ると、パケット喪失が検出され、コンプレッサとデコンプレッサとを再同期化するために回復機構が使用される。単に短いシーケンス番号を使用することは、’長い喪失’が頻繁に生じることのある無線などの、エラーが生じがちのリンクにとっては強健ではない。長い喪失は、ローにおける’シーケンス・サイクル’又はそれより多いパケットの喪失として定義される。長い喪失が発生したとき、デコンプレッサにより受信されたパケット中のシーケンス番号は’巻き付ける’。例えば、シーケンス番号がkビットから成り、従ってシーケンス・サイクルが2kに等しいとする。ローにおいて2kパケットが喪失したとすると、デコンプレッサは、依然として到来するパケット中の連続するシーケンス番号を見ているので、パケットの喪失を検出することができない。
【0018】
(発明の開示)
本発明は、1実施態様においてはVLE(variable length encoding(可変長符号化))と称される強健で効率の良い符号化機構である。本発明のVLE及びその他の実施態様は、エラー伝搬と従来技術の効率低下とを解決する。
【0019】
本発明は、部分的には、圧縮ポイントで受信されるヘッダ・タイプ2フィールドが増加傾向を示すという所見に基づいている。このことは、連続するヘッダからのフィールドが同じMSB(最上位ビット)を有していて、そのLSB(最下位ビット)だけ違うということを暗に意味する。従ってLSBだけを伝送することによって圧縮を達成することができる。
【0020】
本発明は、CDリンクで前の圧縮されているパケットの喪失がどの様であっても正しい解凍を可能とするのに充分な様な最少数の送られるべきLSBをコンプレッサが決定することを可能にする。
【0021】
本発明は、どの様な値の系列にも応用されることができる。値が密集している(即ち、互いに近い)ほど、効率が高くなる。
【0022】
本発明に従って現在の値をコンプレッサからデコンプレッサへ伝送される最少数の或いは減じた数のビットに圧縮する方法は、各々異なるk個の最下位ビットを有して該デコンプレッサに伝送されている少なくとも1つの前の値の系列を該コンプレッサにおいて維持し、前記の前の値の系列中のいずれかの値を基準として用いて該デコンプレッサにおいて前記の現在の値を首尾良く解凍することを可能にする最少数の又は減じた数のビットを表すkの値を決定し;前記の現在の値を該コンプレッサから該デコンプレッサへ前記の現在の値のk個の最下位ビットと共に圧縮された形で伝送することを含んでいる。前記の現在の値を前記の前の値と比較して前記の現在の値と前記の前の値との最大の差rを決定することによりkの値を決定することができ、このkはlog2(r)+1より大きな最小の整数であるように選択される。該デコンプレッサは、該デコンプレッサが値を解凍したことを示す少なくとも1つの受取通知を該コンプレッサに送ることができ、該コンプレッサは前記の少なくとも1つの前の値の系列を更新してより古い少なくとも1つの前の値を捨てることができる。該デコンプレッサは、該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値と共に前記の現在の値を解凍することができる。該デコンプレッサは、該基準値の下からその上にまで及ぶ値を包含するサーチ間隔を使用することができ;該サーチ間隔の中の値から同一のk個の最下位ビットを有する値を選択することができる。基準値v refとビット数kとを少なくとも1つの前の値の系列と現在の値とにマッピングすることから値を作ることができ;少なくとも1つの前の値の系列は、デコンプレッサにより解凍されていると受取通知されている最も古い伝送された値を最旧値として有するように更新されることができる。該値は、基準値とビット数kとの関数であって良い。その関数は、]v ref−2k−1, v ref+2k−1]であって良い。該関数は、]v ref, v ref+2k]であって良い。少なくとも1つの受取通知は、受信された圧縮されていない値又は圧縮されている値であって良い。少なくとも1つの受取通知は、圧縮されている値の一部分を符号化するのに使用された情報を含む受信された圧縮されている値であって良い。少なくとも1つの受取通知は、少なくとも1つの前の値の系列中の最も古い値を含むことができる。コンプレッサとデコンプレッサとの間で値の系列での伝送中に失われることのある見積もられた最大数の値に基づいて少なくとも1つの前の値の系列を更新してより古い前の値を捨てることができる。圧縮されている現在の値は、その現在の値と共に伝送される数kを符号化することができる。その符号化はハフマン符号化であって良い。該値はRTPヘッダを含むことができる。少なくとも1つの受取通知は、RTPヘッダのTS及びIP−IDの受取通知を表すRTP SNヘッダの受取通知であって良い。
【0023】
本発明に従って現在の値を最少数の又は減じた数のビットに圧縮するためのシステムは、異なるk個の最下位ビットを各々有する少なくとも1つの前の値の系列を維持するコンプレッサと;最少数の又は減じた数のk個の最下位ビットに圧縮されている現在の値を受信するデコンプレッサとを含んでおり;該コンプレッサは前記の少なくとも1つの前の値の系列中のいずれかの値を基準として用いて該現在の値を首尾良く解凍することを可能にする最少数のビットを表すkの値を決定する。現在の値を少なくとも1つの前の値と比較してその現在の値と少なくとも1つの前の値との最大差rを決定することによりkの値を決定することができ、kはlog2(r)+1より大きな最小の整数であるように選択される。該デコンプレッサは、該デコンプレッサが値を解凍したことを示す少なくとも1つの受取通知を該コンプレッサに送ることができ、該コンプレッサは少なくとも1つの前の値の系列を更新してより古い少なくとも1つの前の値を捨てることができる。該デコンプレッサは、該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の系列の最後の値の基準値と共に該現在の値を該デコンプレッサで解凍することができる。該デコンプレッサは、該基準値より下からその上にまで及ぶサーチ間隔を使用することができ;該サーチ間隔の中の値から同一のk個の最下位ビットを有する値を選択することができる。基準値v refとビット数kとを少なくとも1つの前の値の系列と現在の値とにマッピングすることから値を作ることができ;少なくとも1つの前の値の系列は、デコンプレッサにより解凍されていると受取通知されている最も古い伝送された値を最旧値として有するように更新されることができる。関数は]v ref−2k−1, v ref+2k−1]である。該関数は]v ref, v ref+2k]であって良い。受取通知は、受信された圧縮されていない値であって良い。少なくとも1つの受取通知は、受信された圧縮されている値であって良い。少なくとも1つの受取通知は、圧縮されている値の一部分を符号化するのに使用された情報を含む受信された圧縮されている値であって良い。コンプレッサとデコンプレッサとの間で値の系列での伝送中に失われることのある見積もられた最大数の値に基づいて少なくとも1つの前の値の系列が該コンプレッサにより更新されて少なくとも1つのより古い前の値を捨てることができる。圧縮されている現在の値は、その現在の値と共に伝送される数kを符号化することができる。該値はRTPヘッダを含むことができる。少なくとも1つの受取通知は、RTPヘッダのTS及びIP−IDの受取通知を表すRTP SNヘッダの受取通知であって良い。
【0024】
(発明を実施する最良の形態)
基本構想及び規則
図1は、圧縮情報とその例とを概念的に示している。圧縮コンテキストは情報の集合であり、部分集合であり或いは部分集合を象徴し、それは、限定無しに圧縮されているヘッダであって良い圧縮されている情報を作るために圧縮アルゴリズムへの入力として図3及び4に示されているコンプレッサにより使用されるヘッダを含む、限定無しに如何なる種類の情報であっても良い。他方の入力は、限定無しに圧縮されるべきヘッダとして例示されている圧縮されるべき情報のソースからのものである。
【0025】
図2は、情報の解凍と、その例とを概念的に示している。解凍コンテキスト情報は情報の集合であり、部分集合であり或いは部分集合を象徴し、それは、限定無しに解凍されているヘッダであって良い解凍されている情報を作るために解凍アルゴリズムへの入力として図3及び4に示されている解凍により使用されるヘッダを含む、限定無しに如何なる種類の情報であっても良い。他方の入力は、限定無しに解凍されるべきヘッダとして例示されている解凍されるべき情報からのものである。
【0026】
圧縮コンテキスト情報及び解凍コンテキスト情報は共に動的である、即ち、それらはそれぞれコンプレッサ及びデコンプレッサにより更新されることができる。更新の頻度はヘッダ圧縮メカニズムによる。コンプレッサにおいて圧縮コンテキスト情報の更新をもたらすことのある事象は、到来したヘッダの圧縮、或いはデコンプレッサからのフィードバックの受信を含む。デコンプレッサにおいて解凍コンテキスト情報の更新をもたらすことのある事象は、到来したヘッダの解凍を含む。コンプレッサは3つの状態:
・ FH(フルヘッダ(Full Header))状態
・ FO(一次(First Order))状態
・ SO(二次(Second Order))状態
のうちの1つであることができる。
【0027】
コンプレッサは、初期化段階ではFH状態で動作する。FH状態では、コンプレッサは完全なRTPヘッダを送る。この状態は普通はRTPセッションの始まりに又はセッションの半ばにおいて例えばコンプレッサが機能しなくなったり記憶を失うなどの非常に例外的な事象に起因して起こる一時的な状態である。
【0028】
コンプレッサは更新段階ではFO状態で動作する。FO状態では、送信装置はFOヘッダ、即ちそのヘッダが適切に符号化されている、基準ヘッダと比べて変化しているフィールド並びにシーケンス番号を運ぶパケット、を送る。デコンプレッサは、図3及び4に示されているように一定の数のFOについて受取通知するように期待され、その数はパターンによる。例えば、パターンが一定のパラメータで線形であるならば、補外法への過渡期には唯一の受取通知が必要であるに過ぎない。
【0029】
コンプレッサは補外法段階ではSO状態で動作する。この状態では、送信装置はSOパケットを、即ちそのヘッダが本質的にちょうどシーケンス番号であるパケットを、送る。デコンプレッサは、正しく受信されたSOパケットについて受取通知を出しても良いし受取通知を出さなくても良い。
【0030】
VLEにおいて使用される1種の数学的関数について次のように説明するが、それは本発明と共に使用され得るけれども本発明はそれには限定されない。f(k, v ref) = (v 1, v 2,.....,v 2k)と表示されるその様な関数は、基準値と称される整数v refに写像すると共に、数個のビットkを、全て異なるk個のLSBを有する整数のk組に写像する。
【0031】
その様な関数はいずれも適切であるかも知れないけれども、1つの好ましい実施態様は連続する値v 1, v 2,....., v 2k、即ちv i = v 1 + i−1を戻す関数だけを使用する。換言すると、該関数は長さ2kの値の間隔を有する。その間隔は]v ref−C(k, v ref), v ref−C(k, v ref)+2k]と書かれることができ、ここでCはk及びv refの関数である整数値である。その様などんな間隔も興味あるものであるけれども、1つの好ましい実施態様はC(k, v ref) = 0及びC(k, v ref) = 2k−1を使用する。換言すると、その実施態様は間隔]v ref−2k−1, v ref+2k−1]と]v ref, v ref+2k]とを使用する。
【0032】
]v ref−2k−1, v ref+2k−1]間隔に基づくVLE実施態様について次のように説明する。システムは、コンプレッサと、デコンプレッサと、図3及び4に示されているCDチャネル即ち該コンプレッサ及び該デコンプレッサの間のリンク、とから成っている。該チャネルはエラーを生じがちであるかも知れない。この実施態様での仮定は、限定をするものではないが、圧縮されている値が該チャネルにより再注文されなくて、デコンプレッサへの入力として与えられる圧縮されている値は改竄されていない(換言すると改竄されているヘッダは失われたヘッダとして取り扱われる)ということだけである。該チャネルは、シンプレックス・リンク、即ちデコンプレッサからの圧縮されている値だけを運ぶリンクであるか、又はデュプレックス・リンクであることができ、即ち該チャネルは図3及び4に示されているようにデコンプレッサからコンプレッサへのフィードバックも運ぶ。好ましい実施態様ではデュプレックス・チャネルが使用される。
【0033】
第1段階は、デコンプレッサによる初期値の取得である。これは、通信の開始時にコンプレッサが圧縮されていない値を送ることにより、或いは他の適当な手段により、実行されることができる。図3及び4に示されているようにデコンプレッサは値を受け取ったことを報じるためにフィードバック・チャネルを使用することができる。初期化は、限定無しに、コンプレッサが1つのフィードバック受取通知を受け取ったときに完了し、その後、VLE符号化を使用して圧縮を行うことができる。VLEでは、値は可変数のビットkとして圧縮される。VLEモードにおけるデコンプレッサの動作について最初に論じる。
【0034】
図7A及び7Bはウィンドウ更新プロセスを示す。ウィンドウは、コンプレッサに入力され圧縮され得るけれども圧縮される必要はない前の値から成る。ウィンドウは包含時点におけるvi, vi+1,_____, vnであり:
(1)新しい値vn+1が圧縮されるとき、図7Aに示されているようにこの新しい値を包含するために該ウィンドウが拡大される。
(2)その後、コンプレッサがそれらの値が最早デコンプレッサにより使用され得ないと知っているとき、それはこの例では値vi+2についての受取通知が発生したときであり得、より古い値(この例ではvi及びvi+1)を除去することにより、図7Bに示されているようにウィンドウが縮小される。
【0035】
解凍:
基準値は、デコンプレッサにより解凍された最後の値である。コンプレッサは、図3及び4に示されているように受取通知の受信により、デコンプレッサからのフィードバックを使用せずにおそらく少なくとも1つの値が統計的に受信されるのに充分な持続時間にわたって値の系列が送信されたことを考慮して現実の値が受信されたという仮定のもとで、解凍を信号されることができる。デコンプレッサは、そのk個のLSBが受信されたkビットと釣り合う間隔]v ref−2k−1, v ref+2k−1]の中の唯一の値を供給することにより、到来する圧縮されている値を解凍する。このサーチ間隔は、前に導入された関数の特別の実例である。解凍された値はv refとなり、それは次に到来する圧縮されている値を解凍するために使用される。好ましい実施態様では、デコンプレッサは、図3及び4に示されているような解凍されている少なくとも数個のパケットについての受取通知を報じる。受取通知が出されなければならないパケットの数は完全に弾力的であって、所望のアプリケーションの仕様を満たすように選択される。デコンプレッサからコンプレッサへ送られる受取通知が多いほど、後に示すように前進リンクにおける圧縮効率が高くなる。
【0036】
圧縮:
ここでコンプレッサの動作を参照する。コンプレッサは、自分が圧縮して図7A及び7Bに示されているデコンプレッサへ送った値の滑りウィンドウ(sliding window)を維持する。1実施態様では、該ウィンドウは、それについてデコンプレッサから受取通知を受信した最後の値と次に送られた値とを、それらがデコンプレッサに送信された順に保持する。コンプレッサは、滑りウィンドウの最大値及び最小値v min及びv maxも維持する。
【0037】
新しい圧縮されていない値vがコンプレッサに到着すると、コンプレッサは、滑りウィンドウの全てのv iについての間隔]v i−2k−1, v i+2k−1]の中にvが存在するようにvのk個のLSBを送る。これはr<2k−1により便利に表現されることができ、ここでr=max(|v−v max|, |v−v min|)である。この様にコンプレッサはlog2(r)+1より大きな最小の整数であるようにkを選択する。コンプレッサが受取通知を受け取るとき、それは、その滑りウィンドウから図7Bを参照して前述したように該受取通知より前に送られた全ての値を除去する。
【0038】
次の議論は、何故VLEが常に正しい解凍を提供する非常に弾力的なメカニズムであるかを説明する。
【0039】
コンプレッサとデコンプレッサとが上記の規則に従う限りは、図3及び4に示されているコンプレッサとデコンプレッサとの間のCDチャネルでの喪失がどの様であっても正しい解凍が行われる。実際に、デコンプレッサにより使用される基準値v refは、例えば図5及び6において点v minとv maxとの間に示されているように、コンプレッサのウィンドウに必ず属し、従って符号化されている値は、デコンプレッサにより使用されるサーチ間隔である間隔]v ref−2k−1, v ref+2k−1]の中にあると知られる。
【0040】
VLEではエラー伝搬はない。デコンプレッサにより受信された圧縮されているパケットは常に解凍されることができる。パケット喪失は、圧縮されているパケットのサイズの漸増をもたらす。
【0041】
受取通知が頻繁であるほど、ウィンドウ内の値は少なくなり、従ってより少ないLSBが送られなければならなくなりそうである。これは、圧縮されるべき値が増加傾向に従い、受取通知が受信されるまで各々の新しい値vについてv−v minが増大するヘッダ圧縮の場合に特に当てはまる。
【0042】
圧縮されている値の長さがデコンプレッサに知られていなければならない。或る場合には、この長さは、例えばより低い符号化層からのフレーミング情報を通じて、追加のシグナリング無しで知られることができる。明示的なシグナリングが必要であるならば、好ましい実施態様はVLEフォーマットを定義する。該フォーマットは図8に示されているように2つのフィールド:即ち長さフィールド(即ちLSBの個数k)と圧縮されている値のフィールド(即ち、最初の値vのk個のLSB)とを有することができる。
【0043】
好ましい実施態様では、図8に示されているVLE長さフィールドは、それ自体がハフマン符号化を用いて符号化されている。他のどの様な符号化方法(例えば直線符号化)を使用しても良い。いろいろなアプリケーションについていろいろな長さの確度がアクセスされるべきであり、その後、望ましい場合にはこれらのデータを符号化するためにハフマン符号化アルゴリズムが使用されるべきである。コンプレッサとデコンプレッサとの間の通信リンクにおいて与えられた長さに遭遇する確度は、リンクの特性(喪失及び遅延)とデコンプレッサ受取通知期間と、圧縮されるべき最初の値のパターンとを知って評価されることができる。
【0044】
長さフィールド自体の長さを更に短くするために、コンプレッサに強いて値の縮小された集合からフィールドの長さを選択させることができる。例えば、圧縮されていないフィールドが32ビットで、確度4ビット、8ビット及び32ビットの減少する順となっている次の長さを最大2ビットの長さで符号化したいとすると、適切なコードワードは、4ビットについては単一のビット0、8ビットについては2ビット値10、32ビットについては2ビット値11である。
【0045】
適切な符号化を用いることは、圧縮されている値の平均サイズを最小にする。
【0046】
更に、もし長さを他のパケット・フィールドから得られるのであれば、長さ情報は専用のビットを必要としないかも知れない。例えば、典型的ヘッダ圧縮アプリケーションでは、パケット・タイプ・フィールドが圧縮されているヘッダで送られる。このパケット・タイプ・フィールドを使用して、まれにしか越えられることのないデフォルト長さを暗に示すことができる。その場合、デフォルト長さが越えられると、別のパケット・タイプが使用される。これはまれにしか発生しないことなので、オーバーヘッドは全体的には減少される。
【0047】
もしフィードバック・チャネルがなければ、コンプレッサのウィンドウを前へ移動させてkが永久に増大しないように維持するために他の(帯域外)情報又は追加の仮定が必要となる。1つの方法は、コンプレッサからデコンプレッサへのチャネルに沿って多くてもL個の連続する圧縮されている値が失われることがあると仮定することである。換言すると、コンプレッサは、(L+1)個の連続する圧縮されている値のうちの少なくとも1つがデコンプレッサに到達することを確かに知っているということになる。従って、コンプレッサは、デコンプレッサへ送られた最後の(L+1)個の値をウィンドウに蓄積しておくだけでよい。従って、範囲(v mad−v min)と、従ってkの値とは、送られた最後の(L+1)個の値のみに依存する。
【0048】
RFC2508とは逆に、コンプレッサ−デコンプレッサ・シーケンス番号を使用する必要はない。その代わりに、RTPシーケンス番号がVLEを用いて符号化される。デコンプレッサは、自分が受け取ったRTP SNをコンプレッサに送ることによってVLEアプリケーションに記載されているように図3及び4に示されているようなパケットを受け取ったことを通知する。
【0049】
最上の受取通知について後述するように、デコンプレッサは圧縮されていないRTP SN値を戻す必要はない。
【0050】
次の例は、RFC2508に記載されているRTP SN圧縮についての本発明の働きを示す。コンプレッサに、そのSN(sequence number(シーケンス番号))が:32、33、35、36、39、40、38、41である到来するパケットの系列が供給される。そのシーケンス番号が35であるパケットについてデコンプレッサが受取を通知したと仮定すると、コンプレッサは,受取が通知された最後のパケットから送信された上記のシーケンス番号のウィンドを維持する。受取通知が受信されたとき、コンプレッサのウィンドウは35、36、39、40、38、41である。今、SN値43を有する新しいSN値がコンプレッサに到来すると仮定する。コンプレッサはそのウィンドウ最大値を探し、41を発見する。コンプレッサはウィンドウ最小値であるを探し、35を発見する。コンプレッサは、到来した値の、その上限(43−41=2)及び下限(43−35=8)までの距離rを計算する。最大距離は8である。コンプレッサは、整数がlog2r+1より大きくなるように数個のビットkを送らなければならず、この例では2kは17より大きい。この数k = 5である。43は2進数形式では101011と書かれるので、コンプレッサは5個のLSB、即ち01011,を送る。デコンプレッサ基準値は、デコンプレッサにより解凍された最後の値であり、それは確かにコンプレッサ・ウィンドウ内の値のうちの1つである。デコンプレッサは、その5個のLSBが01011であって基準値に最も近い値を戻すことによって、到来した(01011)を解凍する。基準値が何であっても、この値は常に43である。例えば、デコンプレッサにより受信される最後の値が、それが圧縮されている値を受け取るときに40であると仮定すると(即ちコンプレッサとデコンプレッサとの間のリンクで38と41とが失われた)、デコンプレッサにより使用されるサーチ間隔は[25, 56]或いは2進形式で[011001, 111000]である。その最後のLSBが01011である該間隔内の唯一の値は101011,即ち43である。
【0051】
デコンプレッサがkの値を選び取るもう一つの方法は、40に最も近い、そのLSBが01011である値を選ぶことである。数40は2進形式では101000である。その最後のLSBが01011である101000に最も近い値は01011,即ち43である。このことは、コンプレッサ−デコンプレッサ・リンクにおける喪失がどの様であっても、VLEが正しい解凍を与える送られるべきLSBビットの最小の又は減少された数の決定を許すということを例証する。
【0052】
図5及び6は、VLE符号化されるべき現在の値が、同じLSBを持っていてウィンドウ内の最大値又は最小値に最も近い値の中にあるようにkの値を選ぶことを示している。図5は、vがv maxより大きい場合を示し、図6はvがv minより小さい場合を示している。
【0053】
RTPタイム・スタンプ又はIP−IDフィールドが送られるパケットでは、これらのフィールドは、送信されたパケットの、SN符号化に使用されるとの同じウィンドウを使用して符号化される。従って、デコンプレッサは、これらのフィールドを、その受取通知をするために、逆/フィードバック・チャネルで送り返さない。ウィンドウは、ベクトル(SN、TS、IP−ID)のウィンドウと見なされても良い。与えられたベクトルの受取通知は、SNフィールドだけを戻すことによって行われることができる。
【0054】
1実施態様は、SN、TS及びIP−IDを、これらのフィールドが送られなければならない時、送るために受取通知の枠組みに基づいてヘッダ圧縮を行う。他の符号化をTS及びIP−IDのために使用することができる。このヘッダ圧縮方式を以下において要約する。
【0055】
受取通知を使用するFO及びSO状態への移行
新しいセッションが始まるとき、コンプレッサは、少なくとも1つのFHパケットが受信されたことを示す受取通知(ACK)をデコンプレッサから受け取るまで、FH状態で動作する。コンプレッサがFH状態からFO状態へ移行し得るように、FHパケットの受取通知を、それがそれを受け取ったら直ちに出すことは、デコンプレッサの責務である。受取通知は、デコンプレッサにより解凍された圧縮されている現在の値又は圧縮されていない現在の値を含むことができる。いずれの量も、コンプレッサが圧縮の状態を更新して古い値を捨て始めることを許す。
【0056】
FO状態では、コンプレッサはFOパケットを送信し、デコンプレッサは受信したFOパケット(必ずしも全てのFOパケットではない)について受取通知を出すと想定される。デコンプレッサがFODを確立し、そのFODが送信される現在のヘッダと最後に送られたヘッダとの間のFODと同じであるとコンプレッサが決定したならば、コンプレッサはSO状態に進んでSOパケットを送り始める。
【0057】
上で論じた理由により、コンプレッサはSO状態からFO状態に戻らなければならないかも知れない。しかし、コンプレッサは、システムのクラッシュの故にデコンプレッサがそのコンテキストを失うなどの例外的事象が発生しなければ、FH状態には決して戻らない。コンプレッサがFO状態であるときには、それは前述したようにSO状態へ進もうとする。
【0058】
2000年3月28日に出願された、“パケットを送信し受信する方法及びシステム”という題された出願第09/536,639号において適当なパケットの種類が開示されている。
【0059】
固定長符号化(Fixed Length Encoding(FLE))及び片側可変長符号化(One Sided Variable Length Encoding(OVLE)と称されるVLEの2つの変化形を下で説明する。
【0060】
固定長符号化(FLE)
範囲r = (v max − v min)が上限を決して越えないことが確かに知られているならば、固定長符号化を使用することができる。この範囲を包含するために必要な最少数のビットである同じ数のビットで全ての値が符号化される。長さは、この場合には既知の定数であると仮定されているので、送信されなくても良い。
【0061】
片側可変長符号化(OVLE)
前述したVLEは、基準値v refにマッピングする関数とサーチ間隔]v ref−2k−1, v ref+2k−1]を戻すビット数kとに基づいている。これは、1つの値から次の値への任意の変化(正、負)に配慮するので、非常に普遍的で融通がきく。しかし、この間隔は、単調なフィールドに使用されるときには最も効率が良いというわけではない。実際には、デコンプレッサは部分集合]v ref, v ref+2k−1]の中の値だけを選び取る。
【0062】
RTPヘッダ圧縮の場合には、フィールドは普通は増大する順にコンプレッサに到達する。しかし、コンプレッサからの誤配列ストリームがあり得、またタイム・スタンプの場合には符号器は符号化されているフレームをそれらがサンプリングされた順に配達しないかも知れないので、例外がある。効率を高めるために、v refを中心としない、例えば間隔]v ref−2k−2, v ref+3*2k−2]などのサーチ間隔を戻す関数は使用に値する。
【0063】
VLEが適応ヘッダ圧縮アプリケーションの一部分として使用されるときには、与えられたkについて最も効率の良い間隔]v ref, v_ref+2k]を使用することが可能である。これは、片側可変長符号化(OVLE)と称される。コンプレッサ到来値が増大し続けている限りは、FOパケットのためにはVLEが使用され、SOパケットのためにはOVLEが使用される。コンプレッサの前でパケットの誤配列が生じた場合には、コンプレッサは常に該パケットをFOパケットとして圧縮する。或いは、コンプレッサは、誤配列が発生してもSO状態にとどまるためにパケットを配列し直し且つ/又はパケットを落とすことができる。
【0064】
圧縮されているデータの可変長符号化(VLE)及び片側VLE(OVLE)のための最適の受取通知アルゴリズム
総体的圧縮効率を高めるために、デコンプレッサによりコンプレッサへ送られる受取通知のサイズを最小限に保つことが望ましい。ここで論じるアルゴリズムでは、デコンプレッサは、それが圧縮されているメッセージで受け取ったのと同数のビット(或いは、後述するように多くてももう2つのビット)を受取通知で送るだけでよい。
【0065】
VLE及びOVLEに関して記述したように、コンプレッサは値VSWの滑りウィンドウを維持すると共に、最初の圧縮されていない値の各々をデコンプレッサへの伝送後にVSWに蓄積する。
VSW: v1, v2, v3, ... vi, ... vn
(注:v1は最も古い値であり、vnは最新のである)
【0066】
事例1:単一符号化方法
唯一の符号化方法が使用され(VLE又はOVLE)、コンプレッサ及びデコンプレッサの両方がどれが使用されているかを知っていると仮定する。デコンプレッサが圧縮されている値を首尾良く受信してそれについて受取通知を出すと決定したとき、それは単に受信した圧縮されている値を受取通知にコピーしてそれをコンプレッサに送り戻す。
【0067】
コンプレッサは、受取通知メッセージを受信したとき、次の3つのステップで該受取通知を処理する:
1) VSWのv1(最も古い値)を基準値として使用し、デコンプレッサと同じ規則に従って受取通知内の圧縮されている値を解凍する。解凍された値はv ackedとして特定される。
2) v ackedの最初の(最も古い)発生について、VSWを頭(最旧)から尾(最新)まで探索する。
3) v ackedに先立つ(より古い)全ての値を削除する。
【0068】
上記のアルゴリズムはVSWの次の特性を遵守することにより働くということを示すことができる:
− もしHSW内のv1がコンプレッサによりkビットを使用して送られたならば、それは、基準値と同じkビットを用い且ついずれかのvi(j≦i)を用いて正しく解凍されることができる。
【0069】
具体的には、VSW内のどの値を解凍するためにもv1を基準値として使用することができる。受取通知は常にVSW内の値のうちの1つについての受取を通知するものであるという事実と相まって、ステップ1)で得られたv ackedは実際に受取通知メッセージをトリガーした正しい最初の値であると結論される。
【0070】
事例2:複数の符号化方法
この場合、デコンプレッサは符号化方法をVLE及びOVLEの間で動的に切り換える。この事例を取り扱うためには前述したアルゴリズムを僅かに変更するだけでよい。基本的には、各受取通知メッセージにおいて、デコンプレッサは、受信された値を圧縮するためにどの符号化方法が使用されたか示すためにフラグを付け加えなければならない。従って、コンプレッサは、受取通知メッセージを受け取ったとき、該受取通知中の符号化フラグに基づいて正しい解凍方法を選ぶことができる。VSWの特性が適用され得る限りは、前のセクションのと同じ理由に基づいて、修正されたアルゴリズムは正しい。
【0071】
VLE及び/又はOVLEがヘッダ圧縮に適用されるときにも、コンプレッサからデコンプレッサへ送られる圧縮されているヘッダで符号化フラグを明示的に伝える必要はないが、その理由は、デコンプレッサはヘッダの種類と他の構成情報とに基づいてその情報を暗示的に得ることができることにある。しかし、逆方向には、該フラグは受取通知メッセージで明示的に伝えられなければならない。最悪の場合には、3つの可能なもの:VLE、プラス側OVLE(plus−sided OVLE)、マイナス側OVLE(minus−side OVLE)を区別するために2ビットが必要である。OVLEの側情報が予め定められるならば、符号化フラグを1ビットに縮小することができる。
【0072】
VSWにおける対になった値
上で論じられていない特別の場合が1つある。コンプレッサの滑りウィンドウで同じ(最初の圧縮されていない)値が2つ以上発生することがある。このことは次の2つの理由から考察されなければならない:1)理論上、該アルゴリズムは包括的で如何なる値のシーケンスにも働くべきである;2)実際には、或るビデオ符号のためのRTPタイム・スタンプはこの挙動を有する。
【0073】
計算された値v ackedが依然として正しくても、VSWでのv ackedのどの発生が(複数の発生が発見されたならば)実際にACKをトリガーしたのかコンプレッサが決定できないということが問題である。
【0074】
しかし、コンプレッサは常にVSWにおけるv ackedの最初の(最も古い)発生を選ぶので、アルゴリズムは働くことに留意するべきである。もしそれが受取通知をトリガーした正しい事実でなければ、唯一の副作用は、削除されるべきであるよりも少ない値がVSWから削除されるということである。その結果として、その後に到達する新しい値は必要であるよりも多いビットを用いて符号化されていることがある。
【0075】
値の重複がまれにしか発生しなければ、前述したアルゴリズムを修正する必要はないが、その理由は、VSWデータで1回だけ発生する値についての受取を通知するもう一つの(曖昧でない)受取通知が到着したならば直ちにコンプレッサはその最適より劣る状態から抜け出させられることにある。
【0076】
重複する値が頻繁に発生すると予期されるならば、受取通知の曖昧さを除去するために余分の情報を付け加えることができる。1例は、世代番号(GN)を各々の圧縮されている値に割り当て、そのGNを受取通知に入れるようにデコンプレッサに要求することである。
【0077】
本発明をその好ましい実施態様を参照して説明したが、その範囲から逸脱せずにそれに多数の修正を加えることができることが理解されるべきである。その様な修正は全て添付されている請求項の範囲に属する。
【図面の簡単な説明】
【図1】
情報の圧縮を概念的に示す。
【図2】
情報の解凍を概念的に示す。
【図3】
本発明に従って受取通知を用いて、より多いビット数を有するヘッダの送信からより少ないビット数へのコンプレッサの移行を示す。
【図4】
本発明に従う1次圧縮のヘッダの送信から2次圧縮のヘッダへのコンプレッサの移行を示す。
【図5】
本発明に従う最小ビット数kの選択の例を示す。
【図6】
本発明に従う最小ビット数kの選択の例を示す。
【図7A】
本発明に従ってコンプレッサにより蓄積される値の滑りウィンドウの使用を示す。
【図7B】
本発明に従ってコンプレッサにより蓄積される値の滑りウィンドウの使用を示す。
【図8】
本発明に従って圧縮されている値を送信するために2つの符号化フィールドを使用するVLE符号化フォーマットの例を示す。
[0001]
(Cross-reference to related applications)
This application claims the filing date of US Provisional Application No. 60 / 164,330, filed November 9, 1999, entitled "Variable Length Coding of Compressed Data".
[0002]
See US patent application Ser. No. 09 / 522,497, filed Mar. 9, 2000, entitled “Efficient Handoff Procedure for Header Compression,” which is hereby incorporated by reference. Assigned and incorporated by reference in its entirety.
[0003]
Reference is also made to US patent application Ser. No. 09 / 536,639, filed Mar. 28, 2000, entitled "Method and System for Sending and Receiving Packets", which is hereby incorporated by reference. Assigned to a person and incorporated by reference in its entirety.
[0004]
(Technical field)
The present invention relates to high efficiency data compression, including packet header compression.
[0005]
(Description of the prior art)
There are many areas where it is important to be able to compress a series of values in an efficient and error-tolerant manner. One example is IP / UDP / RTP header compression that carries real-time IP-based multimedia traffic over a cellular network. Compression efficiency is absolutely necessary due to the large size of the IP / UDP / RTP header and the limited bandwidth of the cellular system. Because of the error-prone nature of cellular links, it is also necessary to be robust against errors.
[0006]
RTP header compression, described in the Internet Engineering Task Force (IETF), RFC 2508, February 1999, achieves high compression efficiency over a lossless compressor-decompressor link. It can compress most of the header to only 2 bytes. However, this configuration is not robust to errors. Problems encountered are error propagation and increased compressed header size. Error propagation here means that if a compressed header is hit by an error, not only will this compressed header become undecodable, Refers to the fact that even if there is no error, it will probably not be decryptable. The increased size of the compressed header here refers to the fact that the compressed header on a lossy link is larger than the top two bytes achieved on a lossless link due to the error recovery procedure. . The limitations of RFC 2508 are discussed below.
[0007]
The header compression scheme has certain information fields carried in the header: 1.) unchanged (referred to herein as a 'type 1' header field), or It takes advantage of the fact that it changes in a fairly predictable manner (referred to herein as a 'type 2' header field). Other fields, referred to as 'Type 3' header fields, change in a manner that cannot be faithfully predicted.
[0008]
Examples of type 1 header fields are IP address, UDP port number, RTP SSRC (synchronization source), etc. These fields need only be sent once to the receiver / decompressor during the course of a session (eg, as part of a packet transferred at session probability).
[0009]
Examples of Type 2 header fields are RTP time stamp, RTP sequence number, and IP ID fields. All tend to increase by a fixed amount from packet to packet. Therefore, it is not necessary to transmit these values in every header. All that is required is to inform the decompressor of a constant increase (difference) value, referred to in RFC 2508 as delta. The decompressor uses these deltas to restore the latest type field when restoring the first header. In other words, differential encoding is used to compress Type 2 header fields.
[0010]
The IP-ID field for most IP stack implementations increases by a fixed amount for every packet sent from a source. Therefore, as long as the RTP stream packets are not interleaved with other packets from the same source in the compressor-decompressor (CD) -channel, the IP-ID delta is constant and need not be transmitted.
[0011]
An example of a Type 3 header field is RTP M-bit (Marker), which indicates the occurrence of some boundary in the medium (eg, end of video frame). This information cannot be predicted correctly, as the medium usually changes unpredictably.
[0012]
The above limitation of the header compression scheme comes from the delta encoding used for type 2 fields. Because of differential encoding, if one compressed header is lost, subsequent compressed headers will be undecodable because they will be recursive from the undecodable compressed header. Is to be expected. This is what we called error propagation.
[0013]
The algorithm used to recover from error propagation is known as the "twice" algorithm, and can be used if a packet UDP checksum is transmitted in the packet being compressed. . The compressed packet on the CD-link carries a 4-bit sequence number, which is incremented by one for each compressed packet sent by the compressor. The decompressor uses this sequence number to detect loss of compressed packets on the link. If the sequence number has increased by more than one, the decompressor assumes that all compressed packet deltas have not changed from the last compressed packet delta and decompresses 1 for each lost packet. Add two deltas. The decompressor then checks if the assumption was valid by calculating the decompressed packet UDP checksum and checking if it matches the transmitted UDP checksum.
[0014]
The Twice algorithm is too restrictive. First, it requires sending a checksum (2 bytes) with every compressed packet, thus significantly reducing compression efficiency. Second, for typical audio streams, the Twice algorithm works only if there is no TS or IP-ID jump from the last decompressed packet.
[0015]
When the decompressor cannot decompress the packet, it sends a negative acknowledgment Nack to the compressor. Upon receiving Nack, the compressor must send uncompressed header fields. Because the fields must be sent uncompressed, the Nack mechanism results in an audio or video stall for at least one transmission delay duration and reduced compression efficiency.
[0016]
To limit error propagation, the compressor can use a refresh mechanism that periodically sends uncompressed fields that the decompressor does not require. However, such a mechanism further reduces compression efficiency.
[0017]
Another constraint of RFC 2508 is the short sequence number of the header being compressed. When the decompressor receives a header with a sequence number that is not contiguous with the previous sequence number, packet loss is detected and a recovery mechanism is used to resynchronize the compressor and decompressor. Simply using a short sequence number is not robust for error-prone links, such as radios where 'long loss' can frequently occur. A long loss is defined as a 'sequence cycle' or more packet loss in a row. When a long loss occurs, the sequence number in the packet received by the decompressor 'wraps'. For example, suppose that the sequence number consists of k bits, so that the sequence cycle is equal to 2k. Assuming that 2k packets are lost in the row, the decompressor cannot detect packet loss because it is still looking at consecutive sequence numbers in the incoming packet.
[0018]
(Disclosure of the Invention)
The present invention is a robust and efficient encoding mechanism referred to in one embodiment as variable length encoding (VLE). The VLE and other embodiments of the present invention address error propagation and the reduced efficiency of the prior art.
[0019]
The present invention is based, in part, on the observation that header type 2 fields received at compression points show an increasing trend. This implies that fields from successive headers have the same MSB (most significant bit) and differ by their LSB (least significant bit). Thus, compression can be achieved by transmitting only the LSB.
[0020]
The present invention allows the compressor to determine the minimum number of LSBs to be sent that is sufficient to allow correct decompression whatever the loss of the previous compressed packet on the CD link. To
[0021]
The invention can be applied to any sequence of values. The closer the values are (ie closer to each other), the higher the efficiency.
[0022]
In accordance with the present invention, a method of compressing a current value into a minimum or reduced number of bits transmitted from a compressor to a decompressor is transmitted to the decompressor, each having a different k least significant bits. At least one previous value sequence can be maintained in the compressor and the current value can be successfully decompressed in the decompressor using any value in the previous value sequence as a reference. Determine the value of k that represents the least or reduced number of bits to be compressed; from the compressor to the decompressor in a compressed form with the k least significant bits of the current value Transmission. The value of k can be determined by comparing the current value to the previous value to determine a maximum difference r between the current value and the previous value, where k is It is chosen to be the smallest integer greater than log2 (r) +1. The decompressor may send at least one acknowledgment to the compressor indicating that the decompressor has decompressed a value, wherein the compressor updates the at least one previous value sequence to at least an older one. One previous value can be discarded. The decompressor is adapted to decompress the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value. The current value can be decompressed together with the reference value of the last value of. The decompressor can use a search interval that encompasses values ranging from below the reference value to above it; selecting a value with the same k least significant bits from the values in the search interval can do. Reference value v A value can be created from mapping ref and the number of bits k to at least one previous value sequence and the current value; at least one previous value sequence being decompressed by the decompressor. It can be updated to have the oldest transmitted value that has been acknowledged as the oldest value. The value may be a function of the reference value and the number of bits k. The function is ref-2k-1, v ref + 2k-1]. The function is ref, v ref + 2k]. The at least one acknowledgment may be a received uncompressed value or a compressed value. The at least one acknowledgment may be a received compressed value that includes information used to encode a portion of the compressed value. The at least one acknowledgment may include the oldest value in the sequence of at least one previous value. Updating at least one previous value sequence based on the estimated maximum number of values that may be lost during transmission of the value sequence between the compressor and the decompressor to replace the older previous value You can throw it away. The current value being compressed can encode a number k that is transmitted with the current value. The encoding may be Huffman encoding. The value can include an RTP header. The at least one acknowledgment may be an RTP SN header acknowledgment representing the RTP header TS and IP-ID acknowledgment.
[0023]
In accordance with the present invention, a system for compressing a current value into a minimum or reduced number of bits comprises a compressor that maintains a sequence of at least one previous value each having a different k least significant bits; Or a decompressor receiving the current value which has been compressed to a reduced number of k least significant bits; said compressor comprising any value in said at least one previous value sequence. Is used as a criterion to determine the value of k that represents the least number of bits that allow the current value to be successfully decompressed. The value of k can be determined by comparing the current value to at least one previous value and determining the maximum difference r between the current value and the at least one previous value, where k is log2 (r ) Is chosen to be the smallest integer greater than +1. The decompressor may send at least one acknowledgment to the compressor indicating that the decompressor has decompressed a value, the compressor updating at least one previous sequence of values to update the at least one older value. The previous value can be discarded. The decompressor generates a sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value. The current value together with the last value reference value can be decompressed by the decompressor. The decompressor can use a search interval ranging from below to above the reference value; it can select a value with the same k least significant bits from the values in the search interval. . Reference value v A value can be created from mapping ref and the number of bits k to at least one previous value sequence and the current value; at least one previous value sequence being decompressed by the decompressor. It can be updated to have the oldest transmitted value that has been acknowledged as the oldest value. Function is] v ref-2k-1, v ref + 2k-1]. The function is ref, v ref + 2k]. The acknowledgment may be the received uncompressed value. The at least one acknowledgment may be the received compressed value. The at least one acknowledgment may be a received compressed value that includes information used to encode a portion of the compressed value. At least one previous sequence of values is updated by the compressor based on the estimated maximum number of values that may be lost during transmission of the sequence of values between the compressor and the decompressor, and the at least one Older previous values can be discarded. The current value being compressed can encode a number k that is transmitted with the current value. The value can include an RTP header. The at least one acknowledgment may be an RTP SN header acknowledgment representing the RTP header TS and IP-ID acknowledgment.
[0024]
(Best mode for carrying out the invention)
Basic concept and rules
FIG. 1 conceptually shows compression information and an example thereof. A compression context is a set of information, a subset, or symbolizing a subset, which can be a diagram as an input to a compression algorithm to produce compressed information, which can be a header that is compressed without limitation. It can be any kind of information without limitation, including the header used by the compressors shown in 3 and 4. The other input is from a source of information to be compressed, exemplified as a header to be compressed without limitation.
[0025]
FIG. 2 conceptually shows the decompression of information and an example thereof. Decompression context information is a set of information, or a subset, or symbolizes a subset, which is an input to the decompression algorithm to create decompressed information, which may be headers that are decompressed without limitation. It can be any kind of information without limitation, including the header used by the decompression shown in FIGS. The other input is from the information to be decompressed, exemplified as a header to be decompressed without limitation.
[0026]
Both the compression context information and the decompression context information are dynamic, that is, they can be updated by the compressor and decompressor, respectively. The frequency of updates depends on the header compression mechanism. Events that may cause the compression context information to be updated at the compressor include compression of the incoming header or receipt of feedback from the decompressor. Events that may result in updating the decompression context information at the decompressor include decompression of the incoming header. The compressor has three states:
-FH (Full Header) status
• FO (First Order) state
-SO (Secondary Order) state
One of the following.
[0027]
The compressor operates in the FH state during the initialization phase. In the FH state, the compressor sends a complete RTP header. This condition is usually a temporary condition occurring at the beginning of the RTP session or in the middle of the session due to very unusual events such as, for example, a compressor malfunction or loss of memory.
[0028]
The compressor operates in the FO state during the update phase. In the FO state, the transmitting device sends a FO header, a packet carrying a changing field as well as a sequence number compared to a reference header, the header of which is properly encoded. The decompressor is expected to acknowledge for a certain number of FOs, as shown in FIGS. 3 and 4, the number depending on the pattern. For example, if the pattern is linear with certain parameters, only one acknowledgment is needed during the transition to extrapolation.
[0029]
The compressor operates in the SO state during the extrapolation stage. In this state, the transmitting device sends an SO packet, that is, a packet whose header is essentially just a sequence number. The decompressor may or may not issue an acknowledgment for a correctly received SO packet.
[0030]
One mathematical function used in VLE is described as follows, although it can be used with the present invention, but the invention is not limited thereto. f (k, v ref) = (v 1, v 2,. . . . . , V Such a function, denoted 2k), is an integer v, called the reference value. ref and several bits k to k sets of integers, all having k different LSBs.
[0031]
Although any such function may be appropriate, one preferred embodiment implements successive values v 1, v 2,. . . . . , V 2k, ie v i = v Use only functions that return 1 + i-1. In other words, the function has a value interval of length 2k. The interval is v ref-C (k, v ref), v ref-C (k, v ref) + 2k], where C is k and v It is an integer value that is a function of ref. Although any such spacing is of interest, one preferred embodiment is C (k, v ref) = 0 and C (k, v ref) = 2k-1. In other words, the embodiment is an interval] v ref-2k-1, v ref + 2k-1] and] v ref, v ref + 2k].
[0032]
] V ref-2k-1, v [ref + 2k-1] interval will be described as follows. The system consists of a compressor, a decompressor, and the CD channel shown in FIGS. 3 and 4, ie the link between the compressor and the decompressor. The channel may be prone to errors. The assumption in this embodiment is that, without limitation, the compressed values are not reordered by the channel and the compressed values provided as input to the decompressor are not tampered with ( In other words, a tampered header is treated as a lost header). The channel can be a simplex link, that is, a link that carries only the compressed values from the decompressor, or it can be a duplex link, ie, the channel is as shown in FIGS. Also carries feedback from the decompressor to the compressor. In the preferred embodiment, a duplex channel is used.
[0033]
The first stage is the acquisition of initial values by the decompressor. This can be performed by the compressor sending an uncompressed value at the beginning of the communication, or by other suitable means. As shown in FIGS. 3 and 4, the decompressor can use a feedback channel to signal that it has received a value. Initialization is complete, without limitation, when the compressor receives one feedback acknowledgment, after which compression can be performed using VLE encoding. In VLE, the value is compressed as a variable number of bits k. The operation of the decompressor in VLE mode is first discussed.
[0034]
7A and 7B illustrate the window update process. The window consists of previous values that can be input to the compressor and compressed but need not be compressed. The windows are vi, vi + 1, _____, vn at the time of inclusion:
(1) When a new value vn + 1 is compressed, the window is expanded to include this new value, as shown in FIG. 7A.
(2) Then, when the compressor knows that those values can no longer be used by the decompressor, it may be in this example when an acknowledgment for the value vi + 2 occurs, and the older value (in this example, By removing vi and vi + 1), the window is reduced as shown in FIG. 7B.
[0035]
Thaw:
The reference value is the last value decompressed by the decompressor. Upon receipt of the acknowledgment, as shown in FIGS. 3 and 4, the compressor determines the value over a sufficient duration, possibly without using feedback from the decompressor, for at least one value to be statistically received. Can be signaled under the assumption that the actual value has been received, taking into account that the sequence has been transmitted. The decompressor determines the interval at which the k LSBs are balanced with the received k bits] v ref-2k-1, v ref + 2k-1] to decompress the incoming compressed value. This search interval is a special instance of the function introduced earlier. The decompressed value is v ref, which is used to decompress the next incoming compressed value. In the preferred embodiment, the decompressor reports acknowledgments for at least some of the packets being decompressed as shown in FIGS. The number of packets for which an acknowledgment must be issued is completely elastic and is chosen to meet the specifications of the desired application. The more acknowledgments sent from the decompressor to the compressor, the higher the compression efficiency on the forward link, as will be shown later.
[0036]
compression:
Here, reference is made to the operation of the compressor. The compressor maintains a sliding window of values that it compresses and sends to the decompressor shown in FIGS. 7A and 7B. In one embodiment, the window holds the last value for which an acknowledgment was received from the decompressor and the next value sent, in the order in which they were sent to the decompressor. The compressor determines the maximum and minimum values v of the sliding window. min and v max is also maintained.
[0037]
When a new uncompressed value v arrives at the compressor, the compressor returns all v interval for i] v i-2k-1, v i + 2k-1], and send k LSBs of v so that v exists. This can be conveniently expressed by r <2k-1 where r = max (| v−v max |, | v-v min |). Thus, the compressor chooses k to be the smallest integer greater than log2 (r) +1. When the compressor receives an acknowledgment, it removes from its sliding window all values sent before the acknowledgment as described above with reference to FIG. 7B.
[0038]
The following discussion explains why VLE is a very elastic mechanism that always provides the correct decompression.
[0039]
As long as the compressor and decompressor obey the above rules, correct decompression will occur whatever the loss in the CD channel between the compressor and decompressor shown in FIGS. In fact, the reference value v used by the decompressor ref is the point v in FIGS. 5 and 6, for example. min and v As shown between max, the value that always belongs to the window of the compressor and is therefore encoded is the interval that is the search interval used by the decompressor] v ref-2k-1, v ref + 2k-1].
[0040]
There is no error propagation in VLE. Compressed packets received by the decompressor can always be decompressed. Packet loss results in a gradual increase in the size of the packet being compressed.
[0041]
The more frequently the acknowledgments are, the less the value in the window will be, so less LSBs will have to be sent. This means that the values to be compressed follow an increasing trend and v-v for each new value v until an acknowledgment is received. This is especially true for header compression where min increases.
[0042]
The length of the value being compressed must be known to the decompressor. In some cases, this length may be known without additional signaling, for example, through framing information from a lower coding layer. If explicit signaling is required, the preferred embodiment defines a VLE format. The format includes two fields as shown in FIG. 8: a length field (ie, the number of LSBs k) and a field of compressed values (ie, the k LSBs of the first value v). Can have.
[0043]
In the preferred embodiment, the VLE length field shown in FIG. 8 is itself encoded using Huffman coding. Any other encoding method (eg, linear encoding) may be used. Different length accuracies should be accessed for different applications, and then the Huffman coding algorithm should be used to encode these data if desired. The likelihood of encountering a given length in the communication link between the compressor and the decompressor knows the characteristics of the link (loss and delay), the decompressor acknowledgment period, and the pattern of the first value to be compressed. Can be evaluated.
[0044]
To further shorten the length of the length field itself, the compressor can be forced to select the length of the field from a reduced set of values. For example, if the uncompressed field is 32 bits and we want to encode the next length in decreasing order of 4 bits, 8 bits and 32 bits with a maximum length of 2 bits, the appropriate code The word is a single bit 0 for 4 bits, a 2-bit value 10 for 8 bits, and a 2-bit value 11 for 32 bits.
[0045]
Using proper coding minimizes the average size of the values being compressed.
[0046]
Further, the length information may not require dedicated bits if the length is obtained from other packet fields. For example, in a typical header compression application, the packet type field is sent in a compressed header. This packet type field can be used to imply a default length that can rarely be exceeded. In that case, if the default length is exceeded, another packet type is used. Since this occurs infrequently, overhead is reduced overall.
[0047]
Without the feedback channel, other (out-of-band) information or additional assumptions would be needed to move the compressor window forward to keep k from ever increasing. One way is to assume that at most L consecutive compressed values can be lost along the channel from the compressor to the decompressor. In other words, the compressor does know that at least one of the (L + 1) consecutive compressed values reaches the decompressor. Therefore, the compressor need only accumulate in the window the last (L + 1) values sent to the decompressor. Therefore, the range (v mad-v min) and thus the value of k depends only on the last (L + 1) values sent.
[0048]
Contrary to RFC 2508, there is no need to use a compressor-decompressor sequence number. Instead, the RTP sequence number is encoded using VLE. The decompressor signals that it has received a packet as shown in FIGS. 3 and 4 as described in the VLE application by sending its received RTP SN to the compressor.
[0049]
The decompressor does not need to return the uncompressed RTP SN value, as described below for the best acknowledgment.
[0050]
The following example illustrates the operation of the present invention for RTP SN compression as described in RFC2508. The compressor is supplied with a sequence of incoming packets whose SN (sequence number) is: 32, 33, 35, 36, 39, 40, 38, 41. Assuming that the decompressor has signaled receipt for the packet whose sequence number is 35, the compressor maintains the above sequence number window transmitted from the last packet that was acknowledged. When the acknowledgment is received, the compressor windows are 35, 36, 39, 40, 38, 41. Assume now that a new SN value with SN value 43 arrives at the compressor. The compressor looks for its window maximum and finds 41. The compressor looks for the window minimum and finds 35. The compressor calculates the distance r of the incoming value to its upper limit (43-41 = 2) and lower limit (43-35 = 8). The maximum distance is eight. The compressor must send several bits k such that the integer is greater than log2r + 1, where 2k is greater than 17 in this example. This number k = 5. Since 43 is written as 101011 in binary format, the compressor sends five LSBs, namely 01011 ,. The decompressor reference value is the last value decompressed by the decompressor, which is indeed one of the values in the compressor window. The decompressor decompresses the arriving (01011) by returning the value whose five LSBs are 01011 and closest to the reference value. This value is always 43, whatever the reference value. For example, assuming that the last value received by the decompressor is 40 when it receives the value it is compressed (i.e., 38 and 41 were lost in the link between the compressor and the decompressor). ), The search interval used by the decompressor is [25, 56] or [011001, 111000] in binary form. The only value in the interval whose last LSB is 010111 is 101011, or 43.
[0051]
Another way for the decompressor to choose a value for k is to choose the value that is closest to 40 and whose LSB is 01011. The number 40 is 101000 in binary form. The value closest to 101000, whose last LSB is 01011, is 01111, that is, 43. This illustrates that whatever the loss in the compressor-decompressor link, the VLE allows for the determination of a minimum or reduced number of LSB bits to be sent that gives correct decompression.
[0052]
FIGS. 5 and 6 show choosing a value of k such that the current value to be VLE encoded has the same LSB and is among the values closest to the maximum or minimum value in the window. I have. FIG. 5 shows that v is v FIG. 6 shows a case where v is larger than max. It shows the case where it is smaller than min.
[0053]
For packets where the RTP time stamp or IP-ID fields are sent, these fields are encoded using the same window of transmitted packets as used for SN encoding. Thus, the decompressor does not send these fields back on the reverse / feedback channel to acknowledge its receipt. The window may be regarded as a vector (SN, TS, IP-ID) window. Acknowledgment of a given vector can be done by returning only the SN field.
[0054]
One embodiment performs header compression based on an acknowledgment framework to send the SN, TS and IP-ID when these fields have to be sent. Other encodings can be used for TS and IP-ID. This header compression scheme is summarized below.
[0055]
Transition to FO and SO state using acknowledgment
When a new session begins, the compressor operates in the FH state until an acknowledgment (ACK) is received from the decompressor indicating that at least one FH packet has been received. It is the responsibility of the decompressor to issue an FH packet acknowledgment as soon as it receives it so that the compressor can transition from the FH state to the FO state. The acknowledgment may include the compressed current value decompressed by the decompressor or the uncompressed current value. Either quantity allows the compressor to start updating the state of the compression and discarding old values.
[0056]
In the FO state, it is assumed that the compressor sends FO packets and the decompressor issues an acknowledgment for received FO packets (not necessarily all FO packets). If the decompressor establishes a FOD and the compressor determines that the FOD is the same as the FOD between the current header being sent and the last sent header, the compressor proceeds to the SO state and proceeds to the SO packet. Start sending.
[0057]
For the reasons discussed above, the compressor may have to return from the SO state to the FO state. However, the compressor will never return to the FH state unless an exceptional event occurs, such as the decompressor losing its context due to a system crash. When the compressor is in the FO state, it attempts to go to the SO state as described above.
[0058]
Suitable packet types are disclosed in application Ser. No. 09 / 536,639, filed Mar. 28, 2000, entitled "Method and System for Transmitting and Receiving Packets".
[0059]
Two variants of VLE, referred to as Fixed Length Encoding (FLE) and One Sided Variable Length Encoding (OVLE), are described below.
[0060]
Fixed length coding (FLE)
Range r = (v max-v If it is known that min) never exceeds the upper limit, fixed-length coding can be used. All values are encoded with the same number of bits, the least number of bits required to cover this range. The length does not have to be transmitted since it is assumed in this case to be a known constant.
[0061]
One-sided variable length coding (OVLE)
The above-mentioned VLE is the reference value v ref mapping function and search interval] v ref-2k-1, v ref + 2k-1]. This is very universal and flexible because it allows for any change (positive, negative) from one value to the next. However, this spacing is not the most efficient when used for monotonic fields. In practice, the decompressor is a subset] v ref, v ref + 2k-1].
[0062]
In the case of RTP header compression, the fields usually arrive at the compressor in increasing order. However, there are exceptions, as there may be misaligned streams from the compressor, and in the case of timestamps the encoder may not deliver the frames being encoded in the order in which they were sampled. To increase efficiency, ref not centered, eg, interval] v ref-2k-2, v A function that returns the search interval, such as ref + 3 * 2k-2], is worth using.
[0063]
When VLE is used as part of an adaptive header compression application, the most efficient interval for a given k] v ref, v_ref + 2k]. This is called one-sided variable length coding (OVLE). As long as the compressor arrival value continues to increase, VLE is used for FO packets and OVLE is used for SO packets. If a packet misalignment occurs before the compressor, the compressor always compresses the packet as a FO packet. Alternatively, the compressor can rearrange packets and / or drop packets to remain in the SO state if a misalignment occurs.
[0064]
Optimal acknowledgment algorithm for variable length coding (VLE) and one-sided VLE (OVLE) of compressed data
In order to increase the overall compression efficiency, it is desirable to keep the size of the acknowledgment sent to the compressor by the decompressor to a minimum. In the algorithm discussed here, the decompressor need only send as many bits (or at most two bits as described below) in the acknowledgment as it received in the message in which it was compressed.
[0065]
As described with respect to VLE and OVLE, the compressor maintains a sliding window of values VSW and stores each of the first uncompressed values in VSW after transmission to the decompressor.
VSW: v1, v2, v3,. . . vi,. . . vn
(Note: v1 is the oldest value, vn is the latest)
[0066]
Case 1: Single encoding method
Assume that only one encoding method is used (VLE or OVLE) and that both the compressor and the decompressor know which one is being used. When the decompressor determines to successfully receive the compressed value and issue an acknowledgment for it, it simply copies the received compressed value into the acknowledgment and sends it back to the compressor.
[0067]
When the compressor receives an acknowledgment message, it processes the acknowledgment in three steps:
1) Decompress the compressed value in the acknowledgment according to the same rules as the decompressor, using the VSW v1 (oldest value) as the reference value. The decompressed value is v Specified as acknowledged.
2) v For the first (oldest) occurrence of acked, search the VSW from head (oldest) to tail (latest).
3) v Delete all (older) values prior to acked.
[0068]
It can be shown that the above algorithm works by observing the following properties of VSW:
-If v1 in the HSW is sent using k bits by the compressor, it can be correctly decompressed using the same k bits as the reference value and using any vi (j ≦ i). it can.
[0069]
Specifically, v1 can be used as a reference value to decompress any value in the VSW. The acknowledgment obtained in step 1), coupled with the fact that the acknowledgment is always an acknowledgment of one of the values in the VSW, It is concluded that acknowledged is the correct first value that actually triggered the acknowledgment message.
[0070]
Case 2: Multiple encoding methods
In this case, the decompressor dynamically switches the encoding method between VLE and OVLE. To handle this case, the algorithm described above only needs to be modified slightly. Basically, in each acknowledgment message, the decompressor must add a flag to indicate which encoding method was used to compress the received value. Therefore, when the compressor receives the acknowledgment message, it can select the correct decompression method based on the encoding flag in the acknowledgment message. As long as the properties of the VSW can be applied, the modified algorithm is correct, based on the same reasons as in the previous section.
[0071]
Even when VLE and / or OVLE is applied to header compression, it is not necessary to explicitly convey the encoding flag in the compressed header sent from the compressor to the decompressor, because the decompressor does not The information can be obtained implicitly based on the type and other configuration information. However, in the reverse direction, the flag must be explicitly conveyed in the acknowledgment message. In the worst case, two bits are needed to distinguish between three possible things: VLE, plus-side OVLE, and minus-side OVLE. If the OVLE side information is predetermined, the encoding flag can be reduced to one bit.
[0072]
Paired values in VSW
There is one special case that is not discussed above. Two or more identical (first uncompressed) values may occur in the sliding window of the compressor. This must be considered for two reasons: 1) In theory, the algorithm should work for any sequence of values that is comprehensive; 2) In practice, for some video codes, RTP time stamps have this behavior.
[0073]
The calculated value v Even though acknowledged is still correct, v in VSW The problem is that the compressor cannot determine which occurrence of acked actually triggered the ACK (if multiple occurrences were found).
[0074]
However, the compressor always has v It should be noted that the algorithm works because it chooses the first (oldest) occurrence of acked. If it is not the correct fact that triggered the acknowledgment, the only side effect is that fewer values are deleted from the VSW than should be deleted. As a result, subsequently arriving new values may have been encoded with more bits than necessary.
[0075]
If value duplication occurs infrequently, then the algorithm described above does not need to be modified, because another (unambiguous) receipt notifying receipt for values that occur only once in the VSW data As soon as the notification arrives, the compressor is brought out of its suboptimal state.
[0076]
If duplicate values are expected to occur frequently, extra information can be added to disambiguate the acknowledgment. One example is to assign a generation number (GN) to each compressed value and request the decompressor to include that GN in the acknowledgment.
[0077]
Although the present invention has been described with reference to preferred embodiments thereof, it should be understood that many modifications can be made thereto without departing from the scope thereof. All such modifications fall within the scope of the appended claims.
[Brief description of the drawings]
FIG.
1 conceptually illustrates information compression.
FIG. 2
3 conceptually shows the decompression of information.
FIG. 3
4 illustrates the transition of a compressor from transmitting a header with a higher number of bits to a lower number of bits using acknowledgment in accordance with the present invention.
FIG. 4
Fig. 4 illustrates the transition of the compressor from transmitting a primary compressed header to a secondary compressed header according to the present invention.
FIG. 5
5 shows an example of selecting the minimum number of bits k according to the present invention.
FIG. 6
5 shows an example of selecting the minimum number of bits k according to the present invention.
FIG. 7A
4 illustrates the use of a sliding window of values stored by a compressor in accordance with the present invention.
FIG. 7B
4 illustrates the use of a sliding window of values stored by a compressor in accordance with the present invention.
FIG. 8
5 shows an example of a VLE encoding format that uses two encoded fields to transmit a value that has been compressed in accordance with the present invention.

Claims (60)

コンプレッサからデコンプレッサへ伝送するために現在の値を最少数のビットに圧縮する方法であって、この方法は:
少なくとも1つの前の値の系列を該コンプレッサにおいて維持することを含み、各々の前の値は異なるk個の最下位ビットを有すると共に該デコンプレッサへ伝送されており;
前の値の該系列中のいずれかの値を基準値として用いて該デコンプレッサにおいて該現在の値を首尾良く解凍することを可能にする最少数のビットを表すkの値を決定することを含み;
現在の該値を現在の該値のk個の最下位ビットと共に該コンプレッサから該デコンプレッサへ圧縮されている形で送ることを含むことを特徴とする方法。
A method of compressing the current value into a minimum number of bits for transmission from the compressor to the decompressor, which involves:
Maintaining at least one sequence of previous values in the compressor, each previous value having a different k least significant bits and being transmitted to the decompressor;
Using any value in the series of previous values as a reference value to determine a value of k that represents the least number of bits that allows the current value to be successfully decompressed in the decompressor. Including;
Sending the current value together with the k least significant bits of the current value in a compressed form from the compressor to the decompressor.
kの値は、現在の値と少なくとも1つの前の値とを比較してその現在の値と少なくとも1つの前の値との最大の差rを決定することにより決定され、このkはlog2(r)+1より大きい最小の整数であるように選択される整数であることを特徴とする請求項1に記載の方法。The value of k is determined by comparing the current value to at least one previous value to determine a maximum difference r between the current value and the at least one previous value, where k is log2 ( The method of claim 1, wherein r) is an integer selected to be the smallest integer greater than +1. 該デコンプレッサは、該デコンプレッサが値を解凍したことを示す少なくとも1つの受取通知を該コンプレッサに送り、該コンプレッサは少なくとも1つのより古い前の値を捨てるために少なくとも1つの前の値の該系列を更新することを特徴とする請求項1に記載の方法。The decompressor sends at least one acknowledgment to the compressor indicating that the decompressor has decompressed the value, and the compressor may remove the at least one older previous value to discard at least one older previous value. The method of claim 1, wherein the sequence is updated. 該デコンプレッサは、該デコンプレッサが値を解凍したことを示す少なくとも1つの受取通知を該コンプレッサに送り、該コンプレッサは少なくとも1つのより古い前の値を捨てるために少なくとも1つの前の値の該系列を更新することを特徴とする請求項2に記載の方法。The decompressor sends at least one acknowledgment to the compressor indicating that the decompressor has decompressed the value, and the compressor may remove the at least one older previous value to discard at least one older previous value. The method of claim 2, wherein the sequence is updated. 該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを更に含むことを特徴とする請求項1に記載の方法。The last value of the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value The method of claim 1, further comprising decompressing the current value at the decompressor with a reference value. 該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを更に含むことを特徴とする請求項2に記載の方法。The last value of the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value The method of claim 2, further comprising decompressing the current value at the decompressor with a reference value. 該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを更に含むことを特徴とする請求項3に記載の方法。The last value of the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value 4. The method of claim 3, further comprising decompressing the current value at the decompressor with a reference value. 該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを更に含むことを特徴とする請求項4に記載の方法。The last value of the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value The method of claim 4, further comprising decompressing the current value at the decompressor with a reference value. 該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を該デコンプレッサにおいて使用し;
該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項5に記載の方法。
Using a search interval in the decompressor that includes a value ranging from below the reference value to above the reference value;
The method of claim 5, further comprising selecting a value having the same k least significant bits from values within the search interval.
該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を該デコンプレッサにおいて使用し;
該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項6に記載の方法。
Using a search interval in the decompressor that includes a value ranging from below the reference value to above the reference value;
The method of claim 6, further comprising selecting a value having the same k least significant bits from values within the search interval.
該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を該デコンプレッサにおいて使用し;
該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項7に記載の方法。
Using a search interval in the decompressor that includes a value ranging from below the reference value to above the reference value;
The method of claim 7, further comprising selecting a value having the same k least significant bits from values within the search interval.
該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を該デコンプレッサにおいて使用し;
該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項8に記載の方法。
Using a search interval in the decompressor that includes a value ranging from below the reference value to above the reference value;
The method of claim 8, further comprising selecting a value having the same k least significant bits from values within the search interval.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項1に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
2. The method of claim 1, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項2に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
3. The method of claim 2, wherein the sequence of at least one previous value is updated to have the oldest transmitted value as the oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項3に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
4. The method of claim 3, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項4に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
5. The method of claim 4, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項5に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
6. The method of claim 5, wherein the sequence of at least one previous value is updated to have the oldest transmitted value as the oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項6に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
7. The method of claim 6, wherein the sequence of at least one previous value is updated to have the oldest transmitted value as the oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項7に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
The method of claim 7, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項8に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
9. The method of claim 8, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項9に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
10. The method of claim 9, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項10に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
11. The method of claim 10, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項11に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
12. The method of claim 11, wherein the sequence of at least one previous value is updated to have an oldest transmitted value as an oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから作られ;
少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項12に記載の方法。
The value is the reference value v   made from mapping ref and the number of bits k to the sequence of at least one previous value and the current value;
13. The method of claim 12, wherein the sequence of at least one previous value is updated to have the oldest transmitted value as the oldest value that has been acknowledged decompressed by the decompressor. The described method.
該値は、基準値とビット数kとの関数であることを特徴とする請求項1に記載の方法。The method of claim 1, wherein the value is a function of a reference value and a number of bits k. 該関数は、]v ref−2k−1, v ref+2k−1]であることを特徴とする請求項25に記載の方法。The function is   ref-2k-1, v   ref + 2k-1]. 該関数は、]v ref, v ref+2k]であることを特徴とする請求項25に記載の方法。The function is   ref, v   ref + 2k]. 少なくとも1つの該受取通知は、受信された圧縮されていない値であることを特徴とする請求項3に記載の方法。The method of claim 3, wherein at least one said acknowledgment is a received uncompressed value. 少なくとも1つの該受取通知は、受信された圧縮されている値であることを特徴とする請求項3に記載の方法。The method of claim 3, wherein the at least one acknowledgment is a received compressed value. 少なくとも1つの該受取通知は、圧縮されている該値の一部分を符号化するのに使用される情報を含んでいる受信された圧縮されている値であることを特徴とする請求項29に記載の方法。30. The method of claim 29, wherein the at least one acknowledgment is a received compressed value that includes information used to encode a portion of the value that is being compressed. the method of. 少なくとも1つの該受取通知は、前の値の該系列の中の最も古い値を包含することを特徴とする請求項28に記載の方法。29. The method of claim 28, wherein at least one of the acknowledgments includes the oldest value in the sequence of previous values. 少なくとも1つの該受取通知は、前の値の該系列の中の最も古い値を包含することを特徴とする請求項29に記載の方法。The method of claim 29, wherein at least one of the acknowledgments includes the oldest value in the sequence of previous values. 前の値の該系列は、該コンプレッサと該デコンプレッサとの間での値の系列の伝送中に失われることのある値の見積もられた最大数に基づいてより古い前の値を捨てるように更新されることを特徴とする請求項1に記載の方法。The sequence of previous values may discard older previous values based on the estimated maximum number of values that may be lost during transmission of the sequence of values between the compressor and the decompressor. The method of claim 1, wherein the method is updated to: 圧縮されている現在の値は、その現在の値と共に送られる数kを符号化することを特徴とする請求項1に記載の方法。The method of claim 1, wherein the compressed current value encodes a number k sent with the current value. 該符号化はハフマン符号化であることを特徴とする請求項34に記載の方法。The method according to claim 34, wherein the encoding is Huffman encoding. 該値はRTPヘッダを含むことを特徴とする請求項1に記載の方法。The method of claim 1, wherein the value comprises an RTP header. 少なくとも1つの該受取通知は、RTPヘッダのTS及びIP−IDの受取通知を表すRTP SNヘッダの受取通知であることを特徴とする請求項33に記載の方法。The method of claim 33, wherein the at least one acknowledgment is an acknowledgment of an RTP SN header representing an acknowledgment of the TS and IP-ID of the RTP header. 現在の値を最少数のビットに圧縮するためのシステムであって:
異なるk個の最下位ビットを各々有する少なくとも1つの前の値の系列を維持するコンプレッサと;
最少数のk個の最下位ビットに圧縮されている現在の該値を該コンプレッサから受信するデコンプレッサとを含んでおり;
該コンプレッサは、少なくとも1つの前の値の該系列中のいずれかの値を基準として使用して該デコンプレッサにおいて現在の該値を首尾良く解凍することを可能にする最小数のビットを表すkの値を決定することを特徴とするシステム。
A system for compressing the current value to a minimum number of bits:
A compressor maintaining a sequence of at least one previous value each having a different k least significant bits;
A decompressor receiving from the compressor the current value compressed to a minimum number of k least significant bits;
The compressor uses the value in any of the series of at least one previous value as a reference to represent the minimum number of bits that allow the decompressor to successfully decompress the current value. Determining the value of.
kの値は、現在の該値と少なくとも1つの前の該値との最大差を決定するために現在の該値を少なくとも1つの前の該値と比較することにより決定され、kはlog2(r)+1より大きい最小の整数であるように選択される整数であることを特徴とする請求項38に記載のシステム。The value of k is determined by comparing the current value to at least one previous value to determine a maximum difference between the current value and at least one previous value, where k is log2 ( 39. The system of claim 38, wherein r) is an integer selected to be the smallest integer greater than +1. 該デコンプレッサは、該デコンプレッサが値を解凍したことを示す少なくとも1つの受取通知を該コンプレッサに送り、該コンプレッサはより古い前の値を捨てるために少なくとも1つの前の値の該系列を更新することを特徴とする請求項38に記載のシステム。The decompressor sends at least one acknowledgment to the compressor indicating that the decompressor has decompressed the value, and the compressor updates the sequence of at least one previous value to discard older previous values. 39. The system of claim 38, comprising: 該デコンプレッサは、該デコンプレッサが値を解凍したことを示す少なくとも1つの受取通知を該コンプレッサに送り、該コンプレッサは、より古い前の値を捨てるために少なくとも1つの前の値の該系列を更新することを特徴とする請求項39に記載のシステム。The decompressor sends at least one acknowledgment to the compressor indicating that the decompressor has decompressed the values, and the compressor compresses the sequence of at least one previous value to discard older previous values. 40. The system of claim 39, updating. 該デコンプレッサは、該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを特徴とする請求項38に記載のシステム。The decompressor is adapted to decompress the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value. 39. The system of claim 38, wherein decompressing the current value at the decompressor with a reference value of the last value of. 該デコンプレッサは、該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを特徴とする請求項39に記載のシステム。The decompressor is adapted to decompress the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value. 40. The system of claim 39, wherein the current value is decompressed at the decompressor with a reference value of a last value of the value. 該デコンプレッサは、該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを特徴とする請求項40に記載のシステム。The decompressor is adapted to decompress the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value. 41. The system of claim 40, wherein the current value is decompressed at the decompressor with a reference value of the last value of. 該デコンプレッサは、該基準値に最も近い受信された現在の値のk個の最下位ビットと同一のk個の最下位ビットを有する値として解凍されるべき少なくとも1つの前の値の該系列の最後の値の基準値で該デコンプレッサにおいて現在の該値を解凍することを特徴とする請求項41に記載のシステム。The decompressor is adapted to decompress the sequence of at least one previous value to be decompressed as a value having the same k least significant bits as the k least significant bits of the received current value closest to the reference value. 42. The system of claim 41, wherein the current value is decompressed in the decompressor with a reference value of a last value of the value. 該デコンプレッサが該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を使用し;該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項42に記載のシステム。The decompressor uses a search interval that includes a value ranging from below the reference value to above the reference value; and selecting a value having the same k least significant bits from the values in the search interval. 43. The system of claim 42, further comprising: 該デコンプレッサが該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を使用し;該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項44に記載のシステム。The decompressor uses a search interval that includes a value ranging from below the reference value to above the reference value; and selecting a value having the same k least significant bits from the values in the search interval. The system of claim 44, further comprising: 該デコンプレッサが該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を使用し;該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項44に記載のシステム。The decompressor uses a search interval that includes a value ranging from below the reference value to above the reference value; and selecting a value having the same k least significant bits from the values in the search interval. The system of claim 44, further comprising: 該デコンプレッサが該基準値より下から該基準値の上にまで及ぶ値を含むサーチ間隔を使用し;該サーチ間隔内の値から同一のk個の最下位ビットを有する値を選択することを更に含むことを特徴とする請求項45に記載のシステム。The decompressor uses a search interval that includes a value ranging from below the reference value to above the reference value; and selecting a value having the same k least significant bits from the values in the search interval. The system of claim 45, further comprising: 該コンプレッサは、基準値v refとビット数kとを少なくとも1つの前の値の該系列と現在の該値とにマッピングすることから該値を作り;少なくとも1つの前の値の該系列は、該デコンプレッサにより解凍されたと受取通知されている最も古い送信された値を最旧の値として有するように更新されることを特徴とする請求項38に記載のシステム。The compressor has a reference value v   making the value from mapping ref and the number of bits k to the sequence of at least one previous value and the current value; the sequence of at least one previous value is decompressed by the decompressor. 39. The system of claim 38, wherein the system is updated to have the oldest transmitted value that has been acknowledged as the oldest value. 該関数は、]v ref−2k−1, v ref+2k−1]であることを特徴とする請求項38に記載のシステム。The function is   ref-2k-1, v   ref + 2k-1]. 該関数は、]v ref, v ref+2k]であることを特徴とする請求項38に記載のシステム。The function is   ref, v   ref + 2k]. 該受取通知は受信された圧縮されていない値であることを特徴とする請求項40に記載のシステム。41. The system of claim 40, wherein the acknowledgment is a received uncompressed value. 少なくとも1つの該受取通知は受信された圧縮されている値であることを特徴とする請求項40に記載のシステム。41. The system of claim 40, wherein at least one said acknowledgment is a received compressed value. 少なくとも1つの該受取通知は、圧縮されている値の一部分を符号化するのに使用される情報を含む受信された圧縮されている値であることを特徴とする請求項54に記載のシステム。The system of claim 54, wherein the at least one acknowledgment is a received compressed value that includes information used to encode a portion of the compressed value. 少なくとも1つの前の値の該系列は、該コンプレッサと該デコンプレッサとの間での値の系列の伝送中に失われることのある値の見積もられた最大数に基づいて少なくとも1つのより古い前の値を捨てるように該コンプレッサにより更新されることを特徴とする請求項38に記載のシステム。The sequence of at least one previous value is at least one older based on an estimated maximum number of values that may be lost during transmission of the sequence of values between the compressor and the decompressor. 39. The system of claim 38, wherein the system is updated by the compressor to discard previous values. 圧縮されている現在の該値は、その現在の値と共に送信される数kを符号化することを特徴とする請求項38に記載のシステム。39. The system of claim 38, wherein the current value being compressed encodes a number k transmitted with the current value. 該値はRTPヘッダを含むことを特徴とする請求項38に記載のシステム。The system of claim 38, wherein the value comprises an RTP header. 少なくとも1つの該受取通知は、RTPヘッダのTS及びIP−IDの受取通知を表すRTP SNヘッダの受取通知であることを特徴とする請求項40に記載のシステム。41. The system of claim 40, wherein the at least one acknowledgment is an acknowledgment in an RTP SN header representing an acknowledgment in the RTP header for TS and IP-ID. コンプレッサからデコンプレッサへ送るために現在の値を減じられた数のビットに圧縮する方法であって、この方法は:
少なくとも1つの前の値の系列を該コンプレッサにおいて維持することを含み、各々の前の値は異なるk個の最下位ビットを有すると共に該デコンプレッサへ送信されており;
前の値の該系列中のいずれかの値を基準値として使用して該デコンプレッサにおいて現在の該値を首尾良く解凍することを可能にする減じられた数のビットを表すkの値を決定することを含んでおり;
現在の該値を現在の該値のk個の最下位ビットと共に該コンプレッサから該デコンプレッサへ圧縮されている形で送ることを含むことを特徴とする方法。
A method of compressing the current value into a reduced number of bits for transmission from the compressor to the decompressor, which method:
Maintaining at least one sequence of previous values in the compressor, each previous value having a different k least significant bits and being transmitted to the decompressor;
Using any value in the series of previous values as a reference value, determine a value of k that represents a reduced number of bits that allows the current decompressor to successfully decompress the current value. Including:
Sending the current value together with the k least significant bits of the current value in a compressed form from the compressor to the decompressor.
JP2001537167A 1999-11-09 2000-11-02 Variable length coding of compressed data Withdrawn JP2004500753A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16433099P 1999-11-09 1999-11-09
PCT/US2000/041773 WO2001035534A2 (en) 1999-11-09 2000-11-02 Variable length encoding of compressed data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011122702A Division JP5066276B2 (en) 1999-11-09 2011-05-13 Variable length encoding of compressed data

Publications (2)

Publication Number Publication Date
JP2004500753A true JP2004500753A (en) 2004-01-08
JP2004500753A5 JP2004500753A5 (en) 2010-11-25

Family

ID=22594003

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001537167A Withdrawn JP2004500753A (en) 1999-11-09 2000-11-02 Variable length coding of compressed data
JP2011122702A Expired - Lifetime JP5066276B2 (en) 1999-11-09 2011-05-13 Variable length encoding of compressed data

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011122702A Expired - Lifetime JP5066276B2 (en) 1999-11-09 2011-05-13 Variable length encoding of compressed data

Country Status (2)

Country Link
JP (2) JP2004500753A (en)
CN (2) CN100492915C (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008026664A1 (en) * 2006-08-30 2008-03-06 Kyocera Corporation Communication system, communication device and communication method
US8015467B2 (en) 2006-08-30 2011-09-06 Kyocera Corporation Communication system, communication apparatus and communication method
KR101372064B1 (en) * 2006-01-13 2014-03-10 알카텔-루센트 유에스에이 인코포레이티드 Method of header compression over channels with out-of-order delivery

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453298B (en) * 2007-12-07 2013-06-05 华为技术有限公司 Processing method, system and apparatus for header compression in wireless network
US9204287B2 (en) * 2012-05-15 2015-12-01 Futurewei Technologies, Inc. System and method for reducing signaling overhead

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191454A (en) * 1992-01-16 1993-07-30 Nec Corp Data transfer system
JPH06204891A (en) * 1993-01-05 1994-07-22 Fujitsu Ltd Data compression method
JPH10173541A (en) * 1996-12-12 1998-06-26 Yamaha Corp Compressed encoding and decoding system
JPH10224226A (en) * 1997-02-12 1998-08-21 New Japan Radio Co Ltd Modulator circuit, demodulator circuit and modulation/ demodulation system
JPH1188464A (en) * 1997-09-04 1999-03-30 Fujitsu Ltd Data transfer device and data transfer method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191454A (en) * 1992-01-16 1993-07-30 Nec Corp Data transfer system
JPH06204891A (en) * 1993-01-05 1994-07-22 Fujitsu Ltd Data compression method
JPH10173541A (en) * 1996-12-12 1998-06-26 Yamaha Corp Compressed encoding and decoding system
JPH10224226A (en) * 1997-02-12 1998-08-21 New Japan Radio Co Ltd Modulator circuit, demodulator circuit and modulation/ demodulation system
JPH1188464A (en) * 1997-09-04 1999-03-30 Fujitsu Ltd Data transfer device and data transfer method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101372064B1 (en) * 2006-01-13 2014-03-10 알카텔-루센트 유에스에이 인코포레이티드 Method of header compression over channels with out-of-order delivery
WO2008026664A1 (en) * 2006-08-30 2008-03-06 Kyocera Corporation Communication system, communication device and communication method
US8015467B2 (en) 2006-08-30 2011-09-06 Kyocera Corporation Communication system, communication apparatus and communication method

Also Published As

Publication number Publication date
CN1390390A (en) 2003-01-08
JP2011229161A (en) 2011-11-10
CN1174554C (en) 2004-11-03
CN100492915C (en) 2009-05-27
CN1607732A (en) 2005-04-20
JP5066276B2 (en) 2012-11-07

Similar Documents

Publication Publication Date Title
US6782047B1 (en) Variable length encoding of compressed data
EP2034691B1 (en) Method, transmitter and receiver for the transmission of packets with compressed packet headers
JP3940159B2 (en) Efficient hand-off procedure for header compression
US7539130B2 (en) Method and system for transmitting and receiving packets
JP4582565B2 (en) Robust header compression in packet communication
EP1415474B1 (en) Method and compressor for compressing packet timestamp information
JP5066276B2 (en) Variable length encoding of compressed data
JP2004500753A5 (en)
CA2388006C (en) Variable length encoding of compressed data
EP1228570B1 (en) Variable length encoding of compressed data
EP1670143B1 (en) Variable length encoding of compressed data
EP1931103B1 (en) Method and system for compressing and decompressing packet headers
Yang et al. Compression Techniques for VoIP Transport over Wireless Interfaces

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070906

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100708

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20101006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110513

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110630

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20111107

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20111125

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120618