JPH0779262B2 - 圧縮データの符号化方法 - Google Patents
圧縮データの符号化方法Info
- Publication number
- JPH0779262B2 JPH0779262B2 JP2313006A JP31300690A JPH0779262B2 JP H0779262 B2 JPH0779262 B2 JP H0779262B2 JP 2313006 A JP2313006 A JP 2313006A JP 31300690 A JP31300690 A JP 31300690A JP H0779262 B2 JPH0779262 B2 JP H0779262B2
- Authority
- JP
- Japan
- Prior art keywords
- dictionary
- history
- history buffer
- compressed data
- sequence
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、一般にデータ処理方法、より具体には伝送ま
たは記憶用に圧縮データを符号化する方法に関するもの
である。
たは記憶用に圧縮データを符号化する方法に関するもの
である。
B.従来の技術及びその課題 圧縮とは、データの表現を最小にするためのデータの符
号化である。たとえば、圧縮を用いて、ファイルの必要
記憶容量を減少させ、チャネル上の通信速度を高める、
もしくは安全保護向上のための暗号化に先だって冗長度
を減少させることが可能になる。
号化である。たとえば、圧縮を用いて、ファイルの必要
記憶容量を減少させ、チャネル上の通信速度を高める、
もしくは安全保護向上のための暗号化に先だって冗長度
を減少させることが可能になる。
データ圧縮の1方法が、ジブ(Ziv)とレンペル(Lempe
l)の論文“A Universal Algorithm For Sequential Da
ta Compression"、IEEE Transactions on Information
Theory,Vol.IT−23、No.3、pp.337−43、1977年5月に
開示されている。レンペル−ジブ・アルゴリズムは基本
的に、データ列の履歴を後方参照し、一致が見つかった
とき、実際のデータを短縮された符号で置き換える機構
である。レンペル−ジブ法の種々の実施態様では、512
(小テーブル)、1024(中テーブル)または4096(大テ
ーブル)の特定の列または後方参照を辞典または辞書に
記録する。これらは、辞典に挿入される列の選択方法が
異なる。
l)の論文“A Universal Algorithm For Sequential Da
ta Compression"、IEEE Transactions on Information
Theory,Vol.IT−23、No.3、pp.337−43、1977年5月に
開示されている。レンペル−ジブ・アルゴリズムは基本
的に、データ列の履歴を後方参照し、一致が見つかった
とき、実際のデータを短縮された符号で置き換える機構
である。レンペル−ジブ法の種々の実施態様では、512
(小テーブル)、1024(中テーブル)または4096(大テ
ーブル)の特定の列または後方参照を辞典または辞書に
記録する。これらは、辞典に挿入される列の選択方法が
異なる。
基本的なレンペル−ジブ・アルゴリズムに対する様々な
改良がある。1つは、バイトまたは文字拡張の改良であ
り、辞典内の各列は、辞典内の他の列の末尾に1つまた
は複数のバイトを追加したものと同じである。もう1つ
は、列拡張レンペル−ジブ・アルゴリズムであり、辞典
内の各列は、辞典内の他の2つの列を連結したものであ
る。ほとんどの状況では、列拡張技法の方がよい圧縮効
果をもたらす。
改良がある。1つは、バイトまたは文字拡張の改良であ
り、辞典内の各列は、辞典内の他の列の末尾に1つまた
は複数のバイトを追加したものと同じである。もう1つ
は、列拡張レンペル−ジブ・アルゴリズムであり、辞典
内の各列は、辞典内の他の2つの列を連結したものであ
る。ほとんどの状況では、列拡張技法の方がよい圧縮効
果をもたらす。
大テーブル列拡張レンペル−ジブ・アルゴリズムは、優
れた汎用適応データ圧縮技法であると一般に考えられて
いる。大テーブル列拡張レンペル−ジブ技法の欠点は、
圧縮を行う機械内にかなりのメモリと高速の中央演算処
理装置を必要とすることである。復元は、メモリ及びプ
ロセッサ・サイクルの点で相対的に低コストである。多
数の並列なデータ・ストリームの圧縮を支援しなければ
ならない装置では、一般にメモリの方が実行速度よりも
大きな問題である。これは、並列なデータ・ストリーム
のすべてが同時に活動状態であるわけではなく、したが
ってCPU負荷が最悪の場合に近くなることがほとんどな
いためである。また、CPUに対する要求が過度になった
ときの性能低下は、漸次的であり、破局的ではない。す
なわち、ある装置が支援しなければならないデータ・ス
トリームの数は、プロセッサの実行速度の弱い関数であ
る。それとは対照的に、適応圧縮テーブル専用のメモリ
は、データ・ストリームが遊休状態のときでも割り当て
られていなければならない。このため、特定の装置が支
援できるデータ・ストリームの数が効果的に制限され
る。
れた汎用適応データ圧縮技法であると一般に考えられて
いる。大テーブル列拡張レンペル−ジブ技法の欠点は、
圧縮を行う機械内にかなりのメモリと高速の中央演算処
理装置を必要とすることである。復元は、メモリ及びプ
ロセッサ・サイクルの点で相対的に低コストである。多
数の並列なデータ・ストリームの圧縮を支援しなければ
ならない装置では、一般にメモリの方が実行速度よりも
大きな問題である。これは、並列なデータ・ストリーム
のすべてが同時に活動状態であるわけではなく、したが
ってCPU負荷が最悪の場合に近くなることがほとんどな
いためである。また、CPUに対する要求が過度になった
ときの性能低下は、漸次的であり、破局的ではない。す
なわち、ある装置が支援しなければならないデータ・ス
トリームの数は、プロセッサの実行速度の弱い関数であ
る。それとは対照的に、適応圧縮テーブル専用のメモリ
は、データ・ストリームが遊休状態のときでも割り当て
られていなければならない。このため、特定の装置が支
援できるデータ・ストリームの数が効果的に制限され
る。
C.課題を解決するための手段 本発明の適応圧縮方法は、2つのデータ構造、すなわち
履歴バッファおよび辞典(レキシコン)を効率的に利用
して、通信またはデータ記憶環境に適した、汎用のスト
リーム本位のデータ圧縮を実行する。この場合、列と
は、有限個の記号の集合のうちから選択された一連の順
序付けられたデータ記号であると定義する。
履歴バッファおよび辞典(レキシコン)を効率的に利用
して、通信またはデータ記憶環境に適した、汎用のスト
リーム本位のデータ圧縮を実行する。この場合、列と
は、有限個の記号の集合のうちから選択された一連の順
序付けられたデータ記号であると定義する。
履歴バッファとは、最も最近に圧縮機能を通過した未圧
縮のデータが正確な記録である。辞典とは、長さが1以
上の列の集合である。
縮のデータが正確な記録である。辞典とは、長さが1以
上の列の集合である。
本発明の圧縮方法は、入力データ・ストリームを履歴参
照、辞典参照およびリテラル参照のシーケンスに変換す
ると同時に、圧縮効率が最大になるように履歴バッファ
と辞典をインクリメンタルに更新することによって動作
する。圧縮機構に入るデータおよび復元機構から出るデ
ータは、8ビット・バイトとして取り扱われるが、圧縮
機構から復元機構へ流れる圧縮済みデータは自由形式の
ビット・ストリームである。本発明の符号換方法は、参
照の形式または性格を一意的に識別し、圧縮効率が最大
となるように参照の長さを定義し、同時に前記の変換操
作を逆にして元のデータ・ストリームを正確に再構成す
るのに十分な情報を、対をなす復元方法に提供する。こ
の復元機能は、圧縮されたデータ・ストリーム自体以外
の追加データは必要としない。
照、辞典参照およびリテラル参照のシーケンスに変換す
ると同時に、圧縮効率が最大になるように履歴バッファ
と辞典をインクリメンタルに更新することによって動作
する。圧縮機構に入るデータおよび復元機構から出るデ
ータは、8ビット・バイトとして取り扱われるが、圧縮
機構から復元機構へ流れる圧縮済みデータは自由形式の
ビット・ストリームである。本発明の符号換方法は、参
照の形式または性格を一意的に識別し、圧縮効率が最大
となるように参照の長さを定義し、同時に前記の変換操
作を逆にして元のデータ・ストリームを正確に再構成す
るのに十分な情報を、対をなす復元方法に提供する。こ
の復元機能は、圧縮されたデータ・ストリーム自体以外
の追加データは必要としない。
本発明の符号化方法の1態様では、各リテラル参照にリ
テラル識別子を割り当て、各履歴参照に履歴識別子を割
り当て、各辞典参照に辞典識別子を割り当てる。そし
て、上記参照に上記識別子を割り当てたデータ・ストリ
ームを発行(emit)する。本発明の符号化方法の別の様
態では、入力データ・ストリームの記号を履歴バッファ
に記録する。記号の列が履歴バファ内に複製されている
とき、履歴識別子、オフセット値および長さの値を含む
履歴参照が発行される。発行された履歴参照によって表
される列は、辞典に記録される。記号の列が辞典内に複
製されているとき、辞典識別子および指標値を含む辞典
参照が発行される。記号が履歴バッファ内にも辞典内に
も複製されていないとき、リテラル識別子および記号自
体を含むリテラル参照が発行される。入力データ・スト
リームが終りになると、リテラル識別子が発行され、そ
れによってデータ・ストリームの終りを知らせる。
テラル識別子を割り当て、各履歴参照に履歴識別子を割
り当て、各辞典参照に辞典識別子を割り当てる。そし
て、上記参照に上記識別子を割り当てたデータ・ストリ
ームを発行(emit)する。本発明の符号化方法の別の様
態では、入力データ・ストリームの記号を履歴バッファ
に記録する。記号の列が履歴バファ内に複製されている
とき、履歴識別子、オフセット値および長さの値を含む
履歴参照が発行される。発行された履歴参照によって表
される列は、辞典に記録される。記号の列が辞典内に複
製されているとき、辞典識別子および指標値を含む辞典
参照が発行される。記号が履歴バッファ内にも辞典内に
も複製されていないとき、リテラル識別子および記号自
体を含むリテラル参照が発行される。入力データ・スト
リームが終りになると、リテラル識別子が発行され、そ
れによってデータ・ストリームの終りを知らせる。
D.実施例 本発明の圧縮方法を第1図に図示する。本発明の圧縮方
法の最初のステップであるブロック11では、履歴バッフ
ァ、辞典およびトークンをクリアする。トークンは、デ
ータ・シーケンスの記号が付加される、作業用のサブス
トリングである。トークン、履歴バッファおよび辞典は
最初は空である。
法の最初のステップであるブロック11では、履歴バッフ
ァ、辞典およびトークンをクリアする。トークンは、デ
ータ・シーケンスの記号が付加される、作業用のサブス
トリングである。トークン、履歴バッファおよび辞典は
最初は空である。
履歴バッファは、0の基底から始まる正の整数を指標と
する、記号値の1次元配列として実施される。履歴バッ
ファの長さは、ある値に固定される。履歴バッファの長
さはちょうど2の累乗であることが好ましい。好ましい
実施例では、多くの形式の2進データ・ファイルおよび
テキスト・ファイルで、8ビット・バイト2048個の履歴
バッファ長がうまく働く。
する、記号値の1次元配列として実施される。履歴バッ
ファの長さは、ある値に固定される。履歴バッファの長
さはちょうど2の累乗であることが好ましい。好ましい
実施例では、多くの形式の2進データ・ファイルおよび
テキスト・ファイルで、8ビット・バイト2048個の履歴
バッファ長がうまく働く。
履歴バッファ内の記号列は、オフセット値と長さ値を含
む履歴参照によって一義的に指定できる。オスセット値
とは、参照列内の最初の記号のバッファを指すインデッ
クスであると定義される。長さ値は、オフセットによっ
て識別される記号から始まる参照列に属する記号の数で
ある。履歴参照の長さの最大値を選択することが好まし
い。可能な最大の圧縮比はこの値に直接相関して増加す
るが、データ・ストリーム形式ごとに、その値を超える
と、各一致ごとに平均文字数に対して、符号化された列
の長さの値が大きすぎるため、平均圧縮比が低下し始め
るという、最適の長さが存在する。ちょうど2の累乗で
あることが好ましいのは、一致を符号化するのに必要な
ビット数が、次の2の累乗まで変化しないためである。
すなわち、長さの値を次の2の累乗ぴったりに釘付けし
ないでおくと、潜在的な圧縮比の浪費となる。好ましい
実施例では、2048文字の履歴バッファに対して、履歴参
照の最大長が8ビット・バイト16個であればうまく働く
ことが判明している。
む履歴参照によって一義的に指定できる。オスセット値
とは、参照列内の最初の記号のバッファを指すインデッ
クスであると定義される。長さ値は、オフセットによっ
て識別される記号から始まる参照列に属する記号の数で
ある。履歴参照の長さの最大値を選択することが好まし
い。可能な最大の圧縮比はこの値に直接相関して増加す
るが、データ・ストリーム形式ごとに、その値を超える
と、各一致ごとに平均文字数に対して、符号化された列
の長さの値が大きすぎるため、平均圧縮比が低下し始め
るという、最適の長さが存在する。ちょうど2の累乗で
あることが好ましいのは、一致を符号化するのに必要な
ビット数が、次の2の累乗まで変化しないためである。
すなわち、長さの値を次の2の累乗ぴったりに釘付けし
ないでおくと、潜在的な圧縮比の浪費となる。好ましい
実施例では、2048文字の履歴バッファに対して、履歴参
照の最大長が8ビット・バイト16個であればうまく働く
ことが判明している。
辞典は、それぞれが1個から履歴参照の最大長によって
指定される数までの記号を含む列を保持できる、単純な
要素配列として実施される。圧縮の間、辞典内の列は、
補助ハッシュ・テーブルを用いてルック・アップされ
る。補助ハッシュ・テーブルは、ハッシュ・テーブルが
まばらで効率的であることを保証するため、辞典自体の
数倍の要素を含むべきである。本発明の好ましい実施例
の2048バイトの履歴バッファでは、辞典のサイズが1024
であればうまく働くことが判明している。このサイズの
辞典は、ハッシュ・テーブルの過度な衝突を避けるた
め、少なくとも2048個のエントリを備えたハッシュ・テ
ーブルで支援すべきである。
指定される数までの記号を含む列を保持できる、単純な
要素配列として実施される。圧縮の間、辞典内の列は、
補助ハッシュ・テーブルを用いてルック・アップされ
る。補助ハッシュ・テーブルは、ハッシュ・テーブルが
まばらで効率的であることを保証するため、辞典自体の
数倍の要素を含むべきである。本発明の好ましい実施例
の2048バイトの履歴バッファでは、辞典のサイズが1024
であればうまく働くことが判明している。このサイズの
辞典は、ハッシュ・テーブルの過度な衝突を避けるた
め、少なくとも2048個のエントリを備えたハッシュ・テ
ーブルで支援すべきである。
ハッシュ・テーブルは当業者にとって周知であり、テー
ブル内にルックアップされる別を含む記号に対して数学
的操作を行なうことによって形成される。この数学的操
作で、ハッシュ・テーブル指標として有効な範囲内の1
個の整数が与えられる。その指標が指すハッシュ・テー
ブル・エントリは、辞典内の対応するエントリ・インデ
ックスを含んでいる。この間接指定により、辞典がほと
んど空である圧縮の初期段階の間に辞典エントリの指標
を効率的に割り当てることが可能になる。辞典の最初の
エントリから始めて、順位高位のエントリを構築して順
序通り辞典を満たすことによって、この段階の間に指標
の値を送るのに必要なビット数が少なくなるという利点
を得ることができる。
ブル内にルックアップされる別を含む記号に対して数学
的操作を行なうことによって形成される。この数学的操
作で、ハッシュ・テーブル指標として有効な範囲内の1
個の整数が与えられる。その指標が指すハッシュ・テー
ブル・エントリは、辞典内の対応するエントリ・インデ
ックスを含んでいる。この間接指定により、辞典がほと
んど空である圧縮の初期段階の間に辞典エントリの指標
を効率的に割り当てることが可能になる。辞典の最初の
エントリから始めて、順位高位のエントリを構築して順
序通り辞典を満たすことによって、この段階の間に指標
の値を送るのに必要なビット数が少なくなるという利点
を得ることができる。
辞典自体に比べてまばらな状態にハッシュ・テーブルを
保つことにより、複数の列が同じハッシュ・テーブル指
標にハッシュされるとき(これをハッシュ・テーブルの
衝突と称する)にどんな形のオーバフロー連鎖も必要と
せずに優れた性能を実現することができる。このような
衝突は、必要に応じて古いデータを捨て、それを新しい
データで置き換えることによって処理される。リンクさ
れた辞典エントリのLRU待ち行列をハッシュ・テーブル
と共に用いると、辞典が最終的に満杯になったとき、辞
典エントリの挿入と削除が容易になる。固定サイズの辞
典内で新しいエントリの場所をあけるためにあるエント
リを捨てざるを得ないときは、長時間使用されなかった
エントリを捨てた方がよい。LRU待ち行列を使用する
と、それが効率的に行なえる。
保つことにより、複数の列が同じハッシュ・テーブル指
標にハッシュされるとき(これをハッシュ・テーブルの
衝突と称する)にどんな形のオーバフロー連鎖も必要と
せずに優れた性能を実現することができる。このような
衝突は、必要に応じて古いデータを捨て、それを新しい
データで置き換えることによって処理される。リンクさ
れた辞典エントリのLRU待ち行列をハッシュ・テーブル
と共に用いると、辞典が最終的に満杯になったとき、辞
典エントリの挿入と削除が容易になる。固定サイズの辞
典内で新しいエントリの場所をあけるためにあるエント
リを捨てざるを得ないときは、長時間使用されなかった
エントリを捨てた方がよい。LRU待ち行列を使用する
と、それが効率的に行なえる。
本発明の圧縮方法の次のステップであるブロック13で
は、変数MATCHをリテラル形式にセットする。MATCHは、
記号の列が履歴バッファ内と辞典内のどちらに複製され
ているかに応じて、リテラル、履歴または辞典のいずれ
かの形式となる。列が履歴バッファにも辞典にも複製さ
れていない場合は、MATCHはリテラル形式になる。
は、変数MATCHをリテラル形式にセットする。MATCHは、
記号の列が履歴バッファ内と辞典内のどちらに複製され
ているかに応じて、リテラル、履歴または辞典のいずれ
かの形式となる。列が履歴バッファにも辞典にも複製さ
れていない場合は、MATCHはリテラル形式になる。
本発明の圧縮方法の次のステップであるブロック15で
は、入力列から記号を読み取って、それをトークンに付
加する。当初は、トークンは1個の文字からなってい
る。しかし、本発明の方法が進行して、履歴バッファと
辞典とが満杯になったとき、トークンは複数の文字から
なる列となる。判断ブロック17で、このトークンを辞典
の内容と比較する。当初は辞典が空であるため、一致は
見つからない。しかし、本発明の方法がしばらく進行し
た後には、辞典に列が挿入され、一致が見つかるように
なる。辞典で一致が見つかった場合、ブロック19で、MA
TCHを対応する指標値を伴う辞典形式にセットし、次に
ブロック15に戻って、入力列から次の記号を読み取って
トークンに付加する。
は、入力列から記号を読み取って、それをトークンに付
加する。当初は、トークンは1個の文字からなってい
る。しかし、本発明の方法が進行して、履歴バッファと
辞典とが満杯になったとき、トークンは複数の文字から
なる列となる。判断ブロック17で、このトークンを辞典
の内容と比較する。当初は辞典が空であるため、一致は
見つからない。しかし、本発明の方法がしばらく進行し
た後には、辞典に列が挿入され、一致が見つかるように
なる。辞典で一致が見つかった場合、ブロック19で、MA
TCHを対応する指標値を伴う辞典形式にセットし、次に
ブロック15に戻って、入力列から次の記号を読み取って
トークンに付加する。
トークンが辞典内に複製されていない場合、判断ブロッ
ク21で、このトークンを履歴バッファの内容と比較す
る。この場合も、当初は履歴バッファが空であるため、
履歴バッアファ内での一致は見つからない。しかし、本
発明の圧縮方法がしばらく進行した後には、このトーク
ンが履歴バッブァ内に複製されている可能性がある。こ
のトークンが履歴バッファ内で複製されている場合、ブ
ロック23で、MATCHをオフセットと長さの値とを伴う履
歴形式にセットし、ブロック15に戻って、入力列から次
の記号を読み取ってトークンに付加する。次に、ブロッ
ク17で、トークンを再び辞典の内容と比較する。本発明
の圧縮方法では、トークンが履歴参照の最大長以下であ
る限り、辞典内にも履歴バッファ内にもトークンが複製
されていない状態になるまで、記号をトークンに付加し
て、そのトークンを辞典および履歴バッファの内容と比
較することを続ける。こうして本方法は、辞典内または
履歴バッファ内で複製されている、許容される最長の文
字列を形成する。この最長の文字列は、トークンから最
後の文字を除いたものである。本開示では、1個のリテ
ラルを列であると見なす。
ク21で、このトークンを履歴バッファの内容と比較す
る。この場合も、当初は履歴バッファが空であるため、
履歴バッアファ内での一致は見つからない。しかし、本
発明の圧縮方法がしばらく進行した後には、このトーク
ンが履歴バッブァ内に複製されている可能性がある。こ
のトークンが履歴バッファ内で複製されている場合、ブ
ロック23で、MATCHをオフセットと長さの値とを伴う履
歴形式にセットし、ブロック15に戻って、入力列から次
の記号を読み取ってトークンに付加する。次に、ブロッ
ク17で、トークンを再び辞典の内容と比較する。本発明
の圧縮方法では、トークンが履歴参照の最大長以下であ
る限り、辞典内にも履歴バッファ内にもトークンが複製
されていない状態になるまで、記号をトークンに付加し
て、そのトークンを辞典および履歴バッファの内容と比
較することを続ける。こうして本方法は、辞典内または
履歴バッファ内で複製されている、許容される最長の文
字列を形成する。この最長の文字列は、トークンから最
後の文字を除いたものである。本開示では、1個のリテ
ラルを列であると見なす。
本発明の圧縮方法は、許容される最長の列を形成し終え
た後に、その列を象徴する参照を発行する。判断ブロッ
ク25でMATCHが辞典形式であった場合は、ブロック27
で、MATCHによって指定された辞典参照が出力または発
行される。MATCHが辞典形式ではない場合は、履歴形式
またはリテラル形式のいずれかである。判断ブロック29
で、MATCHが履歴形式であった場合は、ブロック31で、M
ATCHよって指定された履歴参照が発行または出力され
る。また、MATCHが履歴形式であった場合は、履歴参照
によって指定された参照列が辞典に追加され、辞典のサ
イズが記録される。
た後に、その列を象徴する参照を発行する。判断ブロッ
ク25でMATCHが辞典形式であった場合は、ブロック27
で、MATCHによって指定された辞典参照が出力または発
行される。MATCHが辞典形式ではない場合は、履歴形式
またはリテラル形式のいずれかである。判断ブロック29
で、MATCHが履歴形式であった場合は、ブロック31で、M
ATCHよって指定された履歴参照が発行または出力され
る。また、MATCHが履歴形式であった場合は、履歴参照
によって指定された参照列が辞典に追加され、辞典のサ
イズが記録される。
MATCHが履歴形式ではない場合、それはリテラル形式で
ある。ブロック33で、トークン内の記号に対するリテラ
ル参照が発行または出力される。辞典参照、履歴参照ま
たはリテラル参照が発行された後、ブロック35で、参照
列が履歴バッファに付加され、トークンの先頭から削除
される。同時に、履歴バッファのサイズが記録される。
次に、トークンはブロック13に戻り、入力信号列が終り
になるまでこの処理を続ける。
ある。ブロック33で、トークン内の記号に対するリテラ
ル参照が発行または出力される。辞典参照、履歴参照ま
たはリテラル参照が発行された後、ブロック35で、参照
列が履歴バッファに付加され、トークンの先頭から削除
される。同時に、履歴バッファのサイズが記録される。
次に、トークンはブロック13に戻り、入力信号列が終り
になるまでこの処理を続ける。
代表的なデータ・ストリームの確率論的研究に基づい
て、下記の符号換方式が最適に近い結果を生むことが判
明した。
て、下記の符号換方式が最適に近い結果を生むことが判
明した。
リテラル参照 0+「記号」 履歴参照 1+0+「オフセット」+「長さ」 辞典参照 1+1+「指標」 “1"および“0"は2進数の1桁を表し、「オフセッ
ト」、「長さ」および「指標」は、特定の場合にそれら
の潜在的な最大値を表すのに必要な最小のビット数で符
号化されている。より具体的には、必要なビット数は、
潜在的な最大値を最も近い2の累乗に切り上げた値の、
2を底とする対数に等しい。たとえば、辞典が12個のエ
ントリを含む場合、12は16(次の2の累乗)に切上げら
れ、16の2を底とする対数は4なので、指標を符号化す
るのに必要なビット数は4である。「記号」は記号自体
の8ビット表現である。
ト」、「長さ」および「指標」は、特定の場合にそれら
の潜在的な最大値を表すのに必要な最小のビット数で符
号化されている。より具体的には、必要なビット数は、
潜在的な最大値を最も近い2の累乗に切り上げた値の、
2を底とする対数に等しい。たとえば、辞典が12個のエ
ントリを含む場合、12は16(次の2の累乗)に切上げら
れ、16の2を底とする対数は4なので、指標を符号化す
るのに必要なビット数は4である。「記号」は記号自体
の8ビット表現である。
本発明の圧縮機能の入るデータは、8ビット・バイトと
して処理されるが、圧縮機能から出力されるデータは自
由形式のビット・ストリームである。前述のリテラル参
照、履歴参照および辞典参照に対する符号化規則によ
り、復元機能でこの自由形式のビット・ストリームを容
易にかつ曖昧さなしに解析することが可能となる。
して処理されるが、圧縮機能から出力されるデータは自
由形式のビット・ストリームである。前述のリテラル参
照、履歴参照および辞典参照に対する符号化規則によ
り、復元機能でこの自由形式のビット・ストリームを容
易にかつ曖昧さなしに解析することが可能となる。
典型的なアプリケーション環境では、各リテラル記号を
符号化するのに必要なビット数は、圧縮機能と復元機能
とを相互接続するシリアル通信チャネルの基本ブロック
・サイズに等しくなる、たとえば、EBCDIC環境では、記
号の値8ビットを用いて符号化され、代表的な通信リン
ク上を流れる基本的情報単位は、8ビット文字に量子化
される。リテラル参照を符号化するのに必要なビット数
は、常にこのようなリンクの基本ブロック・サイズより
も1だけ大きいので、最後のデータ・ブロック内に利用
可能な追加ビットが存在する場合は、最後の有効な参照
の末尾に1個の0ビットを追加することによって、最後
の有効な文字の末尾の後ろの使用されていないビットを
復元機能に強制的に無視させることが常に可能である。
0ビットを用いてリテラル参照の先頭を模倣することに
より、圧縮されたデータ・ストリームが次のブロック境
界で打ち切られたためにその参照が完了できないことを
知った復元機能は、最後のデータ・ブロック内の余分な
ビットを自動的に無視する。言い換えれば、復元機能は
0ビットを「見る」と、それは8ビット・リテラルを得
ることを期待する。0ビットの後に何も続かない場合、
復元機能はそのシーケンスが完了したことを「知る」。
符号化するのに必要なビット数は、圧縮機能と復元機能
とを相互接続するシリアル通信チャネルの基本ブロック
・サイズに等しくなる、たとえば、EBCDIC環境では、記
号の値8ビットを用いて符号化され、代表的な通信リン
ク上を流れる基本的情報単位は、8ビット文字に量子化
される。リテラル参照を符号化するのに必要なビット数
は、常にこのようなリンクの基本ブロック・サイズより
も1だけ大きいので、最後のデータ・ブロック内に利用
可能な追加ビットが存在する場合は、最後の有効な参照
の末尾に1個の0ビットを追加することによって、最後
の有効な文字の末尾の後ろの使用されていないビットを
復元機能に強制的に無視させることが常に可能である。
0ビットを用いてリテラル参照の先頭を模倣することに
より、圧縮されたデータ・ストリームが次のブロック境
界で打ち切られたためにその参照が完了できないことを
知った復元機能は、最後のデータ・ブロック内の余分な
ビットを自動的に無視する。言い換えれば、復元機能は
0ビットを「見る」と、それは8ビット・リテラルを得
ることを期待する。0ビットの後に何も続かない場合、
復元機能はそのシーケンスが完了したことを「知る」。
第2図には、本発明の復元方法の流れ図が示されてい
る。最初のステップであるブロック37で、履歴バッファ
および辞典をクリアする。履歴バッファと辞典がクリア
された後、ブロック39で、入力から参照が読み取られ、
それに従ってMATCHがセットされる。参照の第1ビット
が0である場合、MATCHはリテラル形式である。参照の
第1ビットが1である場合、MATCHは辞典形式または履
歴形式のいずれかである。1に続くビットが0である場
合、MATCHは履歴形式である。1に続くビットが1であ
る場合、MATCHは辞典形式である。
る。最初のステップであるブロック37で、履歴バッファ
および辞典をクリアする。履歴バッファと辞典がクリア
された後、ブロック39で、入力から参照が読み取られ、
それに従ってMATCHがセットされる。参照の第1ビット
が0である場合、MATCHはリテラル形式である。参照の
第1ビットが1である場合、MATCHは辞典形式または履
歴形式のいずれかである。1に続くビットが0である場
合、MATCHは履歴形式である。1に続くビットが1であ
る場合、MATCHは辞典形式である。
判断ブロック41でMATCHが辞典形式であった場合、ブロ
ック43で、MATCHによって指定された辞典の列が出力さ
れる。
ック43で、MATCHによって指定された辞典の列が出力さ
れる。
MATCHが辞典形式ではない場合、判断ブロック45でMATCH
が履歴形式であった場合は、ブロック47で、MATCHによ
って指定された履歴列を出力し、その列を辞典に追加
し、現在の辞典のエントリ数を記録する。MACTHが辞典
形式でも履歴形式でもない場合は、ブロック49で、MATC
Hによって指定されたリテラル記号が出力される。最後
に、ブロック43、47または49でMACTHによって指定され
た列を出力した後に、ブロック51で、その列を履歴バッ
ファに付加し、現在の履歴バッファのサイズを記録し
て、入力列が終りになるまでこの処理を繰り返す。
が履歴形式であった場合は、ブロック47で、MATCHによ
って指定された履歴列を出力し、その列を辞典に追加
し、現在の辞典のエントリ数を記録する。MACTHが辞典
形式でも履歴形式でもない場合は、ブロック49で、MATC
Hによって指定されたリテラル記号が出力される。最後
に、ブロック43、47または49でMACTHによって指定され
た列を出力した後に、ブロック51で、その列を履歴バッ
ファに付加し、現在の履歴バッファのサイズを記録し
て、入力列が終りになるまでこの処理を繰り返す。
当初は、復元機能の辞典と履歴バッファは空である。し
かし、復元機能が受け取る最初の参照はリテラル形式で
ある。リテラル参照を処理する際には、これを履歴バッ
ファに追加する。復元機能は、その履歴バッファ内で一
致を見つけると、履歴参照を発行する。履歴機能と復元
機能の履歴バッファは同一であるため、履歴参照は復元
機能の履歴バッファ内の正しい記号列を識別する。圧縮
機能が履歴参照を発行し、復元機能がそれを受け取る
と、その履歴参照によって参照される列が、圧縮機能お
よび復元機能の当該の辞典に挿入される。
かし、復元機能が受け取る最初の参照はリテラル形式で
ある。リテラル参照を処理する際には、これを履歴バッ
ファに追加する。復元機能は、その履歴バッファ内で一
致を見つけると、履歴参照を発行する。履歴機能と復元
機能の履歴バッファは同一であるため、履歴参照は復元
機能の履歴バッファ内の正しい記号列を識別する。圧縮
機能が履歴参照を発行し、復元機能がそれを受け取る
と、その履歴参照によって参照される列が、圧縮機能お
よび復元機能の当該の辞典に挿入される。
本発明の方法は、このように2つのデータ構造すなわち
履歴バッファおよび辞典を使用して、データ列の効率的
な圧縮を達成する。履歴バッファを固定された深さに制
限し、履歴参照の最大長を相対的に小さな値に制限し、
辞典内のエントリの最大数を固定した数に制限すること
により、極めて効率的にメモリを利用し、ずっと大量の
メモリを必要とする方法に匹敵する圧縮比をもたらす、
相互に関連した1組のデータ構造を設計することが可能
である。
履歴バッファおよび辞典を使用して、データ列の効率的
な圧縮を達成する。履歴バッファを固定された深さに制
限し、履歴参照の最大長を相対的に小さな値に制限し、
辞典内のエントリの最大数を固定した数に制限すること
により、極めて効率的にメモリを利用し、ずっと大量の
メモリを必要とする方法に匹敵する圧縮比をもたらす、
相互に関連した1組のデータ構造を設計することが可能
である。
E.発明の効果 本発明によれば、圧縮データの符号化が可能となる。
第1図は、本発明の圧縮方法を示す流れ図である。 第2図は、本発明の復元方法を示す流れ図である。
フロントページの続き (56)参考文献 特開 平1−132222(JP,A) 特開 平3−204234(JP,A) 特開 平3−204233(JP,A) 特開 平3−68219(JP,A) 特公 昭63−56726(JP,B2) 特公 平5−68893(JP,B2) 特公 平2−6252(JP,B2) 米国特許5001478(US,A) 米国特許4814746(US,A) 米国特許4843389(US,A) 米国特許4847619(US,A) 米国特許5184126(US,A) 米国特許5010345(US,A) 米国特許5003307(US,A) 米国特許5016009(US,A) 米国特許4558302(US,A) 欧州特許出願公開438956(EP,A) 欧州特許出願公開438955(EP,A) 欧州特許出願公開435802(EP,A) J.Ziv,A.Lempel,“A Universal Algorithm for Sequential Dat a Compression”,IEEE Trans.on Inform.Th eory,vol.IT−23,No.3, PP.337−349,May 1977
Claims (7)
- 【請求項1】記号のシーケンスからなるデータ・ストリ
ームを符号化する、圧縮データの符合化方法であって、 履歴バッファ内に前記シーケンスの記号を記録するステ
ップと、 前記シーケンスからの記号の列が前記履歴バッファ内に
複製されているとき、履歴識別子、オスセット値および
長さの値を含む履歴参照を発行するステップと、 履歴参照によって発行された記号の列を辞典に記録する
ステップと、 前記シーケンスからの前記の列が前記辞典内に複製され
ているとき、辞典識別子および指標値を含む辞典参照を
発行するステップと、 ある記号が前記履歴バッファ内及び前記辞典内に複製さ
れていないとき、リテラル識別子および前記記号を含む
リテラル参照を発行するステップと を含む、圧縮データの符号化方法。 - 【請求項2】前記履歴バッファの現在の最大オフセット
を記録するステップを含む請求項1記載の圧縮データの
符号化方法。 - 【請求項3】前記履歴参照のオフセット部分の長さが、
前記履歴バッファの前記現在の最大オフセットの2を底
とする対数を最も近い整数値に切り上げた値と等しいこ
とを特徴とする請求項2記載の圧縮データの符号化方
法。 - 【請求項4】前記辞典内の現在のエントリ数を記録する
ステップを含む請求項1記載の圧縮データの符合化方
法。 - 【請求項5】前記辞典参照の指標値の長さが、前記現在
の辞典エントリ数の2を底とする対数を最も近い整数値
に切り上げた値に等しいことを特徴とする請求項4記載
の圧縮データの符合化方法。 - 【請求項6】前記データ・ストリームが終わりになった
とき、参照識別子を発行するステップを含む請求項1記
載の圧縮データの符合化方法。 - 【請求項7】前記参照識別子がリテラル識別子であるこ
とを特徴とする請求項6記載の圧縮データの符合化方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/458,118 US5001478A (en) | 1989-12-28 | 1989-12-28 | Method of encoding compressed data |
| US458118 | 1989-12-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03204232A JPH03204232A (ja) | 1991-09-05 |
| JPH0779262B2 true JPH0779262B2 (ja) | 1995-08-23 |
Family
ID=23819434
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2313006A Expired - Lifetime JPH0779262B2 (ja) | 1989-12-28 | 1990-11-20 | 圧縮データの符号化方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5001478A (ja) |
| EP (1) | EP0438956A1 (ja) |
| JP (1) | JPH0779262B2 (ja) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5126739A (en) * | 1989-01-13 | 1992-06-30 | Stac Electronics | Data compression apparatus and method |
| US5010345A (en) | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Data compression method |
| US5010344A (en) | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Method of decoding compressed data |
| US5184126A (en) | 1989-12-28 | 1993-02-02 | International Business Machines Corporation | Method of decompressing compressed data |
| US5001478A (en) | 1989-12-28 | 1991-03-19 | International Business Machines Corporation | Method of encoding compressed data |
| US5150430A (en) * | 1991-03-15 | 1992-09-22 | The Board Of Trustees Of The Leland Stanford Junior University | Lossless data compression circuit and method |
| 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 |
| US5351047A (en) * | 1992-09-21 | 1994-09-27 | Laboratory Automation, Inc. | Data decoding method and apparatus |
| US5563595A (en) * | 1993-12-23 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for compressing data |
| JP3242795B2 (ja) * | 1994-10-17 | 2001-12-25 | 富士通株式会社 | データ処理装置及びデータ処理方法 |
| US6460036B1 (en) * | 1994-11-29 | 2002-10-01 | Pinpoint Incorporated | System and method for providing customized electronic newspapers and target advertisements |
| 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 |
| US6571279B1 (en) * | 1997-12-05 | 2003-05-27 | Pinpoint Incorporated | Location enhanced information delivery system |
| US5680601A (en) * | 1994-12-14 | 1997-10-21 | Hewlett-Packard Company | Compression system for reducing the occurrence of a literal prefix |
| US5771010A (en) * | 1995-03-22 | 1998-06-23 | Ibm Corporation | Apparatus for compressing data using a Lempel-Ziv-type algorithm |
| 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 |
| US5805086A (en) * | 1995-10-10 | 1998-09-08 | International Business Machines Corporation | Method and system for compressing data that facilitates high-speed data decompression |
| US5913216A (en) * | 1996-03-19 | 1999-06-15 | Lucent Technologies, Inc. | Sequential pattern memory searching and storage management technique |
| US6023558A (en) * | 1996-06-27 | 2000-02-08 | Apple Computer, Inc. | Graphics compression for an emulation system |
| 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 |
| US5760716A (en) * | 1996-08-21 | 1998-06-02 | Autodesk, Inc. | Vector data compression |
| US5798718A (en) * | 1997-05-12 | 1998-08-25 | Lexmark International, Inc. | Sliding window data compression method and apparatus |
| US6212301B1 (en) | 1998-06-25 | 2001-04-03 | Accusoft Corporation | Systems and methods for digital image compression |
| JP3541930B2 (ja) | 1998-08-13 | 2004-07-14 | 富士通株式会社 | 符号化装置及び復号化装置 |
| US7630986B1 (en) | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
| WO2001093525A2 (en) | 2000-05-26 | 2001-12-06 | Citrix Systems, Inc. | Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism |
| DE10196513T1 (de) | 2000-08-15 | 2003-11-13 | Seagate Technology Llc | Dualmodus-Datenkompression für einen Betriebscode |
| SE0004736D0 (sv) * | 2000-12-20 | 2000-12-20 | Ericsson Telefon Ab L M | Mapping system and method |
| US6515598B2 (en) | 2000-12-22 | 2003-02-04 | Cilys 53, Inc. | System and method for compressing and decompressing data in real time |
| US7376695B2 (en) | 2002-03-14 | 2008-05-20 | Citrix Systems, Inc. | Method and system for generating a graphical display for a remote terminal session |
| US8671213B2 (en) | 2002-03-14 | 2014-03-11 | Citrix Systems, Inc. | Methods and apparatus for generating graphical and media displays at a client |
| US6624762B1 (en) | 2002-04-11 | 2003-09-23 | Unisys Corporation | Hardware-based, LZW data compression co-processor |
| US6714145B1 (en) | 2002-09-26 | 2004-03-30 | Richard Marques | Method and apparatus for integer-based encoding and decoding of bits |
| US8423673B2 (en) * | 2005-03-14 | 2013-04-16 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment using compression |
| US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
| US7653643B2 (en) * | 2005-03-24 | 2010-01-26 | Microsoft Corporation | Method and apparatus for compressing a data set |
| JP4667108B2 (ja) * | 2005-04-11 | 2011-04-06 | パナソニック株式会社 | データ処理装置 |
| SE530081C2 (sv) * | 2005-10-24 | 2008-02-26 | Algotrim Ab | Metod och system för datakomprimering |
| US8779950B2 (en) | 2012-03-05 | 2014-07-15 | Dcba, Llc | Command encoded data compression |
| US9543980B2 (en) | 2014-10-10 | 2017-01-10 | Massachusettes Institute Of Technology | Systems and methods for model-free compression and model-based decompression |
| US9813079B2 (en) | 2016-02-29 | 2017-11-07 | International Business Machines Corporation | High-throughput compression of data |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4558302A (en) | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
| US4814746A (en) | 1983-06-01 | 1989-03-21 | International Business Machines Corporation | Data compression method |
| US4843389A (en) | 1986-12-04 | 1989-06-27 | International Business Machines Corp. | Text compression and expansion method and apparatus |
| US4847619A (en) | 1987-10-19 | 1989-07-11 | Hewlett-Packard Company | Performance-based reset of data compression dictionary |
| US5001478A (en) | 1989-12-28 | 1991-03-19 | International Business Machines Corporation | Method of encoding compressed data |
| US5003307A (en) | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
| US5010345A (en) | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Data compression method |
| US5016009A (en) | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
| US5184126A (en) | 1989-12-28 | 1993-02-02 | International Business Machines Corporation | Method of decompressing compressed data |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59231683A (ja) * | 1983-06-01 | 1984-12-26 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | データ圧縮方法 |
| US4725815A (en) * | 1984-01-16 | 1988-02-16 | International Business Machines Corporation | Method for encoding and decoding a digital image |
| GB2172127B (en) * | 1985-03-06 | 1988-10-12 | Ferranti Plc | Data compression system |
| US4730348A (en) * | 1986-09-19 | 1988-03-08 | Adaptive Computer Technologies | Adaptive data compression system |
| US4899148A (en) * | 1987-02-25 | 1990-02-06 | Oki Electric Industry Co., Ltd. | Data compression method |
| JPS6413222A (en) * | 1987-07-07 | 1989-01-18 | Kubota Ltd | Magnetic recording medium |
| US4881075A (en) * | 1987-10-15 | 1989-11-14 | Digital Equipment Corporation | Method and apparatus for adaptive data compression |
| US4876541A (en) * | 1987-10-15 | 1989-10-24 | Data Compression Corporation | Stem for dynamically compressing and decompressing electronic data |
| US4906991A (en) * | 1988-04-29 | 1990-03-06 | Xerox Corporation | Textual substitution data compression with finite length search windows |
-
1989
- 1989-12-28 US US07/458,118 patent/US5001478A/en not_active Expired - Fee Related
-
1990
- 1990-10-31 EP EP90480180A patent/EP0438956A1/en not_active Withdrawn
- 1990-11-20 JP JP2313006A patent/JPH0779262B2/ja not_active Expired - Lifetime
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4814746A (en) | 1983-06-01 | 1989-03-21 | International Business Machines Corporation | Data compression method |
| US4558302A (en) | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
| US4558302B1 (ja) | 1983-06-20 | 1994-01-04 | Unisys Corp | |
| US4843389A (en) | 1986-12-04 | 1989-06-27 | International Business Machines Corp. | Text compression and expansion method and apparatus |
| US4847619A (en) | 1987-10-19 | 1989-07-11 | Hewlett-Packard Company | Performance-based reset of data compression dictionary |
| US5003307A (en) | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
| US5016009A (en) | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
| US5001478A (en) | 1989-12-28 | 1991-03-19 | International Business Machines Corporation | Method of encoding compressed data |
| US5010345A (en) | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Data compression method |
| US5184126A (en) | 1989-12-28 | 1993-02-02 | International Business Machines Corporation | Method of decompressing compressed data |
Non-Patent Citations (1)
| Title |
|---|
| J.Ziv,A.Lempel,"AUniversalAlgorithmforSequentialDataCompression",IEEETrans.onInform.Theory,vol.IT−23,No.3,PP.337−349,May1977 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH03204232A (ja) | 1991-09-05 |
| US5001478A (en) | 1991-03-19 |
| EP0438956A1 (en) | 1991-07-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0779262B2 (ja) | 圧縮データの符号化方法 | |
| JPH0779263B2 (ja) | データ圧縮方法 | |
| JP3006766B2 (ja) | 圧縮された状態におけるデータをエンコードし、デコードし、伝送する方法と装置 | |
| Deutsch | DEFLATE compressed data format specification version 1.3 | |
| US5270712A (en) | Sort order preserving method for data storage compression | |
| JP3273119B2 (ja) | データ圧縮・伸長装置 | |
| Deutsch | Rfc1951: Deflate compressed data format specification version 1.3 | |
| US5970177A (en) | Data compression using selective encoding | |
| US5572206A (en) | Data compression method and system | |
| US5532694A (en) | Data compression apparatus and method using matching string searching and Huffman encoding | |
| Bell | Better OPM/L text compression | |
| Yamaguchi et al. | An efficient method for compressing test data | |
| JPS6356726B2 (ja) | ||
| US5815096A (en) | Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure | |
| JPH0779264B2 (ja) | 圧縮データ復元方法 | |
| JPH0779265B2 (ja) | 圧縮データの復号方法 | |
| US7253752B2 (en) | Coding apparatus, decoding apparatus, coding method, decoding method and program | |
| JPS6345131B2 (ja) | ||
| Anisimov et al. | Practical Word-based Text Compression Using the Reverse Multi-Delimiter Codes. | |
| JP2590287B2 (ja) | データ圧縮方法およびデータ圧縮装置 | |
| EP0494038A2 (en) | Run-length encoding in extensible character sets | |
| JP3100206B2 (ja) | データ圧縮方法 | |
| Ise et al. | A note on performance improvement of Ziv‐Lempel code | |
| JP2025139901A (ja) | ストレージシステム | |
| Blumer | Applications of DAWGs to data compression |