JP3229180B2 - データ圧縮システム - Google Patents

データ圧縮システム

Info

Publication number
JP3229180B2
JP3229180B2 JP31093295A JP31093295A JP3229180B2 JP 3229180 B2 JP3229180 B2 JP 3229180B2 JP 31093295 A JP31093295 A JP 31093295A JP 31093295 A JP31093295 A JP 31093295A JP 3229180 B2 JP3229180 B2 JP 3229180B2
Authority
JP
Japan
Prior art keywords
character
data
bit
memory
register
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 - Fee Related
Application number
JP31093295A
Other languages
English (en)
Other versions
JPH08234959A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08234959A publication Critical patent/JPH08234959A/ja
Application granted granted Critical
Publication of JP3229180B2 publication Critical patent/JP3229180B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/3086Compression; 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)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にデータ圧縮シ
ステム及び方法に関し、特にスライディング・ウィンド
ウ型Lempel-Zivデータ圧縮アルゴリズムを実現するシス
テム及び方法に関する。
【0002】本発明は、米国特許出願番号第29045
1号(1994年8月15日出願)の主題に関連し、更
に前記出願は同第807007号(1991年12月1
3日出願)、同第173738号(1993年12月2
3日出願)、同第320088号(1994年10月7
日出願)、及び同第228321号(1994年4月1
5日出願)に継続的に関連する。
【0003】
【従来の技術】デジタル・データ圧縮は最近注目される
技術である。その理由の一部は、高解像グラフィック・
ディスプレイ・システムを有するパーソナル・コンピュ
ータ及びワークステーションの広範な利用に起因する。
ビデオ情報を表現するために使用されるデジタル・デー
タ量、及び記憶または伝送の間にデジタル・データが圧
縮及び伸長されなければならない速度が、データ圧縮に
関する技術の意味深い研究を促進させた。
【0004】極めて有名なデータ圧縮アルゴリズムが、
最初にLempel及びZivによる論文"AUniversal Algorithm
for Sequential Data Compression"(the IEEE Transa
ctions on Information Theory、Vol.IT-23、No.3、p
p.337-343、1977)で述べられ、一般にLZ−1データ
圧縮アルゴリズムとして参照される。LZ−1アルゴリ
ズムは後の研究者たちにより様々な観点において改良さ
れ、その一例が米国特許番号第5003307号及び同
第5146221号で述べられる変形である。
【0005】基本LZ−1アルゴリズムのこれらの及び
他のバージョンを特徴付ける基本的な概念は、新たなデ
ータを記憶し、以前に受信され処理されたデータと一致
する新たなデータ・ストリングを識別するためのバッフ
ァの使用を含む。それにより、既存のストリングに一致
する新たなデータ・ストリング(通常は英数字文字)
が、単にストリング・シーケンス内の早期ポイントのオ
フセットと長さとを参照することにより識別される。L
Z−1アルゴリズムは新たなデータがバッファに入力さ
れる点で動的である。バッファは新たなデータの比較及
び符号化が完了した後に早期データを記憶する。バッフ
ァのサイズはデータ・ストリームに渡るスライディング
・ウィンドウに類似し、新たなデータ文字は常にウィン
ドウの長さに含まれる以前に受信された文字と比較され
る。符号化出力は、圧縮を示さない生の(またはリテラ
ル)文字であるか、ウィンドウ内の既存のマッチング文
字ストリングを識別する長さとオフセットとを提供する
圧縮(またはストリング)文字である。予想されるよう
に、このアルゴリズムはウィンドウ・サイズが増大し、
ウィンドウ内のデータ文字内のパターンの繰返しが増加
するほどより効果的となる。
【0006】しかしながら、従来のLZ−1アルゴリズ
ムはウィンドウ内のデータ文字と新たなデータ文字の種
々の組合わせとの間の拡張比較を必要とする。結果的
に、大きなスライディング・ウィンドウ・バッファは、
データ文字マッチングのためのウィンドウ・データの網
羅的(exhaustive)な探索をほとんど完了することがで
きない。
【0007】前記米国特許出願番号第290451号
は、LZ−1アルゴリズムの高速ハードウェアの実現に
関連する。前記米国特許出願第320088号は、従来
のプロセッサ環境において達成される高速のリニア・シ
フト・オペレーションにより特徴付けられる、トロイダ
ル型循環ビット・シフト・レジスタに関連する。前記米
国特許出願第173738号はLZ−1アルゴリズムを
実現する新たな方法に関連し、具体的にはシフト入力を
有し、データ文字によりアドレス指定される履歴バッフ
ァと、データ文字の存在及び順序に関連付けられるマー
カを比較、追跡及びカウントする種々のレジスタとを使
用する。
【0008】前記米国特許出願第173738号による
データ圧縮技法は履歴テーブル内におけるビットの拡張
同時シフト、または個々の選択的更新によるシフトを含
み、従って従来のプロセッサによる実行には特別に適応
化されていない。履歴バッファ内でマーカをシフトする
ためにバレル・シフタを使用することができるが、バレ
ル・シフタの動作幅は通常プロセッサのオペランド・サ
イズに一致する。現代的な設計では、これは32ビット
である。それに対し、履歴バッファの行内のマーカの典
型的なビット・ストリング長は少なくとも512ビット
であり、処理を完了するためには32ビット・バレル・
シフタによる16回のオペレーションが要求される。
【0009】
【発明が解決しようとする課題】従って、シフト・オペ
レーション回数を低減し、こうしたシフト・オペレーシ
ョン回数を既存範囲に最小化する一方で、網羅的なスラ
イディング・ウィンドウ・データ圧縮を提供するシステ
ム及び方法が必要とされる。
【0010】
【課題を解決するための手段】本発明は無損失のデータ
圧縮システムを定義する。このシステムは、異なる文字
の連続データを受信する手段と、第1のデータ文字の受
信及びその発生順序を示すようにメモリにマークを記す
マーキング手段と、第2のデータ文字の受信及びその発
生順序を示すようにメモリにマークを記すマーキング手
段と、メモリからのマーク位置をコピー、シフト及び比
較することにより、連続する新たなデータ文字の順序と
第1及び第2のデータ文字との間のストリング・マッチ
ングを検出する手段と、ストリング・マッチングの検出
手段に応答して新たなデータを符号化する手段とを含
む。別の態様では、本発明は上述の装置により特徴付け
られるオペレーションを実行する方法に関連する。
【0011】1つの態様では、本発明は前記米国特許出
願第173738号及び同第320088号における教
示の改良された組合わせを定義し、そこでは履歴バッフ
ァがポインタにより管理され、レジスタ内の比較データ
がトロイダル形式の循環ビット・シフト・レジスタを用
いてシフトされる。ポインタの使用は、履歴バッファ内
における多数のマーカ・ビット・ストリングのシフトの
必要を回避するが、関連レジスタ内の比較データのシフ
トを必要とする。上述のバレル・シフタの制限、並びに
多くのプロセッサ内にバレル・シフタが存在しないこと
を鑑みると、長いビット・ストリングは、好適なトロイ
ダル・ビット・シフト・レジスタを用いて最適にシフト
される。
【0012】本発明の好適な実施例では、マトリックス
形式の大きな文字履歴ビット・パターン・メモリを使用
し、その行アドレスは一意的に異なるデータ文字に対応
し、列アドレスは索引化または増分ポインタにより指定
される。これらのアドレスは協動してマーカ・ビットを
記憶するメモリ・セルを一意的に識別する。ポインタは
比較される各連続データ文字の受信により増分される。
データ文字ストリング・マッチングの開始及び連続性
は、メモリからマーカ・パターンをコピーするために使
用される複数のレジスタにより達成される。これらのレ
ジスタは連続するマッチングを識別する情報を提供し、
マーカ・データの論理AND結合を記憶し、新たなデー
タ文字が評価されるときにポインタと相対的に同期して
ビット・シリアルに回転される。このようにして達成さ
れるスライディング・ウィンドウ・データ圧縮は、メモ
リ内容に関して網羅的である。圧縮の出力は、生の(ま
たはリテラル)或いは圧縮(またはストリング)トーク
ンであり、データを無損失の形式で表現する。
【0013】レジスタ内のデータに関連付けられるマー
カのビット毎のシフトを達成するために、トロイダル・
ビット・シフト・レジスタ・アーキテクチャを使用する
ことにより、シフトが総称的なプロセッサの最小オペレ
ーションにより達成される。レジスタ内のマーカ・ビッ
トのリニア・パターンがマトリックスに変換され、シフ
トを達成するためにその形式において効率的に処理され
る。
【0014】本発明は、従来のデータ・プロセッサによ
り効率的に達成されうる高速無損失の網羅的スライディ
ング・ウィンドウ・データ圧縮に有用である。
【0015】本発明のこれらの及び他の特徴が以降で述
べられる本発明の実施の形態を参照することにより十分
に理解されることであろう。
【0016】
【発明の実施の形態】Lempel-Zivデータ圧縮の基本的概
念は、最初の技術公開及びその改良版の日付により立証
されるように、長年に渡って知られている。本発明は、
一般にLZ−1として知られるLempel-Zivデータ圧縮ア
ルゴリズムの基本原理を改良及び拡張するシステム及び
プロセスに関する。
【0017】一般にLZ−1アルゴリズムは、一般に履
歴バッファと呼ばれるデータ構造を生成し保守すること
により圧縮を達成する。この履歴バッファは以前に受信
された一連のデータ文字を表す。新たなデータ文字は、
履歴バッファ内のデータ文字パターンとのマッチングの
ために、個々にかつ連続的に延長するストリングにおい
て比較される。こうしたマッチングが検出されるとき、
データ圧縮装置からの出力はそのストリングを明示的に
符号化するのではなく、既存のデータ文字ストリングの
長さと位置とを参照する圧縮(またはストリング)トー
クンである。履歴バッファ内に存在しないデータ文字は
生の(またはリテラル)トークンとして発行される。履
歴バッファがより大きくなり、データ文字パターンの繰
返しが増すと、達成される有効データ圧縮が大きくな
る。
【0018】LZ−1データ圧縮アルゴリズムは、各入
来文字が生の(またはリテラル)トークンまたは圧縮
(またはストリング)トークンの1部として圧縮形式で
表現される点で無損失である。
【0019】こうした従来技術の状況においては、圧縮
を受けない入力データ文字は生の(またはリテラル)ト
ークンとして発行され、2進値"0"に続いて文字を表す
8ビットを含む。圧縮(またはストリング)トークン
は、2進値"1"に続いて2つのビット・ストリングを含
み、第1のストリングは対応する以前の既存データ文字
ストリングの長さを表し、第2のストリングは履歴バッ
ファ内の以前の文字ストリングの位置または相対位置を
表す。
【0020】伸長の間、生の(またはリテラル)及び圧
縮(またはストリング)トークンは相補的に変換され、
生の(またはリテラル)トークンは直接対応する文字に
変換され、圧縮(またはストリング)トークンは伸長バ
ッファ内の以前に変換されたトークンを参照することに
より変換される。
【0021】ソフトウェア処理によるLZ−1データ圧
縮アルゴリズムの実現は、従来プロセッサを特徴付ける
制限を受ける。例えば前記米国特許出願番号第1737
38号では、大きなスライディング・ウィンドウを網羅
的に探索する構成を定義するが、多数の拡張ビット・ス
トリングのシフトを要求する。残念なことに、汎用プロ
セッサは、極めて長いデータ・ビット・ストリングのシ
フトには効率的でない。バレル・シフタは特定のプロセ
ッサでは使用可能であるが、通常はプロセッサのオペラ
ンド幅によってのみデータのシフトを管理する。
【0022】長いビット・ストリングを1ビット位置だ
け循環式にシフトするシステム及び方法が、上記米国特
許出願番号第320088号で述べられている。このシ
ステム及び方法は、循環シフトを達成するために単一の
ビット・ストリングの管理を定義する。残念なことに、
前記米国特許出願番号第173738号で述べられる履
歴バッファ・アーキテクチャは複数のビット・ストリン
グのシフトを含むが、各ビット幅はスライディング・ウ
ィンドウのバイト・サイズに等しい。
【0023】
【実施例】ここで実現される本発明は、図1に示される
ような汎用パーソナル・コンピュータまたはワークステ
ーションを用い、データ文字を従来の伸長に適する形式
に効率的に圧縮するシステム及び方法を定義する。ワー
クステーション・システム1はキャビネット2を含み、
キャビネット2内には揮発性及び不揮発性メモリ、プロ
セッサ及び入出力(I/O)システムが収納される。I
/Oシステムは外部通信資源へのアクセスの他に、ワー
クステーション常駐型ドライブ、フロッピー・ディスク
・ドライブ、ハードディスク・ドライブ、及びCDディ
スク・ドライブ間の通信を提供する。図1では、好適な
システムが画面4を有するビデオ・ディスプレイ3、キ
ーボード・システム6、及びマウス・コントローラ7を
含むように示される。これらの全ての装置は当業者には
既知である。
【0024】図2は図1の要素の機能的相互接続を示す
ブロック図である。図2に示されるシステム8は総称的
であるが、これは本発明が実現される動作環境を表す。
すなわち図2は、ここで述べられるデータ圧縮の形式及
び方法が特殊なハードウェアまたはシステム構成を要求
しないことを意味する。
【0025】図3は、本発明を特徴付ける方法により、
データ圧縮を達成するために必要な要素及びオペレーシ
ョンを示すブロック図である。機能は好適にはプロセッ
サ内で達成される。メモリは、好適にはプロセッサのキ
ャッシュまたは主メモリである。レジスタはプロセッサ
のレジスタであってもよいが、一般にはキャッシュまた
は主メモリの固有に定義されるセクションに相当する。
【0026】図3の入力データ9は、例えば8ビット
(バイト)・アスキー文字ストリングにより表現される
従来の英数字などの直列に続くデータ文字を提供する。
各文字が受信されると、プロセッサ内でプログラムされ
る状態マシン11が制御信号を生成するか、データを関
連機能要素に送信することによりシステム内で指定オペ
レーションを開始する。文字履歴ビット・パターン・メ
モリ12は、マーカ・ビットを新たなデータ文字に一致
するマトリックス内のロケーションに記憶し(行アドレ
スを指定)、その文字の発生順序が新たな文字の処理に
より索引化または増分される循環ポインタ13により定
義される。ポインタは新たな文字に対応するマーカの列
位置を識別する。メモリ12内のマーカのアドレス指定
は、状態マシン11により生成される更新及び読出し信
号に応答して、メモリ12の読出し/更新選択セクショ
ン14を通じて実現される。
【0027】メモリ12内の各文字に対応するマーカ・
ビットの行は、ANDブロック16及びコピー・ブロッ
ク17に選択的に伝達される。ANDブロック16は状
態マシン11により選択的に許可され、メモリ12から
の行と旧レジスタ18内の対応ビット・ストリングとの
ビット毎のAND演算を実行し、結果をビット毎に新レ
ジスタ19の低位部分に提供する。コピー・ブロック1
7は状態マシン11により選択的に許可され、マーカ・
データ・ビットの行をレジスタ19に伝達する。新レジ
スタは更に機能ブロック21を含み、これは状態マシン
11による許可に応じてトロイダル型循環ビット・シフ
ト並びにコピーを提供する資源を有する。シフトされコ
ピーされたマーカ・ビットは、選択的に新レジスタから
旧レジスタ18に転送される。レジスタ21とレジスタ
18との間でシフトを効率的に達成する方法は、オペレ
ーションの間に2つのレジスタをピンポン(ping-pon
g)することである。
【0028】状態マシン11が新たな入力データ文字の
受信により循環するとき、以前に受信されたデータ文字
ストリングとのマッチングが、マッチング長ブロック2
3においてカウントされる。ここで以前の受信文字スト
リングは、文字履歴ビット・パターン・メモリ12内の
マーカ・パターンにより表される。符号器24は、ブロ
ック9から受信される入力データ文字を表す符号化出力
データ・トークンを生成する。入力データ文字が生の
(またはリテラル)形式のままであるべき場合には、状
態マシン11は符号器24をそれに従い許可する。それ
に対し符号器出力が圧縮(またはストリング)トークン
であるべき場合には、単一トークンにより最大長入力デ
ータ文字ストリングが表現されうるまで発行が遅延され
る。圧縮(またはストリング)トークンの長さはブロッ
ク23により提供され、マッチング文字ストリングのロ
ケーションは、旧レジスタ18により提供されるセット
・ビット索引から導出される。
【0029】本発明を特に貴重なものにするのは、新た
なデータ文字を履歴バッファ・アレイ・ロケーションに
循環式に配布するための入力ポインタと、発生ビット・
パターンをポインタに同期してシフトする循環ビット・
シフト・レジスタとの組合わせ使用である。後者として
はトロイダル・ビット・シフト・レジスタが好適であ
る。
【0030】図4及び図5は入力データ文字シーケンス
を圧縮するために本発明を使用する例を示し、ここでは
入力文字シーケンスは文字ストリング"ABABC"であ
る。文字ストリング"ABABC"は連続するオペレーシ
ョン・サイクル0乃至4で圧縮され、サイクル5はター
ミネーション終了または初期化オペレーションを実行す
る。説明の都合上、文字履歴ビット・パターン・メモリ
12(図3)は8ポジション長であり、マッチング循環
列ポインタを有し、個々に文字A、B、Cに割当てられ
る3行から構成される。各サイクル及び入力データ文字
に関連付けられるオペレーション及び効果が図中の右側
に示される。
【0031】入力データ文字シーケンスの圧縮は初期化
により開始し、その時メモリのレジスタが全て0にされ
る。サイクル0では入力データ文字は"A"である。旧レ
ジスタを参照すると、継続的なマッチング・ステータス
が存在しないことを示している。"A"文字行を参照する
とマーカが存在しないことを示し、"A"が以前に発生し
ていないことを確立する。従って出力シーケンス26に
示されるように、"A"が即時、生の(またはリテラル)
トークンr(A)として符号化される。マッチングが識
別されなかったのでマッチング長は0でなければならな
い。生の(またはリテラル)トークンが生成された後、
マーカ・ビットが"A"履歴に対応する行の最左端ロケー
ションに配置される。このロケーションはポインタによ
り指定される。新レジスタ内でのマーカ・パターンの回
転及び旧レジスタへの転送がサイクル0を終結する。
【0032】サイクル1は続く入力データ文字"B"の処
理を示す。旧レジスタ内のマーカ・パターンの評価は"
1"の欠如により再度継続的マッチングの不在を示す。
メモリの"B"行内の"1"の不在は、"B"が以前に発生し
ていないことを示す。従って生の(またはリテラル)ト
ークンr(B)が、入力データ文字"B"に対応して即時
生成される。"B"データ文字に対応するメモリ行が次に
マーカにより更新され、この場合は増分されるポインタ
により指定される次の列に配置される。マッチング長は
0のままである。新レジスタ内のマーカ・データが再度
トロイダル・ビット・シフト・レジスタにより1ビット
位置だけ回転され、旧レジスタに入力される。
【0033】サイクル2は次の入力データ文字"A"の評
価を示す。再度、旧レジスタの調査は継続的なマッチン
グの不在を示す。しかしながら、"A"文字行の調査は非
ゼロのマーカ・ロケーションを示し、マッチングの開始
を知らせる。従ってコピー機能が開始され、"A"文字に
対応するマーカ・データの行を新レジスタへコピーし、
それに応じてマッチング長機能が1だけ増分される。そ
の後メモリ内の"A"行が、索引化ポインタにより指定さ
れる列にマーカを追加することにより更新される。ここ
で符号器によりトークンが発行されないことに注意され
たい。
【0034】サイクル3は次に続く"B"文字を処理し、
図5に示されるように旧レジスタ内のビットの調査から
開始する。非ゼロ・ビットの存在は継続的マッチング・
ステータスを表す。こうした場合では、旧レジスタ内の
ビットとメモリ内の"B"行内のマーカ・ビットとの、ビ
ット毎のANDが実行される。AND演算の結果はスト
リングとして新レジスタに提供される。新レジスタ内の
結果は非ゼロであるので、継続的マッチング条件が示さ
れ、マッチング長が索引化されるか前回値から1だけ増
分される。次にメモリ内の"B"データ文字行がシフトさ
れたポインタに一致するマーカにより更新され、この場
合左から4番目の位置に1を追加する。再度、トークン
は発行されないことに注意されたい。
【0035】サイクル4は"C"入力データ文字を受信
し、旧レジスタの調査を開始し、マッチングの継続が進
行中である結論を得る。旧レジスタと"C"レジスタ内の
マーカとのビット毎のAND結果が生成され、新レジス
タに入力される。新レジスタ内のビットの調査は、以前
の文字ストリングとのマッチングが"C"文字により終了
されたことを示す。マッチング長すなわち文字ストリン
グ"AB"は、1よりも大きいので、圧縮(またはストリ
ング)トークンが発行される。トークンC(len=2、dis
p=0)は、マッチング長が2、変位が0であることを示
し、後者のロケーションはマッチングの開始により定義
される。この"C"データ文字行内のマーカの調査は"C"
の以前の発生を示さないので、生の(またはリテラ
ル)"C"トークンを生成する結果となる。メモリ内の"
C"行が次に索引化ポインタにより示されるマーカによ
り更新される。ここでサイクル4の間に2つのトークン
が発行され、第1のトークンは圧縮(またはストリン
グ)トークンであり、第2のトークンは生の(またはリ
テラル)トークンであることに注意されたい。第1のト
ークンの発行はストリング・マッチングの終了により動
機付けされ、第2のトークンの発行は先行する4サイク
ルの間のこの"C"行内のマーカの不在に帰因する。
【0036】サイクル5は終了サイクルであり、システ
ムをリセットする。
【0037】図4及び図5に関連して述べられた実施例
は、文字履歴ビット・パターン・メモリの列アドレスを
通じて無限の循環ループにより連続的に索引化または増
分されるポインタを使用する。新レジスタから旧レジス
タへの転送を見越して、新たなサイクルの開始以前に実
行される1ビット回転オペレーションはトロイダル・ビ
ット・シフト・レジスタにより好適に実行される循環ビ
ット・シフトを含む。
【0038】符号化の対象となる文字数の増加はメモリ
・アレイ内の行数を増加させ、またマッチングに関わる
履歴サイズの増大はメモリ・アレイの列数を増加させ
る。上述の例はまた、本発明のシステム及び方法が全て
の入来文字ストリングに対して、最長のマッチング・シ
ーケンスを識別するためにメモリ内の履歴の網羅的探索
を完了することを示す。最も重要な点は、メモリの行が
従来例により特徴付けられるように各サイクルにおいて
シフトされるのではなく、ポインタに頼る点である。1
入来文字につきビット・パターンを1ビット位置だけ回
転することは、バレル・シフト・レジスタに頼ることな
く、従来式アーキテクチャのプロセッサにより非常に長
いビット・ストリングに対応して高度に効率的に実行す
ることができる。以降ではトロイダル・ビット・シフト
・レジスタの特定の効率について述べることにする。
【0039】図6及び図7は、図4及び図5で示された
ように入力データ文字を処理するために実行されるオペ
レーションの総称的なフロー図を示す。要素26、2
7、28、29、31及び32は、初期化及び終了の管
理の他にメモリ内の文字履歴ビット・パターンからの文
字の選択を示す。要素33はマッチングの連続性の評価
に関連する。要素34及び36はフル・レングス・マッ
チングを見い出したときのトークンの生成に関連する。
要素37は旧レジスタ・データと文字履歴・ビット・パ
ターン内のマーカとのビット毎のAND演算に関連す
る。要素38は、要素40でトークンを生成可能か、或
いはマッチング長が要素39で増分されるべきかを判断
する。要素41は旧レジスタが全てゼロであることを示
す要素33の結果に応答して文字履歴ビット・パターン
をコピーする。要素42は新レジスタ内のビットの評価
を含み、その結果により要素43においてトークンを生
成するか、要素44においてマッチング・カウンタを1
に戻すかする。要素46で定義されるオペレーションは
要素39の完了、要素43の完了または要素44の完了
の後に続いて実行される。要素47では新レジスタの1
ビット位置分の回転が定義され、その終了に際し動作シ
ーケンスは要素27に復帰する。
【0040】図3の機能ブロック図を再度参照すると、
前記米国特許出願番号第173738号の教示に勝り、
本発明を特徴付け、また貴重なものにする主要な特徴
は、文字履歴ビット・パターン・メモリ12内でのマー
カのシフトの必要性を回避するポインタの使用と、新レ
ジスタのブロック21に帰属する循環ビット・シフトを
達成する循環ビット・シフト・レジスタ、好適にはトロ
イダル・ビット・シフト・レジスタの使用である。本発
明の目的は汎用プロセッサによりデータを迅速に圧縮す
ることであり、そのために循環ビット・シフト・レジス
タの数を最小化し、こうした残りの循環シフト機能が最
小の複雑性及び時間遅延により達成されることを要求す
る。本発明は循環ビット・シフト・レジスタの数を単一
ユニットに低減し、そのユニットをトロイダル・ビット
・シフト・レジスタ・アーキテクチャ及び動作方法によ
り最適化する。
【0041】トロイダル・ビット・シフト・レジスタに
ついては前記米国特許出願番号第320088号に述べ
られている。トロイダル・ビット・シフト・レジスタの
詳細が図8に示されており、ここでは16ビット位置パ
ターン(0乃至15)が1位置分の循環シフトを実行す
るように示される。その目的は、最小のプロセッサ資源
及び時間の消費により、リニア・ストリング48から1
ビット循環シフト後のストリング49に進行することで
ある。これはトロイダル・ビット・シフト・レジスタに
より、最初にリニア・パターン48をマトリックス・パ
ターン51に変換することにより達成される。次にマト
リックス51内のある行の1ビット循環シフトに続きそ
の行ポインタの1位置分の索引化が実行される。これら
のオペレーションはマトリックス52内に図式的に示さ
れる。結果がマトリックス53で示される。マトリック
ス53は次にリニア形式49に変換される。ここでマト
リックスの1つの行だけが1ビット循環シフトを要求さ
れ、図示の例では元の16ビット位置のシフトの必要性
とは対照的に、4ビット位置のシフトが実行される。
【0042】図9は、図8の48などのリニア・ビット
・ストリングを図8のマトリックス形式51に編成する
ために実行されるオペレーションのフローチャートを示
す。図10のフローチャートは、図8のマトリックス5
2で図式的に示される機能、すなわちある行の循環シフ
ト及びその行ポインタの索引化を実行するために、プロ
セッサにより実行されるオペレーションを示す。図11
はプロセッサにより実行されるリニア形式49の再生を
示すフローチャートである。
【0043】図3のシステムにより生成されるトークン
の伸長は従来の伸長の場合と同様である。一般にトーク
ンが生の(またはリテラル)要素と圧縮(またはストリ
ング)要素とに解析される。リテラル要素は伝達された
データ文字の直接表現に他ならない。それに対し圧縮
(ストリング)トークンは、従来のリニア伸長バッファ
内に記憶される先行文字ストリングのロケーション及び
長さを識別するために復号化される。このようにして識
別されたデータ文字ストリングがバッファ内に入力され
たシーケンス内の適切なロケーションに挿入される。リ
ニア・バッファ内の移動はポインタにより容易に達成さ
れる。
【0044】本発明は従来プロセッサによる大きなウィ
ンドウに渡る網羅的なスライディング・ウィンドウ・デ
ータ圧縮の速度を多大に改良する。
【0045】性能の向上に対応して圧縮の間に文字履歴
ビット・パターンを調整するために好適なプログラム・
コードを以下に示す。
【0046】 hmaint(c,pc) /*1入力バイトにつき、履歴ビット・パターンを1度保守す る*/ int c,pc; { register unsigned row,col; /*tsr内のビット位置をdispにマップするための一 時変数*/ register unsigned colbit, rowbit; col = (bin >> 4) & 31; row = bin & 15; colbit = 1<<col; rowbit = 1<< row; #if SMALL_PAGES if( hind[c] & rowbit) history[c][row] |= colbit ; else history[c][row] = colbit; #else history[c][row] |= colbit ; #endif hind[c] |= rowbit; if( bin >= HIST_LEN){ if(!(history[pc][row] &= ~colbit)) hind[pc] &= ~rowbit; } }
【0047】図3のブロック16に帰属するビット・パ
ターン間のAND演算を迅速に実行するサブルーチンを
以下に示す。
【0048】 c_pat_X_hist(possible, hist, pattern ) unsigned register possible; /*この中の値は真にshort型(16ビット)で ある*/ unsigned int hist[]; unsigned int pattern[]; { unsigned register newhits; register int f; unsigned register b,r,np; unsigned int pi,pl; newhits = 0; pl = pat_len; do { f = smart_first_set_bit(possible ); b = 1<<f; pi = (f - pl) & 15; r = pattern[pi]; if( np = r & hist[f] ){ /* ゼロ結果をパターンに記憶し戻さないことが 重要である。なぜなら全体結果が0の場合、変位を生成
するために以前のパター ンに戻り、そこからセット・ビットを見い出す必要があ
るからである。このこと はストリング発生履歴ビット・パターンの新旧コピー、
すなわち交代バッファを 有する際の全てのデータ移動を回避する。これが可能な
理由は、このコードでは 履歴ワードがその索引ビットがクリアな場合、決して参
照されないからである。 */ /* if(np !=r) */ pattern[pi] = np; /*技術的には値が変化していなければ
記憶を実行する必要はな い。しかしながら比較及び分岐は記憶よりもコストを費
やす。なぜならこのロケ ーションは現在キャッシュ内にあり、有効アドレスが既
に上で計算済みであるか らである。これがnp !=rテストが開始される理由であ
る。*/ newhits |= b; /*結果の索引内にビットをセットする。こ
れは新発生パターン内の 索引化ワードが1を含むことを示す。*/ } } while( possible &= ~b); return newhits; }
【0049】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0050】(1)連続データ文字を受信する手段と、
第1のデータ文字の受信及びその発生順序を示すよう
に、メモリにマークを記すマーキング手段と、第2のデ
ータ文字の受信及びその発生順序を示すように、前記メ
モリにマークを記すマーキング手段と、前記メモリから
のマーク位置をコピー、シフト及び比較することによ
り、連続する新たなデータ文字の順序と前記第1及び第
2のデータ文字との間のストリング・マッチングを検出
する手段と、前記検出手段に応答して新たなデータを符
号化する手段と、を含む、データ圧縮システム。 (2)前記検出手段における前記シフトが循環ビット・
シフト・レジスタにより実行される、前記(1)記載の
システム。 (3)符号化されたストリング・マッチングのデータ文
字を復号化する手段を含む、前記(2)記載のシステ
ム。 (4)前記シフト及び前記検出手段がトロイダル・ビッ
ト・シフト・レジスタにより実行される、前記(1)記
載のシステム。 (5)前記循環ビット・シフト・レジスタがトロイダル
・ビット・シフト・レジスタである、前記(2)記載の
システム。 (6)前記マーキング手段が連続データ文字に対応して
メモリ・アドレスを増分するポインタを含む、前記
(1)記載のシステム。 (7)前記マーキング手段が連続データ文字に対応して
メモリ・アドレスを増分するポインタを含む、前記
(2)記載のシステム。 (8)前記マーキング手段が連続データ文字に対応して
メモリ・アドレスを増分するポインタを含む、前記
(4)記載のシステム。 (9)前記マーキング手段が連続データ文字に対応して
メモリ・アドレスを増分するポインタを含む、前記
(5)記載のシステム。 (10)前記マーキング手段がデータ文字比較器により
指定されるメモリ・アドレスを使用する、前記(8)記
載のシステム。 (11)前記マーキング手段がデータ文字比較器により
指定されるメモリ・アドレスを使用する、前記(9)記
載のシステム。 (12)前記ポインタ及び前記データ文字比較器により
指定される前記メモリ・アドレスの組合わせが前記メモ
リ内の位置を一意的に識別する、前記(10)記載のシ
ステム。 (13)前記ポインタ及び前記データ文字比較器により
指定される前記メモリ・アドレスの組合わせが前記メモ
リ内の位置を一意的に識別する、前記(11)記載のシ
ステム。 (14)メモリと、前記メモリに接続されるプロセッサ
と、前記プロセッサにより連続データ文字を受信する手
段と、第1のデータ文字の受信及びその発生順序を示す
ように、前記プロセッサにより前記メモリにマークを記
すマーキング手段と、第2のデータ文字の受信及びその
発生順序を示すように前記プロセッサにより前記メモリ
にマークを記すマーキング手段と、前記メモリからのマ
ーク位置をコピー、シフト及び比較することにより、連
続する新たなデータ文字の順序と前記第1及び第2のデ
ータ文字との間のストリング・マッチングを検出する手
段と、前記検出手段に応答して前記プロセッサにより新
たなデータを符号化する手段と、を含む、データ圧縮シ
ステム。 (15)前記検出手段における前記シフトが循環ビット
・シフト・レジスタにより実行される、前記(14)記
載のシステム。 (16)前記循環ビット・シフト・レジスタがトロイダ
ル・ビット・シフト・レジスタである、前記(15)記
載のシステム。 (17)前記マーキング手段が連続データ文字に対応し
てメモリ・アドレスを索引化するポインタを含む、前記
(14)記載のシステム。 (18)前記マーキング手段が連続データ文字に対応し
てメモリ・アドレスを増分するポインタを含む、前記
(15)記載のシステム。 (19)前記マーキング手段が連続データ文字に対応し
てメモリ・アドレスを増分するポインタを含む、前記
(16)記載のシステム。 (20)前記マーキング手段がデータ文字比較器により
指定されるメモリ・アドレスを使用する、前記(18)
記載のシステム。 (21)前記ポインタ及び前記データ文字比較器により
指定される前記メモリ・アドレスの組合わせが前記メモ
リ内の位置を一意的に識別する、前記(20)記載のシ
ステム。 (22)連続データを受信するステップと、第1のデー
タ文字の受信及びその発生順序を示すようにメモリにマ
ークを記すステップと、第2のデータ文字の受信及びそ
の発生順序を示すように前記メモリにマークを記すステ
ップと、前記メモリからのマーク位置をコピー、シフト
及び比較することにより、連続する新たなデータ文字の
順序と前記第1及び第2のデータ文字との間のストリン
グ・マッチングを検出するステップと、前記検出ステッ
プに応答して新たなデータを符号化するステップと、を
含む、データを圧縮する方法。 (23)前記検出ステップにおける前記シフトが循環ビ
ット・シフト・レジスタにより実行される、前記(2
2)記載の方法。 (24)前記検出ステップにおける前記シフトがトロイ
ダル・ビット・シフト・レジスタにより実行される、前
記(23)記載の方法。 (25)前記マーキング・ステップが連続データ文字に
対応してメモリ・アドレスを増分するポインタにより実
行される、前記(24)記載の方法。 (26)前記マーキング・ステップがデータ文字比較器
により指定されるメモリ・アドレスを使用する、前記
(25)記載の方法。 (27)前記ポインタ及び前記データ文字比較器により
指定される前記メモリ・アドレスの組合わせが前記メモ
リ内の位置を一意的に識別する、前記(26)記載の方
法。
【0051】
【発明の効果】以上説明したように本発明によれば、シ
フト・オペレーション回数を低減し、こうしたシフト・
オペレーション回数を既存範囲に最小化する一方で、網
羅的なスライディング・ウィンドウ・データ圧縮を提供
するシステム及び方法を提供することができる。
【図面の簡単な説明】
【図1】パーソナル・コンピュータまたはワークステー
ション・システムを示す図である。
【図2】プロセッサとパーソナル・コンピュータまたは
ワークステーション・システム内の様々な他の要素との
関係を示す構成ブロック図である。
【図3】本システムの1つの実施例を含む機能要素の構
成ブロック図である。
【図4】データ文字"ABABC"の符号化に関連する、
メモリ及びレジスタ内のマーカのステータスを示す図で
ある。
【図5】データ文字"ABABC"の符号化に関連する、
メモリ及びレジスタ内のマーカのステータスを示す図で
ある。
【図6】図3乃至図5を特徴付けるオペレーションのフ
ローチャートを示す図である。
【図7】図3乃至図5を特徴付けるオペレーションのフ
ローチャートを示す図である。
【図8】トロイダル・シフト・レジスタのオペレーショ
ンを示す図である。
【図9】トロイダル・ビット・シフト・オペレーション
を達成するマトリックス形成及び処理のフローチャート
を示す図である。
【図10】トロイダル・ビット・シフト・オペレーショ
ンを達成するマトリックス形成及び処理のフローチャー
トを示す図である。
【図11】トロイダル・ビット・シフト・オペレーショ
ンを達成するマトリックス形成及び処理のフローチャー
トを示す図である。
【符号の説明】
1 ワークステーション・システム 2 キャビネット 3 ビデオ・ディスプレイ 4 画面 6 キーボード・システム 7 マウス・コントローラ 9 入力データ 11 状態マシン 12 文字履歴ビット・パターン・メモリ 14 読出し/更新セクション 16 ANDブロック 17 コピー・ブロック 18 旧レジスタ 19 新レジスタ 21 機能ブロック 23 マッチング長ブロック 24 符号器 26 出力シーケンス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 オスカー・コンラッド・ストロハッカー アメリカ合衆国78620、テキサス州ドリ ッピング・スプリングス、キャニオン・ ベンド 1007 (56)参考文献 特開 平3−78322(JP,A) 特開 平7−95093(JP,A) 特開 平7−297728(JP,A) 米国特許4464650(US,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 G06F 5/00

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】Lempel−Zivデータ圧縮の原理に
    基づくデータ圧縮システムであって、 順次のデータ文字列を受信する手段と、 順次のデータ文字の受信及び前記文字列におけるその発
    生順序を示すマークを記入するためのメモリ手段と、 順次のデータ文字の受信及びその発生順序を示す前記マ
    ークを、前記メモリ手段の受信データ文字に対応する
    行、およびその発生順序に対応する列に記入するマーキ
    ング手段と、 順次の新たな文字が入来したとき、その文字に対応する
    前記メモリ手段の行にマーカが記入されていなければ、
    その行を1ビット・シフトして旧レジスタに移し、当該
    行にこの文字の入来を示すマーカを記入したうえ、リテ
    ラル・トークンを発生する手段と、 順次の新たな文字が入来したとき、その文字に対応する
    前記メモリ手段の行にマーカが既に記入されているなら
    ば、その行を1ビット・シフトして旧レジスタに移し、
    かつ当該行にこの文字の入来を示すマーカを追加する手
    段と、 マーカが既に記入されている前記新たな文字に続いて次
    の文字が入来したとき、当該行にこの文字の入来を示す
    マーカを記入したうえ、その文字に対応する前記メモリ
    手段の行と前記旧レジスタとのAND演算結果1ビット
    ・シフトして旧レジスタに移す転送手段と、 前記転送手段により旧レジスタに転送されたものがゼロ
    であるならば、これまでの入来文字とのマッチングを終
    了して圧縮トークンを発生する手段と、 を含む、データ圧縮システム。
  2. 【請求項2】前記マーキング手段は順次のデータ文字毎
    にメモリの列アドレスを増分するポインタを含む、請求
    項1記載のシステム。
  3. 【請求項3】符号化されたストリング・マッチングのデ
    ータ文字を復号化する手段を含む、請求項1記載のシス
    テム。
  4. 【請求項4】前記マーキング手段が連続データ文字に対
    応してメモリの列アドレスを増分するポインタを含む、
    請求項1記載のシステム。
  5. 【請求項5】前記シフトがトロイダル・ビット・シフト
    ・レジスタにより実行される、請求項1記載のシステ
    ム。
JP31093295A 1994-12-14 1995-11-29 データ圧縮システム Expired - Fee Related JP3229180B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/355,865 US5612693A (en) 1994-12-14 1994-12-14 Sliding window data compression using a toroidal bit shift register
US355865 1994-12-14

Publications (2)

Publication Number Publication Date
JPH08234959A JPH08234959A (ja) 1996-09-13
JP3229180B2 true JP3229180B2 (ja) 2001-11-12

Family

ID=23399136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31093295A Expired - Fee Related JP3229180B2 (ja) 1994-12-14 1995-11-29 データ圧縮システム

Country Status (2)

Country Link
US (1) US5612693A (ja)
JP (1) JP3229180B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771010A (en) * 1995-03-22 1998-06-23 Ibm Corporation Apparatus for compressing data using a Lempel-Ziv-type algorithm
US5877711A (en) * 1997-09-19 1999-03-02 International Business Machines Corporation Method and apparatus for performing adaptive data compression
US5874908A (en) * 1997-09-19 1999-02-23 International Business Machines Corporation Method and apparatus for encoding Lempel-Ziv 1 variants
US5874907A (en) * 1997-09-19 1999-02-23 International Business Machines Corporation Method and apparatus for providing improved data compression efficiency for an adaptive data compressor
JP3327869B2 (ja) * 1998-07-28 2002-09-24 ゼロックス・コーポレーション 最小マッチ長が3のプリマッチストリングマッチアレイ
US6674908B1 (en) 2002-05-04 2004-01-06 Edward Lasar Aronov Method of compression of binary data with a random number generator
US6771193B2 (en) 2002-08-22 2004-08-03 International Business Machines Corporation System and methods for embedding additional data in compressed data streams
GB2422278B (en) * 2002-12-03 2007-04-04 Synad Technologies Ltd Method and device for synchronisation in OFDM
DE10301362B4 (de) * 2003-01-16 2005-06-09 GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
GB0315152D0 (en) * 2003-06-28 2003-08-06 Ibm Data parsing and tokenizing apparatus,method and program
US20070263668A1 (en) * 2006-05-11 2007-11-15 Lau David K W System, method and computer program for evaluating the audio quality of a received audio record
US7912085B1 (en) * 2007-10-01 2011-03-22 Altera Corporation Programmable packet format converter
US9298722B2 (en) 2009-07-16 2016-03-29 Novell, Inc. Optimal sequential (de)compression of digital data
US8832103B2 (en) 2010-04-13 2014-09-09 Novell, Inc. Relevancy filter for new data based on underlying files
WO2013095615A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Bitstream processing using coalesced buffers and delayed matching and enhanced memory writes
US8717831B2 (en) 2012-04-30 2014-05-06 Hewlett-Packard Development Company, L.P. Memory circuit
JP6032291B2 (ja) 2012-12-19 2016-11-24 富士通株式会社 圧縮プログラム、圧縮装置、伸張プログラム、伸張装置およびシステム
JP6032292B2 (ja) 2012-12-19 2016-11-24 富士通株式会社 圧縮プログラム、圧縮装置、伸張プログラムおよび伸張装置
US9489199B2 (en) 2012-12-28 2016-11-08 Intel Corporation Vector compare instructions for sliding window encoding
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US9785423B2 (en) 2015-04-23 2017-10-10 Google Inc. Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure
US9769356B2 (en) * 2015-04-23 2017-09-19 Google Inc. Two dimensional shift array for image processor
US9756268B2 (en) 2015-04-23 2017-09-05 Google Inc. Line buffer unit for image processor
US9965824B2 (en) 2015-04-23 2018-05-08 Google Llc Architecture for high performance, power efficient, programmable image processing
US9772852B2 (en) 2015-04-23 2017-09-26 Google Inc. Energy efficient processor core architecture for image processor
US10291813B2 (en) 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
US10095479B2 (en) 2015-04-23 2018-10-09 Google Llc Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure
US9450606B1 (en) 2015-10-01 2016-09-20 Seagate Technology Llc Data matching for hardware data compression
US10313641B2 (en) 2015-12-04 2019-06-04 Google Llc Shift register with reduced wiring complexity
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
US10204396B2 (en) 2016-02-26 2019-02-12 Google Llc Compiler managed memory for image processor
US10387988B2 (en) 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
US20180005346A1 (en) 2016-07-01 2018-01-04 Google Inc. Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
US10546211B2 (en) 2016-07-01 2020-01-28 Google Llc Convolutional neural network on programmable two dimensional image processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369605A (en) * 1993-07-07 1994-11-29 Dell Usa, L.P. Incremental search content addressable memory for increased data compression efficiency

Also Published As

Publication number Publication date
US5612693A (en) 1997-03-18
JPH08234959A (ja) 1996-09-13

Similar Documents

Publication Publication Date Title
JP3229180B2 (ja) データ圧縮システム
JP3225638B2 (ja) データを圧縮するための装置及び方法並びにデータ処理システム
US5563595A (en) Method and apparatus for compressing data
US5525982A (en) Method and means for character string pattern matching for compression and the like using minimal cycles per character
CA1223965A (en) High speed data compression and decompression apparatus and method
US5406278A (en) Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
US6885319B2 (en) System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US5229768A (en) Adaptive data compression system
US5151697A (en) Data structure management tagging system
EP0951753B1 (en) Computer sorting system for data compression
US7403136B2 (en) Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search
US6819271B2 (en) Parallel compression and decompression system and method having multiple parallel compression and decompression engines
EP0595064A2 (en) Method and means providing static dictionary structures for compressing character data and expanding compressed data
JP3303225B2 (ja) Lempel−Zivタイプ・アルゴリズムを用いたデータ圧縮装置
US6334123B1 (en) Index relational processor
JPH07273667A (ja) 連想記憶メモリ内の複数辞書管理を改良したlempel−zivデータ圧縮のための装置、及び方法
JPH0879092A (ja) データを圧縮及び圧縮解除するための方法及び装置
JP2007037115A (ja) デジタルデータを符号化する方法、データセグメントのストリームを符号化する方法、エンコーダ、データのソースを符号化するためのパラレルエンコーダ、符号化データのソースを復号するためのパラレルデコーダ、コード化データを復号する方法、磁気テープドライブ、およびデータのストリームを符号化する方法
KR19990029626A (ko) 적응형 데이터 압축을 수행하는 방법 및 장치
US20030112161A1 (en) Method and apparatus for compressing data in which dictionary sizes are reduced
US6654867B2 (en) Method and system to pre-fetch compressed memory blocks using pointers
JPH10261969A (ja) データ圧縮方法および装置
US5745603A (en) Two dimensional context model obtained without a line buffer for arithmetic coding
WO1995014274A1 (en) Compression of memory pages
EP1323122A2 (en) Index relational processor

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees