JP3009727B2 - 改良形データ圧縮装置 - Google Patents

改良形データ圧縮装置

Info

Publication number
JP3009727B2
JP3009727B2 JP2512773A JP51277390A JP3009727B2 JP 3009727 B2 JP3009727 B2 JP 3009727B2 JP 2512773 A JP2512773 A JP 2512773A JP 51277390 A JP51277390 A JP 51277390A JP 3009727 B2 JP3009727 B2 JP 3009727B2
Authority
JP
Japan
Prior art keywords
string
repetitions
character
characters
repetition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2512773A
Other languages
English (en)
Other versions
JPH05500741A (ja
Inventor
ティモシー オブライエン,ジョン
Original Assignee
ストレイジ テクノロジー コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ストレイジ テクノロジー コーポレイション filed Critical ストレイジ テクノロジー コーポレイション
Publication of JPH05500741A publication Critical patent/JPH05500741A/ja
Application granted granted Critical
Publication of JP3009727B2 publication Critical patent/JP3009727B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Description

【発明の詳細な説明】 関連出願についての説明 本出願はジョン ティ.オブライアン(John T.O'Bri
en)らによる1989年2月9日出願の特許出願No.308,767
号に関連する。
発明の分野 本発明はデータ処理システムに関し、特に、データ処
理システムにおいて記憶を転送する際にデータファイル
の大きさを効率的に節減するための入力文字の流れを圧
縮する方法および装置(改良形データ圧縮装置)に関す
るものである。
問 題 データ処理システムの分野においては、メモリに記憶
されるデータファイルの大きさをいかにして節減するか
が問題である。これらのデータファイルは、通常、かな
りの量のデータ冗長度を有している。例えば、4つの基
本的なタイプのデータ冗長が存在する。第1番目のタイ
プのデータ冗長は文字分配であり、この場合、典型的な
文字ストリング(string)の中の幾つかの文字が他の文
字よりも頻繁に使用される。2番目のタイプのデータ冗
長は文字の繰返しであり、この場合、単一文字の一連の
繰り返しが生ずる。さらに、ここでは、文字記号をただ
単に繰り返す場合よりも簡潔な形でメッセージを符号化
する。3番目のデータ冗長は高使用パターンであり、こ
の場合、あるシーケンスの文字が比較的高い頻度で現れ
る。4番目のデータ冗長は位置的な冗長であり、この場
合、各々のデータブロックにおいて、幾つかの文字が首
尾一貫して予測可能な位置に現れる。上記4つのタイプ
のデータ冗長においては、データ圧縮アルゴリズムによ
り、データ記憶を目的としてデータファイルの大きさを
節減することが可能である。
レンペル(Lempel)およびジブ(Ziv)は、数多く公
表された論文の中で次のようなデータの圧縮方法を述べ
ている。すなわち、入力データの流れの中で既に出くわ
した文字シーケンスのディクションリー(dictionary:
辞書)を維持するような方法である。1シーケンス分の
文字が圧縮される場合にこの文字シーケンスが既に現れ
てディクショナリーに記憶されているときは、圧縮器
(compressor)によって基準値{時々、ポイター(poin
ter)またはコード語またはトークン(token)とよばれ
る}が出力される。この基準値は、圧縮されるべき文字
シーケンス同一であるディクショナリー中のストリング
を識別する。一般に、上記文字シーケンスを含むディク
ショナリーのエントリー(entry)を識別するのに必要
なビット数は、出力すべきストリングを構成するための
文字を用意するのに必要であろうビット数よりも小さ
い。それゆえに、データの圧縮が可能である。
このように、ディクショナリーのエントリーを識別す
る基準値でもって文字シーケンスを置き換えることによ
りデータを圧縮する処理は、テキスト置換(テキスト代
入,textual substitution)とよばれている。圧縮器が
データを圧縮する際にこの圧縮機により構成されるスト
リングのディクショナリーと同じものを減圧器(decomp
ressor)に再構成させることによって、この減圧器によ
る元のデータの再構成が可能となる。この場合、ディク
ショナリーに対する修正が、前に出くわしたストリング
にのみ基づいてなされるために、圧縮器がデータを圧縮
する際にこの圧縮器により実行された方法と同じように
して、減圧器がデータを減圧する際にこの減圧器による
ディクショナリーの更新が実行され得る。
上記の基本的なデータ圧縮技術に関しては多くの変形
例が考えられ、そして実行されている。変形が可能な基
本的データ圧縮方法の中には次のような方法がある。す
なわち、ディクショナリーを初期化する方法、入力文字
シーケンスとディクショナリーに含まれるストリングと
を突き合わせる方法、どの文字のストリングをディクシ
ョナリーに付け加えるかならびにこれらのストリングを
ディクショナリーのどの部分に付け加えるかを選択する
方法、そして、ディクショナリーがある決まった大きさ
に制限される場合に、ディクショナリーから削除すべき
ストリングを選択する方法である。
例えば1989年3月21日にブィー.エス.ミラー(V.S.
Miller)らに付与された米国特許第4,814,746号では、
圧縮比を改善する目的で新しい文字拡張と新しいストリ
ング拡張とを付け加えることによりレンペルおよびジブ
のデータ圧縮方法を修正した形式のデータ圧縮方法が開
示されている。このデータ圧縮方法は、また、符号化テ
ーブルをある決まった大きさに限定してデータ伝送効率
を顕著に改善するために、最も古くから使用されている
ストリングを削除するルーチンをも有している。
別のデータ圧縮に関する特許としては、1985年12月10
日にピー.エー.ウェルチ(P.A.Welch)に付与された
米国特許第4,558,302号がある。この米国特許において
は、記憶されているストリングとの最も長い突き合せを
決定するために入力データの流れをサーチするデータ圧
縮方法が開示されている。上記の記憶されているストリ
ングの各々は、接頭部のストリングおよび拡張文字を有
する。ここでは、この拡張文字はストリングの中の最後
の文字であり、接頭部のストリングは、上記拡張文字以
外の部分を構成する。記憶されているストリングの中で
入力データの文字ストリングとの最も長い突き合せが
(match)が決定されたとき、この最も長い突き合わせ
に対応するコード信号が、前に出くわした文字ストリン
グに対する圧縮されたコード信号として伝送される。そ
して、拡張ストリングがストリング・テーブルに記憶さ
れる。上記のように拡張されたストリングの接頭部は最
も長い突き合せに相当し、かつ、この拡張されたストリ
ングの中の拡張文字は、最も長い突き合せの後に続く次
の入力データ文字に相当する。
上記のすべての圧縮技術の特徴は、次の点にある。す
なわち、単一文字の繰返しが、コンピュータにより記憶
されたり伝送されたりするデータ内にごく普通に現れる
場合であっても、このように連続して何回も繰り返され
る単一の同一文字のシーケンスを、他の文字シーケンス
とは別個に処理しない点である。
文字の繰返しの表示により、最初に要求される繰返し
文字のシーケンスよりもビット数を少なくすることがで
きるようにするために一般に使用されるデータ圧縮の1
つの形式として、ランの長さ(runlength)の制限があ
る。このランの長さの制限は、通常、拡張文字(escape
character)として作用すべき文字を選択することに
より達成される。入力データの流れの中で1つの文字が
数回繰り返される場合、これらの繰返し文字は、拡張文
字および繰返し回数が付加された単一事例の文字に置き
換えられる。実行を簡単にするために、繰返しの回数
は、通常、文字が占有するスペースと同じ量のスペース
を占有するような形式で表現される。コンピュータのデ
ータでは、文字の繰り返しはごく普通に起こるので、上
記のランの長さ制限の技術が有効であるが、この技術は
幾つかの問題点を有している。
1つの問題は、拡張文字として選択される文字が、入
力データの流れの中のデータとしても発生する場合に起
こる。もし、拡張文字が未修正の状態で出力データの流
れの中に置かれた場合は、すべてのケースでこの拡張文
字の後に続く文字が繰返しの回数を示すものとみなされ
てしまうために、データの減圧によって元のデータが再
生成されなくなる。この問題に対しては多くの解が存在
するが、拡張文字が入力データの流れの中に現れる場合
は、一般に、上記の解において、出力データの流れの中
に2つの文字シーケンスを生成することが必要となる。
それゆえに、もし、入力データの流れが多くの事例の拡
張文字を含んでいるならば、出力データの流れは、現実
に入力データの流れよりも大きなスペースを占有するで
あろう。伝統的なランの長さ制限形データ圧縮技術に関
する別の問題は、文字やその繰返しの回数や拡張文字の
仕様では、通常、これらの3つの文字に対し要求される
のと同じスペースが要求される。それゆえに、ランが4
つまたはそれ以上の文字から構成される場合のみデータ
の圧縮が可能となる。
ランの長さ制限形データ圧縮は実用的で実行し易い
が、一方で、このタイプのデータ圧縮は、他のデータ圧
縮技術により供給される圧縮データの流れと同程度に小
さな流れを供給することはできない。一般に、上記の他
のデータ圧縮技術はすべての入力文字の出力記号へのマ
ッピング(mapping)を実行する。このマッピングは、
出力データの大きさを節減すると共に、付加的な出力記
号に対し、ランの長さ制限形データ圧縮技術における拡
張文字としての用途を任うように形成される機会を与え
る。このことにより、拡張文字が入力データの流れの中
に現れたときに起こる問題が回避される。さらに、上記
のデータ圧縮技術は、大きさが変化する出力記号をすべ
て同じように取り扱う。このために、さまざまな幅を有
する記号を取り扱うための備えが上記のデータ圧縮技術
に組み込まれる。さらに、繰返しの回数の値によってこ
の繰返しの回数の幅を変化させることが現実に行われて
いる。出力データの流れの中で繰返しの回数の幅を識別
するための有効な方法は、各々の可能な繰返しの回数の
幅に対しそれぞれ別個の拡張コードを有する出力記号を
使用することである。
これまで説明したデータ圧縮の方法に関する問題は、
いずれの方法もデータ圧縮の特殊な面にのみ向けられ、
さらに、それらの方法はランの長さの符号化およびテキ
スト置換の両方をさほど有効に取り扱えないことであ
る。
解 前述の問題は、テキスト置換および繰返し文字のスト
リングの両方を同時に処理するための改良形データ圧縮
システムにより解決され、データ処理の分野における技
術的進歩が達成される。このデータ圧縮システムにおい
て、テキスト置換に基づいたデータ圧縮技術の実行は、
入力データの流れの中の文字が繰り返されるような事例
を互いに識別するためのコンパクトな表示を使用するこ
とにより改善される。その上、入力データの流れの文字
とこの文字の繰返しを示す繰返し回数とを含むように、
圧縮器のディクショナリーに記憶するアルファベット記
号を拡張することにより、さらに大きな改善がなされ
る。テキスト置換に基づいたデータ圧縮技術により上記
繰返し回数を取り扱うことは、繰返し回数を取り扱う際
に文字の操作またはいくらかの修正がなされたものと考
えることができる。つまるところ、データ圧縮の有効性
は、次の2つの点により改善される。1つは、繰返し文
字のシーケンスに対しコンパクトな表示を使用する点で
あり、もう1つは、全体のシーケンスが単一の基準値で
もって符号化されるように、ディクショナリーの中の繰
返し文字を含む文字シーケンスを記憶する点である。
テキスト置換に基づいたデータ圧縮技術により、繰返
し文字のシーケンスを含むようにディクショナリー中の
ストリングが形成される。しかしながら、ディクショナ
リーの中の複数のストリングが1つの文字または1つの
ストリングとして一度に形成されると、全体のシーケン
スが単一の基準値でもって符号化されるのを可能にする
1つのストリングが形成される前に、長い繰返し文字の
シーケンスを有する多くの事例に出くわさなければなら
なくなるであろう。上記のテキスト置換システムにラン
の長さの符号化システムを組み込むことによりテキスト
置換システムの改善が図れる。このような構成によれ
ば、データ圧縮装置がテキスト置換によるデータ圧縮動
作を実行する前に、繰返し文字のラン(run)の認識動
作が付加される。上記のシステムにおけるディクショナ
リーは、入力データの流れから繰返し回数および文字を
結合したものを構成して得られるストリングを記憶する
ことが可能である。このディクショナリーを動作させる
に際しては、ストリングの各構成要素を記憶するために
使用されるビット数は、文字のみを記憶するために必要
なビット数よりも大きいものでなければならない。この
ように、繰返し回数を含む入力アルファベット文字の大
きさを増やすことにより基本のテキスト置換アルゴリズ
ムを変更するのみで、有効な改良形圧縮システムが与え
られる。
図面の簡単な説明 第1図および第2図は本発明の改良形データ圧縮シス
テムの構成を示すブロックダイヤグラムである。
第3図および第4図は、通常のデータ圧縮システムに
よる動作ステップと、改良形データ圧縮システムにより
データを圧縮するための動作ステップとをそれぞれ示す
フローチャートである。
詳細な説明 本発明のデータ圧縮システムは、従来のデータ圧縮方
法よりも効率良く繰返し文字のストリングを処理する。
このデータ圧縮システムにおいて、テキスト置換に基づ
いたデータ圧縮技術の実行は、入力データの流れの中の
文字が繰り返されるような事例を互いに識別するための
コンパクトな表示を使用することにより改善される。こ
のような改善は、テキスト置換システムにランの長さの
符号化システムを組み込むことにより達成される。この
ような構成によれば、データ圧縮装置がテキスト置換に
よるデータ圧縮動作を実行する前に、繰返し文字のラン
の認識の動作が付加される。
その上、入力データの流れの文字とこの文字の繰返し
を示す繰返し回数とを含むように、圧縮器のディクショ
ナリーに記憶するアルファベット記号を拡張することに
より、さらに大きな改善がなされる。テキスト置換に基
づいたデータ圧縮技術により上記繰返し回数を取り扱う
ことは、繰返し回数を取り扱う際に文字の操作またはい
くらかの修正がなされたものと考えることができる。つ
まるところ、データ圧縮の有効性は、次の2つの点によ
り改善される。1つは、繰返し文字のシーケンスに対し
コンパクトな表示を使用する点であり、もう1つは、全
体のシーケンスが単一の基準値でもって符号化されるよ
うに、ディクショナリーの中の繰返し文字を含む文字シ
ーケンスを記憶する点である。
テキスト置換に基づいたデータ圧縮技術により、繰返
し文字のシーケンスを含むようにディクショナリー中の
ストリングが形成される。しかしながら、ディクショナ
リーの中の複数のストリングが1つの文字または1つの
ストリングとして一度に形成されると、全体のシーケン
スが単一の基準値でもって符号化されるのを可能にする
1つのストリングが形成される前に、長い繰返し文字の
シーケンスを有する多くの事例に出くわさなければなら
なくなるであろう。上記のデータ圧縮システムがテキス
ト置換によるデータ圧縮動作を実行する前に、繰返し文
字のランの長さの認識動作を付加することにより、上記
テキスト置換システムの圧縮効率の改善が図れる。この
圧縮効率の改善に際し、上記システムのディクショナリ
ーは、入力データの流れから繰返し回数および文字を結
合したものを構成して得られるストリングを記憶し得る
ことが要求される。このディクショナリーを動作させる
に際しては、ストリングの各構成要素を記憶するために
使用されるビット数は、文字のみを記憶するために必要
なビット数よりも大きいものでなければならない。この
ように、繰返し回数を含む入力アルファベット文字の大
きさを増やすことにより基本のテキスト置換アルゴリズ
ムを変更するのみで、有効な改良形圧縮システムが与え
られる。
基本のテキスト置換データ圧縮 第3図に通常のデータ圧縮装置の動作をフローチャー
トにより示す。ステップ301において、ディクショナリ
ーが初期化される。この初期化過程の詳細は、ここで選
定された特殊なデータ圧縮アルゴリズムである。上記デ
ィクショナリーは、初期化されて空白になっているか、
または幾つかのもしくはすべての可能な単一文字のスト
リングを含んでいるか、または、非圧縮文字からなる入
力データの流れに出くわすことが予想されるような多数
の文字ストリングを含んでいる。一旦ディクショナリー
が初期化されると、ステップ303において、文字ポイン
タが初期化されて入力データの流れの最初の文字を圧縮
するように指示する。
データ圧縮過程は、ステップ304〜314からなるループ
により実行される。このループは、非圧縮文字が入力デ
ータの流れの中に残留しなくなるまで動作する。ステッ
プ304において、さらに多くの文字を圧縮のために残留
させるか否かが決定される。もし、圧縮すべき文字が残
っていなければ、ステップ315においてデータ圧縮過程
が終了する。もし、文字ポインタが、圧縮すべき最後の
文字を越えていなければ、ステップ305の過程に進む。
ステップ305において、入力データの流れの中の非圧縮
文字と一致するストリングを見い出すためにストリング
のディクショナリーがサーチされる。このディクショナ
リーのサーチは、文字ポインタにより識別される位置に
おいて開始する。上記サーチの結果はステップ306にお
いて試験される。もし、入力データの流れの中の1つま
たはそれ以上の非圧縮文字と一致するストリングがスト
リングのディクショナリーの中から見い出されたなら
ば、ステップ308において、一致後のディクショナリー
のストリングを識別するためにストリングの基準値が出
力される。さらに、ステップ308において、一致後のス
トリングに含まれる文字の数に応じて文字ポインタが進
む。
もし、ステップ306において、ストリングのディクシ
ョナリーの中から一致するストリングが見い出されなか
ったならば、ステップ310において、文字ポインタによ
り現在指摘されている文字を識別するためにフィールド
(field)が出力される。さらに、ステップ312におい
て、1文字毎に文字ポインタが進む。
1つまたはそれ以上のストリングをストリングのディ
クショナリーから削除するステップ(313)と、さら
に、もし可能ならば、1つまたはそれ以上の文字をスト
リングのディクショナリーに付加するステップ(314)
と例示するために、付加的なステップ313,314を同図
(第3図)に示す。これらのステップを実行するための
多くの異なった技術が提案されているが、本発明で使用
されている特殊な技術は、上記の提案された技術によっ
ては説明できない。それゆえに、上記の複数のステップ
は、現存のシステムと矛盾がないように簡単な説明にと
どめることとする。ステップ314が一度実行されると、
入力データの流れの中の付加的な非圧縮データを試験す
るためにステップ304に戻る。
改良形データ圧縮システム構成 第1図は、非圧縮文字の繰返しをより効率的に符号化
する改良形データ圧縮システムを示すブロックダイヤグ
ラムである。さらに、本発明に添付された補遺Aが上記
のデータ圧縮システムおよび減圧システムのステップを
実行するためのプログラムを開示している。第1図にお
いては、データ圧縮システム100が具備されており、こ
のデータ圧縮システム100は、データの流れ(102,103お
よび104)とそれぞれ連結する3つの副過程(ステッ
プ)(110,111および112)から構成される。これらの副
過程は、ハードウェアもしくはソフトウェアまたは両者
の組み合せにより実行される。
ラン(run)の繰返し回数による置換過程110は、非圧
縮文字101からなる入力データの流れを検査して文字の
流れおよび繰返し回数102を生成する。単一の非圧縮文
字が3回またはそれ以上繰り返される場合は、必ず繰返
し回数が生成される。ランの繰返し回数による置換過程
(ステップ)110により生成されるデータの中で、入力
文字の流れ中の一連の単一文字は、繰返し回数が後に続
く文字に置き換えられる。文字および繰返し回数102を
記号バッファ121に記憶させることは必ずしも必要では
ないが、ここでは、テキスト置換を用いたデータ圧縮の
記述を簡単にするために上記記号バッファ121に記憶さ
せている。改良形データ圧縮システムを実行するに際
し、テキスト置換を用いたデータ圧縮過程(第1の符号
化ステップ)111に文字および繰返し回数102を直ちに処
理させるための選択がなされることが理解されるであろ
う。この場合、上記の処理は、記号バッファ121に記号
として第1番目に記憶される最初の情報がない状態で行
われる。
テキスト置換を用いたデータ圧縮過程111は、前もっ
て記号バッファ121に記憶されている入力文字および繰
返し回数の流れを検査する。さらに、上記の過程111
は、前もって現れたためにストリングの基準値でもって
記憶されている入力文字および繰返し回数のシーケンス
を置き換える。さらに、上記の過程111に対し、ディク
ショナリー120のストリングが付加される(そして、場
合によっては、ディクショナリー120から削除する)。
これらのストリングは、前もって現れた入力文字および
繰返し回数のシーケンスから構成される。テキスト置換
を用いたデータ圧縮過程111が入力データの流れ103の中
で繰返し回数に出くわした場合に、ディクショナリー12
0の中から繰り返し回数を含む一致ストリング(matchin
g string)が見い出されたときは、上記繰返し回数は
ストリング基準値でもって置き換えられる。もし、繰返
し回数を含む一致ストリングが見い出されなければ、ス
トリング基準値の代わりに繰返し回数が出力される。こ
こで、上記ストリング基準値は、記号バッファ121に記
憶されている繰返し回数を含むストリングを示すもので
ある。
繰返し回数の符号化過程(第2の符号化ステップ)11
2は、ストリング基準値および繰返し回数104の流れから
圧縮データの流れ105を生成する。また、前述のよう
に、上記の過程は、繰返し回数の符号化されたフォーム
が後に続く保存中の基準値でもって各々の繰返し回数を
置き換えることによりなされる。この置き換えにより、
データ減圧過程において繰返し回数をストリング基準値
から区別することが可能となる。
データ減圧システム(データ解圧システム) 第2図は、第1図におけるデータ圧縮過程100により
圧縮されたデータを減圧するためのデータ減圧システム
200を示すブロックダイヤグラムである。繰返し回数の
復号過程210は、圧縮データ201に保存中であり繰返し回
数が後に続く基準値の事例を繰返し回数に変換する。さ
らに、上記の過程210の出力は、ストリング基準値およ
び繰返し回数から構成される。
テキスト置換を用いたデータ減圧過程211は、ストリ
ング基準値および繰返し回数202の流れの中におけるス
トリング基準値を、文字および繰返し回数のシーケンス
に置き換える。上記過程211の入力データの流れ202にお
ける繰返し回数は、実際のところ上記過程211そのもの
によっては置き換えられない。この場合、ディクショナ
リー220が、ストリング基準値の各々によって復号化さ
れる文字および繰返し回数のシーケンスを含んでいる。
さらに、テキスト置換を用いたデータ減圧過程211に対
し、ディクショナリー220のストリングが付加される
(そして、場合によっては、ディクショナリー220から
削除する)。これらのストリングは、前もって現れた文
字および繰返し回数のシーケンスから構成される。さら
に、テキスト置換を用いたデータ圧縮過程111により付
加されたり削除されたりするのと同じようにして、スト
リングがディクショナリー220に付加されるかまたはデ
ィクショナリー220から削除される。
データ減圧過程200は、データ圧縮過程100により受信
された入力文字101に対してそれぞれ行われた各々の修
正を逆転させる。このようにすれば、データ減圧過程20
0により生成される文字204は、入力文字としてデータ圧
縮過程100に供給されたものと同じになる。
改良形テキスト置換データ圧縮 第4図に、改良形データ圧縮システム100の動作をフ
ローチャートにより示す。ステップ401において、ディ
クショナリーが初期化される。さらに、この初期化過程
の詳細は、ここで選定された特殊なデータ圧縮アルゴリ
ズムである。上記ディクショナリー120は、初期化され
て空白になっているか、または幾つかのもしくはすべて
の可能な単一文字のストリングを含んでいるか、また
は、記号からなる入力データの流れ103に出くわすこと
が予想されるような多数の文字ストリングを含んでい
る。一旦ディクショナリー120が初期化されると、ステ
ップ402において、ランの繰返し回数による置換過程110
が、非圧縮文字および繰返し回数を示す記号でもって記
号バッファ121をロード(load)する。後に続くステッ
プでは、圧縮文字を使用する代わりに、上記の記号から
なるテキスト置換データ圧縮が行われる。上記の過程11
0は、3つまたはそれ以上の同一文字の繰返しの事例を
1つの記号に置き換える。この1つの記号とは、他の記
号が後に続く文字であって、この他の記号とは、上記文
字が何回繰り返されたかを示す繰返し回数である。記号
バッファ121が一旦ロードされると、ステップ403におい
て、記号ポインタが初期化されて記号バッファ121の中
の最初の記号を圧縮するように指示する。
データ圧縮過程は、ステップ404〜414からなるループ
により実行される。このループは、記号が記号バッファ
121の中に残留されなくなるまで続く。ステップ404にお
いて、さらに多くの記号を圧縮のために残留させるか否
かが決定される。もし、圧縮すべき記号が残っていなけ
れば、ステップ415において、データ圧縮過程100が終了
する。もし、記号ポインタが、記号バッファ121の中の
最後の記号を越えていなければ、ステップ405の過程に
進む。ステップ405において、記号バッファ120の中の記
号と一致するストリングを見い出すためにストリングの
ディクショナリー120がサーチされる。このディクショ
ナリーのサーチは、文字ポインタにより識別される位置
において開始する。上記サーチの結果はステップ406に
おいて試験される。もし、記号バッファ121の中の1つ
またはそれ以上の記号と一致するストリングがストリン
グのディクショナリー120の中から見い出されたなら
ば、ステップ407において、一致後のディクショナリー
のストリングを識別するためにストリングの基準値が出
力される。さらに、ステップ408において、一致後のス
トリングに含まれる記号の数に応じて記号ポインタが進
む。
もし、ステップ406において、ストリングのディクシ
ョナリーの中から一致するストリングが見い出されなか
ったならば、ステップ409において、記号ポインタによ
り指摘される記号が文字であるかまたは繰返し回数であ
るかを決定するためにこの記号が検査される。もし、こ
の記号が文字であれば、ステップ410において、繰返し
回数を識別するためのフィールドが出力される。もし、
ステップ409において、記号が繰返し回数であると決定
されれば、ステップ411において、繰返し回数を識別す
るフィールドが出力される。さらに、ステップ412にお
いて、1記号毎に記号ポインタが進む。
1つまたはそれ以上のストリングをストリングのディ
クショナリー120から削除するステップ(413)と、さら
に、もし可能ならば、1つまたはそれ以上の文字をスト
リングのディクショナリーに付加するステップ(414)
とを例示するために、付加的なステップ413,414を同図
(第1図)に示す。これらのステップを実行するための
多くの異なった技術が提案されているが、本発明で使用
されている特殊な技術は、上記の提案された技術によっ
ては説明できない。ステップ414が一度実行されると、
記号バッファ121の中の付加的な記号を試験するために
ステップ404に戻る。
ステップ402がデータ圧縮ループ(ステップ404〜41
2)に含まれ得るか否かは、ただ単に設計上の選択の問
題に過ぎないことは明白である。記号バッファ121は、
テキスト置換過程111に先行してまたは同時に動作する
ことが可能である。さらに、記号バッファ121は、入力
データの流れのすべてまたはほんの一部に対して使用す
る。
ここでは、減圧過程の動作の手順は詳細に図示しない
こととする。この減圧動作手順は、圧縮動作手順を逆に
したものであり、これまで述べた改良形データ圧縮手順
を考慮すれば当業者にとって明白なものとなる。基本の
テキスト置換アルゴリズムに対する修正データ圧縮の有
効性は、繰返し回数でもって開始するストリングの形成
を取り止めることにより時々改良されることがある。も
し、圧縮中のデータの特性が、繰返し回数でもって開始
するストリングをめったに参照しないようなものであれ
ば、上記の取り止めの動作によりデータ圧縮効率を高め
ることが可能である。繰返し回数でもって開始するスト
リングの形成が抑えられ、さらに、新しいストリングを
形成するために使用されるアルゴリズムが、前のストリ
ングの最後の部分に次のストリングの最初の文字を付加
した場合、テキスト置換アルゴリズムに対してさらに修
正が可能となる。ここでは、次の入力文字が後に続くよ
うな繰返し回数からなるストリングを形成する代わり
に、次の入力文字が後に続くような前もって形成された
完全なストリング(このストリングは繰返し回数でもっ
て終了する)からなる1つのストリングを形成してい
る。
例えば、入力文字のシーケンスがAAABであるとする。
この場合、ディクショナリー120は入力文字AおよびB
に対するエントリー(entry)を含んでいるのみであ
る。ランの繰返し回数による置換工程110は、テキスト
置換が行われる前に、上記のシーケンスをA、繰返し2
およびBと表示する。ここで、Aおよび繰返し回数2は
ディクショナリー中に存在しないので、Aおよび繰返し
回数2からなる1つのストリングがディクショナリー12
0に付加される。それゆえに、非修正のテキスト置換ア
ルゴリズムは繰返し回数2およびBをサーチするであろ
う。さらに、上記ストリングは、ディクショナリー中に
は形成されないので、繰返し2およびBを有するストリ
ングがディクショナリー120に付加されるであろう。し
かしながら、繰返し回数でもって開始するストリングの
形成が抑えられた場合は、繰返し2およびBからなるス
トリングに対してサーチする際のポイント(point)が
なくなってしまう。その上、繰返し2およびBのストリ
ングは、ディクショナリー120には付加されない。その
代わりに、ストリングA、繰返し2およびBのサーチが
行われる。さらに、これらのストリングはまだ形成され
ていないので、ストリングA、繰返し回数2およびBが
ディクショナリー120に付加される。
上記の例では、ストリングAおよび繰返し2がディク
ショナリー120に付加され、さらに、Aおよび繰返し2
でもって開始するストリングが、あるいは前もって形成
できなかったために、ストリングA、繰返し2およびB
に対するサーチがうまく行われない。明らかに、ストリ
ングA、繰返し2およびBに対するサーチがスキップ
(skip)されている。しかしながら、ストリングを形成
する前にこのストリングに対するサーチを常時遂行する
ことによってデータ圧縮アルゴリズムを実行すること
は、一般に、より簡単である。
長いランの取り扱い 最大の繰返し回数が後に続く入力文字により表示され
得るよりもさらに長いランを取り扱うための2つの方法
がある。このような長さのランを符号化するための1つ
(1番目)の方法は、次のようなシーケンスを生成する
ことである:文字(Char)、最大繰返し回数(Max Rep
eat Count)、文字(Char)、最大繰返し回数(Max R
epeat Count),…。もう1つ(2番目)の方法は、次
のようなシーケンスを生成することである:文字(Cha
r)、最大繰返し回数(Max Repeat Count)、最大繰
返し回数(Max Repeat Count),…。この2番目のア
プローチでは、テキスト置換アルゴリズムにより符号化
されるべきエンティティ(entity)の生成が1番目より
も少なくて済む。多くのテキスト置換アルゴリズムに対
し、上記の事実はデータ圧縮を顕著に有効なものとす
る。しかしながら、たった今述べたように、テキスト置
換アルゴリズムが修正された場合は、1番目のアプロー
チを使用して長いランを取り扱う方が、2番目のアプロ
ーチを用いる場合よりも短いビット数で済む。
もし、上記の修正されたテキスト置換アルゴリズム
が、文字、最大繰返し回数、最大繰返し回数、…のシー
ケンスを圧縮するために使用され、かつ、各々の時間毎
に新しい繰返し回数が受信されたならば、新しい繰返し
回数が後に続く形成したてのストリングに対しサーチが
行われるであろう。前述したように、このサーチは常に
失敗する。その結果、最大繰返し回数の表示が出力され
て上記のサーチ過程が繰り返される。このようにして圧
縮された出力は次のようなシーケンスからなる:文字の
基準値(Reference Valueof Char)、符号化された最
大繰返し(Encoded Max Repeat Count)、符号化さ
れた最大繰返し(Encoded Max Repeat Count),
…。たとい、ストリングがディクショナリーの中で形成
されている場合でも、繰返し回数でもって開始するディ
クショナリーの中にストリングがなく、かつ、処理中の
各エンティティが繰返し回数であるために、前もって形
成されたストリングに対する基準は発生しない。
文字、最大繰返し回数、文字、最大繰返し回数、…の
シーケンスにおいては、修正されたテキスト置換アルゴ
リズムにより、たった今形成されたばかりのストリング
を参照する機会が提供される。文字および最大繰返し回
数のシーケンスからなる最初の幾つかの事例により、文
字および最大繰返し回数のシーケンスの繰返しを含むス
トリングが形成される。その後に、さらに文字および最
大繰返し回数のシーケンスの事例が現われた場合、一致
ストリングがディクショナリーの中から見い出され、文
字および最大繰返し回数の幾つかの繰返しを符号化する
ための基準値が出力される。このようにして、ランの圧
縮表示の大きさが節減される。
改良形データ圧縮システムの実行 C言語により記載された下記のプログラムのリストに
よって、簡単なテキスト置換データの形式を利用した本
発明の実施過程を具体化することができる。上記プログ
ラムは、8ビットバイトを使用すると共に2進表示を用
い、かつ、互換性のあるCコンパイラを備える任意のコ
ンピュータにより実行することが可能である。
圧縮100および減圧200は、入力データおよび出力デー
タを管理するメインプログラムにおいてそれぞれ名称ど
おりの機能で実行される。圧縮機能および減圧機能は、
共通のヘッダ・ファイル(header file)“コンプレ
ス.エイチ(compress.h)”の中で定義される定数の値
をそれぞれ参照する。このヘッダ・ファイルの内容は下
記のプログラム・リストにおける最初の部分に示す。
圧縮100および減圧200は、幅が変化するデータ・フィ
ールドをそれぞれ入力するかまたは出力する。ファンク
ション(function)“Pack( )”および“Unpack
( )”は、これらの種々の幅を有するフィールドを記
憶したり検索したりする。ビット・フィールドをコンピ
ュータのメモリワードに書き換えたり(pack)、コンピ
ュータのメモリワードからビット・フィールドを復元し
たり(unpack)するための多くの技術が利用可能であ
り、これらの技術は、データ処理の分野ではよく知られ
ている。
入力文字および繰返し回数が一緒に記憶されたり伝送
されたりする場合は、入力文字を繰返し回数から識別で
きることが必要である。これらのプログラムにおいて
は、入力文字を正の値として記憶すると共に繰返し回数
を負の値として記憶することによって上記の識別動作が
行われる。このような動作により、プログラムを実行す
るコンピュータは、必要に応じて入力文字および繰返し
回数を迅速に識別することが可能となる。圧縮機能にお
いては、アレイ“rll−buffer〔 〕”が、上記の形式
で記憶されるデータを含む。このアレイは、第1図の記
号バッファ121に対応する。さらに、減圧機能において
は、アレイ“stack〔 〕”{このアレイは“push
( )”および“pop( )”を介してアクセスされ
る}が、上記の形式で記憶されるデータを含む。このア
レイは、第2図の流れ203に対応する。上記の処理をハ
ードウェアにより実行する際は、文字および繰返し回数
は両者共正(すなわち、符号なし)の値として記憶され
ると共に、繰返し回数を文字から識別するためにフラグ
・ビットが使用される。
フロントページの続き (56)参考文献 特開 昭56−34266(JP,A) 特開 昭58−31446(JP,A) 特開 昭60−35373(JP,A) 特開 昭63−148466(JP,A) 特開 昭64−57829(JP,A) 特開 平3−6924(JP,A) 特表 平4−501349(JP,A) 欧州特許490964(EP,B1)

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】入力文字の流れ(101)を圧縮する方法で
    あって、 前記入力文字の流れ(101)の中における単一の文字の
    連続的な繰返しを、前記単一の文字と、前記入力文字の
    流れ(101)の中における前記単一の文字の連続的な繰
    返しの数を示す繰返し回数とに置き換えて一度に圧縮さ
    れた文字の流れ(102)を形成するステップ(110)と、 テキスト置換を用いて前記一度に圧縮された文字の流れ
    (102)を符号化する第1の符号化ステップ(111)とを
    有し、 該第1の符号化ステップ(111)において、前記一度に
    圧縮された文字の流れ(102)の中で繰返し回数に出く
    わした場合に、該繰返し回数と結合する文字からなるス
    トリングの中で、前もって現れてディクショナリー(12
    0)に入力されている繰返し回数と結合する文字からな
    るストリングと一致するような一致ストリングが見い出
    されたときは、前記一度に圧縮された文字の流れ(10
    2)の中の前記繰返し回数は、前もって記憶されている
    繰返し回数を含むストリングを有するストリング基準値
    でもって置き換えられ、前記一致ストリングが見い出さ
    れないときは、前記ストリング基準値の代わりに、前記
    一度に圧縮された文字の流れ(102)の中の前記繰返し
    回数が出力され、これによって前記のストリング基準値
    および繰返し回数(104)からなる圧縮された流れが提
    供され、 前記方法は、さらに、前記の圧縮された流れの中で前記
    繰返し回数を符号化する第2の符号化ステップ(112)
    を有することを特徴とする方法。
  2. 【請求項2】前記第1の符号化ステップ(111)が、 前もって現れて前記ディクショナリー(120)に入力さ
    れている前記一度に圧縮された文字の流れ(102)の中
    で繰返し回数と結合する文字からなるストリングを、前
    記繰返し回数と結合する文字からなる前記ストリングに
    前もって割り当てられている前記ストリング基準値に置
    き換えるステップ(406〜408)を有する請求項1記載の
    方法。
  3. 【請求項3】前記第1の符号化ステップ(111)が、さ
    らに、 前記一度に圧縮された文字の流れ(102)の中で繰返し
    回数と結合する文字から構成されると共に前もって前記
    ディクショナリー(120)に入力されていないストリン
    グに対し、新しいストリング基準値を生成する第1の生
    成ステップ(409〜412)を有する請求項2記載の方法。
  4. 【請求項4】前記第1の生成ステップ(409〜412)が、 一つの文字が後に続くような前もって現れていないスト
    リングに応答するように、前記の新しいストリング基準
    値の定義の一部として、前記のストリングの後に続く文
    字を、前記の前もって現れていないストリングに付加す
    るステップ(410)を有する請求項3記載の方法。
  5. 【請求項5】前記単一の文字の繰返しが、前記繰返し回
    数の一つにより表示され得る場合よりもその数において
    大きいときに、前記の置き換えステップ(406〜408)
    が、 前記繰返しに対する多数の繰返し回数の表示を生成する
    第2の生成ステップ(404〜406,409〜414)を含む請求
    項2記載の方法。
  6. 【請求項6】前記第2の生成ステップ(404〜406,409〜
    414)が、 前記繰返し回数の中で最も大きい値のシーケンスを連結
    するステップ(409〜412)を有し、該繰返し回数のシー
    ケンスは、前記単一の文字の繰返しよりも小さいシーケ
    ンスの中で最も大きいものとなる請求項5記載の方法。
  7. 【請求項7】前記第2の生成ステップ(404〜406,409〜
    414)が、さらに、 一つの繰返し回数を前記繰返し回数のシーケンスに付加
    するステップ(411)を有し、前記の付加された繰返し
    回数は、前記繰返しと前記シーケンスの値との間の差異
    を表示する請求項6記載の方法。
  8. 【請求項8】入力文字の流れ(101)を圧縮する装置で
    あって、 前記入力文字の流れ(101)の中における単一の文字の
    連続的な繰返しの存在に応答するように、前記単一の文
    字の連続的な繰返しを、前記単一の文字と、前記入力文
    字の流れ(101)の中における前記単一の文字の連続的
    な繰返しの数を示す繰返し回数とに置き換えて一度に圧
    縮された文字の流れ(101)を形成するための手段と、 テキスト置換を用いて前記一度に圧縮された文字の流れ
    (102)を符号化するための第1の符号化手段とを有
    し、 該第1の符号化手段において、前記一度に圧縮された文
    字の流れ(102)の中で繰返し回数に出くわした場合
    に、該繰返し回数と結合する文字からなるストリングの
    中で、前もって現れてディクショナリー(120)に入力
    されている繰返し回数と結合する文字からなるストリン
    グと一致するような一致ストリングが見い出されたとき
    は、前記一度に圧縮された文字の流れ(102)の中の前
    記繰返し回数は、前もって記憶されている繰返し回数を
    含むストリングを有するストリング基準値でもって置き
    換えられ、前記一致ストリングが見い出されないとき
    は、前記ストリング基準値の代わりに、前記一度に圧縮
    された文字の流れ(102)の中の前記繰返し回数が出力
    され、これによって前記のストリング基準値および繰返
    し回数(104)からなる圧縮された流れが提供され、 前記装置は、さらに、前記の圧縮された流れの中で前記
    繰返し回数を符号化するための第2の符号化手段を有す
    ることを特徴とする装置。
  9. 【請求項9】前記第1の符号化手段が、 前もって現れている前記一度に圧縮された文字の流れ
    (102)の中で繰返し回数と結合する文字からなるスト
    リングの各々を、前もって現れている前記ストリングに
    既に割り当てられている前記ストリング基準値にそれぞ
    れ置き換えるための置き換え手段を有する請求項8記載
    の装置。
  10. 【請求項10】前記一度に圧縮された文字の流れ(10
    2)の符号化手段が、 前もって現れていない繰返し回数と結合する文字からな
    るストリングの各々に対し、新しいストリング基準値を
    生成するための第1の生成手段を有する請求項9記載の
    装置。
  11. 【請求項11】前記第1の生成手段が、 一つの文字が後に続く前記の前もって現れていないスト
    リングに応答するように、前記の新しいストリング基準
    値の定義の一部として、前記のストリングの後に続く文
    字を、前記の前もって現れていないストリングに付加す
    るための手段を有する請求項10記載の装置。
  12. 【請求項12】前記単一の文字の繰返しが、前記繰返し
    回数の一つにより表示され得る場合よりもその数におい
    て大きいときに、前記の置き換え手段が、 前記繰返しに対する多数の繰返し回数の表示を生成する
    ための第2の生成手段を含む請求項9記載の装置。
  13. 【請求項13】前記第2の生成手段が、 前記繰返し回数の中で最も大きい値のシーケンスを連結
    するための手段を有し、該繰返し回数のシーケンスは、
    前記単一の文字の繰返しよりも小さいシーケンスの中で
    最も大きいものとなる請求項12記載の装置。
  14. 【請求項14】前記第2の生成手段が、さらに、 一つの繰返し回数を前記繰返し回数のシーケンスに付加
    するための手段を有し、前記の付加された繰返し回数
    は、前記繰返しと前記シーケンスの値との間の差異を表
    示する請求項13記載の装置。
JP2512773A 1989-09-05 1990-09-05 改良形データ圧縮装置 Expired - Lifetime JP3009727B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US403,084 1989-09-05
US07/403,084 US4988998A (en) 1989-09-05 1989-09-05 Data compression system for successively applying at least two data compression methods to an input data stream

Publications (2)

Publication Number Publication Date
JPH05500741A JPH05500741A (ja) 1993-02-12
JP3009727B2 true JP3009727B2 (ja) 2000-02-14

Family

ID=23594414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2512773A Expired - Lifetime JP3009727B2 (ja) 1989-09-05 1990-09-05 改良形データ圧縮装置

Country Status (8)

Country Link
US (1) US4988998A (ja)
EP (1) EP0490964B1 (ja)
JP (1) JP3009727B2 (ja)
AT (1) ATE139876T1 (ja)
AU (1) AU637826B2 (ja)
CA (1) CA2066229C (ja)
DE (1) DE69027606T2 (ja)
WO (1) WO1991003880A1 (ja)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5300931A (en) * 1987-09-04 1994-04-05 Unisys Corporation Memory based vector quantization
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
US5426779A (en) * 1991-09-13 1995-06-20 Salient Software, Inc. Method and apparatus for locating longest prior target string matching current string in buffer
US5455943A (en) * 1992-10-08 1995-10-03 Salient Software, Inc. Method and apparatus for finding longest and closest matching string in history buffer prior to current string
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5396228A (en) * 1992-01-16 1995-03-07 Mobile Telecommunications Technologies Methods and apparatus for compressing and decompressing paging data
US6092070A (en) * 1992-02-11 2000-07-18 Telcordia Technologies, Inc. Method and system for lossless date compression and fast recursive expansion
US5406278A (en) * 1992-02-28 1995-04-11 Intersecting Concepts, Inc. Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
US5371499A (en) * 1992-02-28 1994-12-06 Intersecting Concepts, Inc. Data compression using hashing
US5353024A (en) * 1992-05-01 1994-10-04 Intersecting Concepts, Inc. Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
US5537551A (en) * 1992-11-18 1996-07-16 Denenberg; Jeffrey N. Data compression method for use in a computerized informational and transactional network
US5424732A (en) * 1992-12-04 1995-06-13 International Business Machines Corporation Transmission compatibility using custom compression method and hardware
US5323155A (en) * 1992-12-04 1994-06-21 International Business Machines Corporation Semi-static data compression/expansion method
US5363098A (en) * 1993-10-25 1994-11-08 Digital Equipment Corporation Byte aligned data compression
US5392036A (en) * 1993-10-28 1995-02-21 Mitan Software International (1989) Ltd. Efficient optimal data recopression method and apparatus
US5504929A (en) * 1993-11-17 1996-04-02 Adobe Systems Incorporated Method and apparatus for encoding byte sequence for self-clocked high speed data transfer from a parallel port
JPH07160684A (ja) * 1993-12-03 1995-06-23 Matsushita Electric Ind Co Ltd 文書圧縮装置および文書圧縮方法
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
US5502439A (en) * 1994-05-16 1996-03-26 The United States Of America As Represented By The United States Department Of Energy Method for compression of binary data
US5701125A (en) * 1994-06-15 1997-12-23 The United States Of America As Represented By The United States Department Of Energy Method for compression of data using single pass LZSS and run-length encoding
US5561421A (en) * 1994-07-28 1996-10-01 International Business Machines Corporation Access method data compression with system-built generic dictionaries
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
EP0720362A3 (en) * 1994-12-29 2000-12-13 Thomson Consumer Electronics, Inc. Television on-screen display system utilizing text data compression
US5627534A (en) * 1995-03-23 1997-05-06 International Business Machines Corporation Dual stage compression of bit mapped image data using refined run length and LZ compression
GB2301252A (en) * 1995-05-23 1996-11-27 Ibm Run length data compression
US5825830A (en) * 1995-08-17 1998-10-20 Kopf; David A. Method and apparatus for the compression of audio, video or other data
US5689255A (en) * 1995-08-22 1997-11-18 Hewlett-Packard Company Method and apparatus for compressing and decompressing image data
US5805086A (en) * 1995-10-10 1998-09-08 International Business Machines Corporation Method and system for compressing data that facilitates high-speed data decompression
US5778255A (en) * 1995-10-10 1998-07-07 International Business Machines Corporation Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle
US5838963A (en) * 1995-10-25 1998-11-17 Microsoft Corporation Apparatus and method for compressing a data file based on a dictionary file which matches segment lengths
US5710561A (en) * 1996-01-02 1998-01-20 Peerless Systems Corporation Method and apparatus for double run-length encoding of binary data
US6023558A (en) * 1996-06-27 2000-02-08 Apple Computer, Inc. Graphics compression for an emulation system
FR2751492B1 (fr) * 1996-07-16 1998-11-13 Alcatel Mobile Comm France Procede et dispositif de compression et de decompression de messages
US5951623A (en) * 1996-08-06 1999-09-14 Reynar; Jeffrey C. Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US5734340A (en) * 1996-08-27 1998-03-31 Symantech Corporation Method and apparatus for storing run-intensive information in compact form
US5798718A (en) * 1997-05-12 1998-08-25 Lexmark International, Inc. Sliding window data compression method and apparatus
US6377966B1 (en) * 1997-10-22 2002-04-23 Flashpoint Technology, Inc. Graphical interface to select characters representing phonetic articulation and no articulation groups
US6075470A (en) * 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
EP0957586A1 (en) * 1998-05-15 1999-11-17 Algorithmic Research BV. Method for data compression
US6124811A (en) * 1998-07-02 2000-09-26 Intel Corporation Real time algorithms and architectures for coding images compressed by DWT-based techniques
US6130630A (en) * 1998-10-27 2000-10-10 Hewlett-Packard Company Apparatus and method for compressing Huffman encoded data
US6275588B1 (en) 1998-11-12 2001-08-14 I-Data International A/S Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6166665A (en) 1999-03-08 2000-12-26 Unisys Corporation Data compression method and apparatus with embedded run-length encoding
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) * 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6137428A (en) * 1999-04-27 2000-10-24 Unisys Corporation Data compression method and apparatus with embedded run-length encoding using mathematical run processing
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
US6169499B1 (en) 1999-06-19 2001-01-02 Unisys Corporation LZW data compression/decompression apparatus and method with embedded run-length encoding/decoding
US6188333B1 (en) 1999-08-12 2001-02-13 Unisys Corporation LZW data compression apparatus and method using look-ahead mathematical run processing
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
DE10003166A1 (de) * 2000-01-25 2001-07-26 Ingo Krumpholz Waringsche Datenspeicherung
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
AU2001238365A1 (en) * 2000-02-15 2001-08-27 Orbcomm Global, L.P. Method for compression of small computer data files
US6373409B1 (en) * 2000-06-19 2002-04-16 International Business Machines Corporation Method and computer program product for implementing text conversion table compression
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US20020085764A1 (en) * 2000-12-29 2002-07-04 Brady Thomas S. Enhanced data compression technique
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US6624771B2 (en) * 2001-05-14 2003-09-23 Stmicroelectronics Ltd. Concurrent logic operations using decoder circuitry of a look-up table
US6714145B1 (en) 2002-09-26 2004-03-30 Richard Marques Method and apparatus for integer-based encoding and decoding of bits
US7120666B2 (en) * 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
US8364815B2 (en) 2005-03-18 2013-01-29 Riverbed Technology, Inc. Reliability and availability of distributed servers
US8176186B2 (en) 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US7433519B2 (en) * 2003-04-04 2008-10-07 Avid Technology, Inc. Bitstream format for compressed image data
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7908399B2 (en) * 2003-05-30 2011-03-15 Cisco Technology, Inc. Compression of repeated patterns in full bandwidth channels over a packet network
US6879270B1 (en) 2003-08-20 2005-04-12 Hewlett-Packard Development Company, L.P. Data compression in multiprocessor computers
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
US7434028B2 (en) * 2004-12-15 2008-10-07 Intel Corporation Hardware stack having entries with a data portion and associated counter
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US7461242B2 (en) * 2005-11-03 2008-12-02 Ati Technologies Ulc Method and apparatus for providing context switching of logic in an integrated circuit using test scan circuitry
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
US7365658B2 (en) * 2006-02-28 2008-04-29 The Board Of Trustees Of The University Of Arkansas Method and apparatus for lossless run-length data encoding
WO2008005629A2 (en) * 2006-05-26 2008-01-10 Riverbed Technology, Inc. Throttling of predictive acks in an accelerated network communication system
US9356824B1 (en) 2006-09-29 2016-05-31 F5 Networks, Inc. Transparently cached network resources
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US20100321218A1 (en) * 2008-10-15 2010-12-23 Veeresh Rudrappa Koratagere Lossless content encoding
WO2010044098A2 (en) * 2008-10-15 2010-04-22 Veeresh Rudrappa Koratagere Content encoding
US20110181448A1 (en) * 2008-10-15 2011-07-28 Veeresh Rudrapa Koratagere Lossless compression
US8044829B2 (en) * 2009-03-05 2011-10-25 Marvell World Trade Ltd. Multi-mode encoding for data compression
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
US9035809B2 (en) * 2012-10-15 2015-05-19 Seagate Technology Llc Optimizing compression engine throughput via run pre-processing
US8791843B2 (en) 2012-10-15 2014-07-29 Lsi Corporation Optimized bitstream encoding for compression
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
US10523956B2 (en) * 2016-11-16 2019-12-31 Citrix Systems, Inc. Multi-pixel caching scheme for lossless encoding
CN115988569B (zh) * 2023-03-21 2023-06-30 浙江省疾病预防控制中心 一种蓝牙设备数据快速传输方法
CN116366069B (zh) * 2023-06-02 2023-08-08 菏泽鹏远混凝土有限公司 一种高性能混凝土配比数据处理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4021782A (en) * 1974-01-07 1977-05-03 Hoerning John S Data compaction system and apparatus
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
JPH0828053B2 (ja) * 1983-08-08 1996-03-21 株式会社日立製作所 データ記録方法
US4626829A (en) * 1985-08-19 1986-12-02 Intelligent Storage Inc. Data compression using run length encoding and statistical encoding
JPH0815263B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元方法
US4971407A (en) * 1989-08-09 1990-11-20 Unisys Corp. Two stage run and string data compressor providing doubly compressed output

Also Published As

Publication number Publication date
DE69027606D1 (de) 1996-08-01
CA2066229C (en) 2000-05-30
CA2066229A1 (en) 1991-03-06
AU637826B2 (en) 1993-06-10
AU6354590A (en) 1991-04-08
DE69027606T2 (de) 1996-12-12
WO1991003880A1 (en) 1991-03-21
ATE139876T1 (de) 1996-07-15
EP0490964A1 (en) 1992-06-24
EP0490964B1 (en) 1996-06-26
EP0490964A4 (en) 1992-10-21
US4988998A (en) 1991-01-29
JPH05500741A (ja) 1993-02-12

Similar Documents

Publication Publication Date Title
JP3009727B2 (ja) 改良形データ圧縮装置
US5933104A (en) Method and system for compression and decompression using variable-sized offset and length fields
JP2581903B2 (ja) バイト整列式データ圧縮方法及び装置
US5229768A (en) Adaptive data compression system
US5841376A (en) Data compression and decompression scheme using a search tree in which each entry is stored with an infinite-length character string
US7817069B2 (en) Alternative encoding for LZSS output
KR100353171B1 (ko) 적응형데이터압축을수행하는방법및장치
JPH07509823A (ja) ストリングリバーサル機構を具備した単一クロックサイクルデータ圧縮装置/圧縮解除装置
Nandi et al. A compression technique based on optimality of LZW code (OLZW)
US7253752B2 (en) Coding apparatus, decoding apparatus, coding method, decoding method and program
JPH05241777A (ja) データ圧縮方式
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JPH08223053A (ja) 圧縮データの伸張方法
JP3038223B2 (ja) データ圧縮方式
Yokoo An adaptive data compression method based on context sorting
JP3241787B2 (ja) データ圧縮方式
JPH05152971A (ja) データ圧縮・復元方法
JPH0818981A (ja) データ圧縮・伸長方式
Nahar et al. Data compression methods and analysis
Reyssan et al. Multiple Character Modification for Huffman Algorithm
Kumar A plain-text compression technique with fast lookup ability
Nithya et al. The Study of Text Compression Algorithms and their Efficiencies Under Different Types of Files
JP3100206B2 (ja) データ圧縮方法
JP3051501B2 (ja) データ圧縮方法
Ong et al. A data compression scheme for Chinese text files using Huffman coding and a two-level dictionary