JPH04267630A - データ圧縮装置及びデータ復元装置 - Google Patents
データ圧縮装置及びデータ復元装置Info
- Publication number
- JPH04267630A JPH04267630A JP3319792A JP31979291A JPH04267630A JP H04267630 A JPH04267630 A JP H04267630A JP 3319792 A JP3319792 A JP 3319792A JP 31979291 A JP31979291 A JP 31979291A JP H04267630 A JPH04267630 A JP H04267630A
- Authority
- JP
- Japan
- Prior art keywords
- dictionary
- characters
- codeword
- data
- compression
- 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.)
- Granted
Links
- 238000013144 data compression Methods 0.000 title claims description 32
- 238000007906 compression Methods 0.000 claims abstract description 19
- 230000006835 compression Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
め要約のデータは記録されません。
Description
ている。
現への可逆変換である。このさらに圧縮した表現により
、情報をさらに効率的に記憶した表現により、情報をさ
らに効率的に記憶し通信することができ、一般に時間と
費用が節約できる。
するためには使用しない2進列または“符号語”を用い
て多重文字の列を符号化する。該文字の列は、“アルフ
ァベット”、または単一文字の列から構成される。この
アルファベットは、圧縮器が処理する情報の最小一意集
合を表す。したがって、文字を表すために8ビットを用
いるアルゴリズムでは、そのアルファベットは256個
の一意文字を有する。符号化される多重文字の列が、所
定ファイルまたはデータ・ストリームの中に現れると圧
縮が実行される。人間の言語を翻訳するときに用いる二
言語辞書から類推して、非圧縮符号と圧縮符号との間の
写像を具現化するデバイスは、一般に“辞書”と呼ばれ
る。
、多重文字の列のために辞書エントリを用いる回数によ
り異なる。1つのファイル・タイプに最適化された固定
辞書は、別のファイル・タイプに最適であるとは考えら
れない。例えば、おそらく新聞のテキスト・ファイルに
見られる非常に多くの文字組合せを含む辞書では、デー
タベース・ファイル、スプレッドシート・ファイル、ビ
ットマップト・グラフィックス・ファイル、計算機支援
設計(CAD)用ファイルなどを効率的に圧縮するとは
考えられない。
が、該ファイルを圧縮している最中に展開されるという
適応圧縮方式が知られている。非圧縮入力ファイルの中
の考えられるすべての単一文字を表す符号語が、辞書に
入れられる。多重文字の列がファイルの中に現れるにつ
れて、別のエントリが辞書に追加される。追加辞書エン
トリは、後で現れる多重文字の列を符号化するために用
いられる。
れるときには、対応する文字列を再構成するために必要
な情報が、該辞書に含まれている。辞書を展開している
ときに、ファイルに最も頻繁に現れる多重文字の列に遭
遇すると圧縮が実施される。適応圧縮システムおよび方
法は、Miller他に与えられた米国特許第4,81
4,746号およびWelchに与えられた米国特許第
4,558,302号に開示されている。これらの関連
文書には、辞書の使用について詳細に説明されている。
た、したがって固定辞書圧縮方式に関して上述した問題
を生じている辞書を持ちつづけないようにするために、
辞書を定期的に改訂する。この改訂は、ファイルの頭や
一定量のデータを圧縮した後、またはKatoに与えら
れた米国特許4,847,619号に記述されるような
性能ベース・アルゴリズムにしたがう自然なデータ境界
で行うことができる。これらの辞書改訂は(多くの)時
間を要する。多くの例では、改訂により引き起こされる
時間遅延のために、他の資源が待機状態にされる。
ウェアによる実施例は、データ・ストリームに挿入され
るデータ圧縮(DC)集積回路(IC)である。該IC
上のデータ圧縮マシンは、1つのポートにあるデータ・
ストリームを処理して、生成した圧縮または復元したデ
ータ・ストリームを他のポートに送る。
書エントリを記憶するために、外部メモリIC、すなわ
ち“辞書RAM”を使用することができる。アルファベ
ットを表す予め定められた符号語エントリが辞書RAM
に書き込まれる。圧縮器で1つの文字だけ(長さ1の文
字列)が一致する毎に、該文字の符号語が、辞書RAM
から読み出され、圧縮ストリームに出力される。復元器
は1つの文字の符号語を受信すると、辞書RAMを読み
、アルファベット文字を取り出さなければならない。
(DMA)インタフェースは、ICの外界との通信の細
目を処理することができる。各DMAインタフェースに
は、これから送られるデータを記憶するためのRAMバ
ッファがある。コスト面から、1つのRAM ICを
、辞書記憶および両DMAバッファに使用される。DM
Aインタフェースは並列に動作するので、両DMAイン
タフェースは1つのRAM・ICに同時にアクセスを試
みる恐れがある。調停回路で該衝突を処理することはで
きるが、このような調停方法で、ある回路に優先順位が
与えられているときに、他の回路が待ち状態になること
を防ぐことはできない。
をおこなう集積回路において、所定の単一文字の列とそ
れに対する符号語間の圧縮、復元は辞書RAMをアクセ
スせずに行うようにする論理回路を付加して上記の問題
点を解消することである。
RAMを用いる適応データ圧縮アルゴリズムを実行する
集積回路に実装する論理回路をもたらすものである。該
論理回路は、辞書にアクセスすることなく、単一文字の
列のための予め定められた符号語を生成する。逆に、該
論理回路は、辞書にアクセスすることなく、対応する符
号語のための単一文字の列も生成する。
する符号語を記憶する必要性を排除するので、他の符号
語により用いうるロケーションの自由度が増し、ハッシ
ングにおける衝突を減少させる。さらに、該論理回路は
、辞書を初期化するときに単一文字の列に対応する符号
語の再格納を不要にするので、初期化速度が約2桁速く
なる。該論理回路は、予め定められた符号語または予め
定められた符号語に対応する単一文字の列のために辞書
にアクセスする必要をもなくするので、辞書アクセスを
最小にし、圧縮および復元速度を高める。
するハードウェア・システムをもたらす。図1を参照す
ると、該システム10には、データ圧縮(DC)マシン
12、ポートAインタフェース14、ポートBインタフ
ェース16、プロセッサ・インタフェース18、データ
経路マルチプレクサ(MUX)20およびランダム・ア
クセス・メモリ(RAM)22を含む。RAM以外はす
べて、1つの集積回路(IC)24に組み込まれている
。
4、16は、各データ・ライン26、28および制御ラ
イン30、32を有する独立した双方向データ・リンク
である。各々には、各直接メモリ・アクセス(DMA)
インタフェース34、36および外部RAM22の関連
バッファ・エリア22a、22bがある。ポートAおよ
びBにはRAMインタフェース回路部38、40もある
。
14は、データ・ライン26から文字を受信し、データ
経路MUX 20およびポートBインタフェース16
を介して、該文字をDCマシン12に送る。DCマシン
は、RAM22の辞書22cを用いて、該文字を符号語
に変換し、ポートBインタフェースに送る。ポートBイ
ンタフェースは、符号語を、データ・ライン28へ出力
として与える。
16は、データ・ライン28から符号語を受信して、そ
れをDCマシン12に与える。DCマシンは、RAM2
2の辞書22cを用いて、該符号語を文字に変換し、ポ
ートBインタフェースおよびデータ経路MUX 20
を介してポートAインタフェース14に送る。ポートA
インタフェースは、該文字を、データ・ライン26へ出
力として与える。ポートAおよびBインタフェース14
、16では、RAM22のバッファ・エリア22a、2
2cを随意に用いて、通信中のタイミング干渉を最小に
することができる。プロセッサ・インタフェース18は
、データの流れ方向を設定するためのレジスタを制御す
るためにRAM22の内容とか、他の種々の機能への外
部アクセス可能にする。
el−Zivデータ圧縮アルゴリズムの変種を実行する
。該アルゴリズムでは、予め定義された符号語を用いて
、単一文字の列を表すが、この予め定められた符号語は
、“符号化文字”または“ルート符号語”とも呼ばれて
おり、08Hに単一文字の2進値を加えたものに等しい
(これにより、復元中の動作を修正するために、2進値
00H〜07Hを制御コードに利用できる)。多重文字
の列を表す別の符号語は、入力データ・ストリームが処
理されるにつれて、辞書に書き込まれる。
ン12およびポートBインタフェース16が、さらに詳
細に示してある。圧縮中に、DCマシンの圧縮器48は
、アドレス・ライン50、種々の制御ライン52、およ
びルート制御ライン54を用いて、辞書エントリ要求を
ポートBインタフェース16に求める。該圧縮器48は
、返送符号語が符号語ライン56にあり、1つの文字が
文字ライン58にあるものと予期している。
要とする場合、該圧縮器には、要求される符号語がルー
ト符号語であるかそうでないかということが、その置か
れた状態により分かっているので、該圧縮器48は該文
字列のためのアドレスをハッシュし、それをアドレス・
ライン50に置き、ルート制御ライン54を非活性化さ
せる。符号語MUX60は、その“0”入力にある(ル
ート制御ラインにより制御される)データを、符号語ラ
イン56に置く。同様に、文字MUXは、その“0”入
力からの文字を、文字ライン58に置く。MUX60お
よび62は、符号語辞書22cからデータを取り込んで
いるデータ・ライン64から、その“0”入力を受信す
る。
場合、MUX60、62および2進加算器回路66によ
って、文字のアドレスをハッシュする必要性を排除しつ
つ、ディクショナリRAM22にアクセスする。該圧縮
器は、アドレス・ライン50に文字を置き、ルート制御
ライン54を活性化する。符号語MUX60は、その“
1”入力にあるデータを符号語ライン56に置くので、
該符号語ライン56には文字に08Hを加算したものが
得られる。これは単一文字の列のための符号語である。 同様に、文字MUXは、該アドレス・ライン50からの
文字を、文字ライン58に置く。
部分がさらに詳細に示してある。復元中に、DCマシン
の復元器70は、アドレス・ライン50および種々の制
御ライン52を用いて、辞書エントリ要求を、ポートB
インタフェース16に求める。該復元器は、返送符号語
が符号語ライン56にあり、1つの文字が文字ライン5
8にあることを予期している。
る場合に、符号語をアドレス・ライン52に置く。ルー
ト・テスト回路72は、符号語が264よりも小さいか
どうか、すなわちルート符号語であるかどうかを確認す
る。該テストに対する答えが肯定的であれば、MUX
74および76はその各各の“1”入力を出力とする
。 ルート符号語を復合化するときには、符号語が圧縮器に
より必要とされないので、MUX 74への“1”入
力は意味がない。該文字ライン58は、減算回路78に
より08Hの減じられたアドレス・ライン50にあるコ
ードワードを運ぶ。この相違は、ルート符号語により表
された単一文字の列と等しい。
りも小さくない場合、該符号語はルート符号語ではなく
、復元器70は、完全な辞書エントリ、すなわち文字ラ
イン58の1つの文字および符号語ライン56の1つの
符号語を必要とする。完全な辞書エントリは、辞書RA
M22cからのデータ・ライン64にあり、MUX74
、76により必要に応じて送られる。
ト・パッカード・カンパニーから部品番号1XB4−0
301として入手できる。MYSTICデータ圧縮IC
の外部参照仕様書の改訂1.11版に記述してある。
る圧縮と復元は、辞書にアクセスしないので、高速化さ
れる。また、辞書の容量制限が緩和される。また、辞書
改訂時に、単一文字の列に対応する改訂はないので、改
訂作業に要する時間が節約される。
ロック図である。
縮チップの部分詳細ブロック図である。
縮チップの部分詳細ブロック図である。
ータ圧縮チップ:集積回路 26,28:データ・ライン 30,32:制御ライン 48:圧縮器(Compressor)50:アドレス
・ライン 52:制御ライン 54:ルート制御ライン 56:符号語ライン 58:文字ライン 60:符号語マルチプレクサ(MUX)62:文字マル
チプレクサ(MUS) 64:データ・ライン 66:2進加算回路 70:復元器(Decompressor)72:ルー
ト・テスト回路 74,76:マルチプレクサ(MUX)78:減算回路
Claims (1)
- 【請求項1】後記(イ)及至(ハ)より成るデータ圧縮
装置。 (イ)文字列を符号語に置換する所定の適応圧縮方法に
従って文字ストリームを処理し、かつ単一文字の列に対
応する符号語の所定の集合を有する圧縮手段。 (ロ)多重文字の列に対応する符号語を格納する辞書手
段。 (ハ)前記圧縮手段と前記辞書手段とに接続され、前記
圧縮手段からの制御信号と文字の受信に応じて、前記所
定の集合内の符号語を発生するための論理手段。 【請求項1】後記(イ)及至(ハ)より成るデータ復元
装置。 (イ)文字列を符号語に置換する所定の適応復元方法に
従って符号語ストリームを処理し、かつ単一文字の列に
対応する符号語の所定の集合を有する復元手段。 (ロ)多重文字の列に対応する符号語を格納する辞書手
段。 (ハ)前記圧縮手段と前記辞書手段とに接続され、前記
圧縮手段からの制御信号と符号語の受信に応じて、前記
所定の集合内の符号語に対する単一文字の列を発生する
ための論理手段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/610,372 US5142282A (en) | 1990-11-07 | 1990-11-07 | Data compression dictionary access minimization |
US610372 | 1990-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04267630A true JPH04267630A (ja) | 1992-09-24 |
JP3055990B2 JP3055990B2 (ja) | 2000-06-26 |
Family
ID=24444764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3319792A Expired - Fee Related JP3055990B2 (ja) | 1990-11-07 | 1991-11-07 | データ圧縮装置及びデータ復元装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5142282A (ja) |
EP (1) | EP0485081B1 (ja) |
JP (1) | JP3055990B2 (ja) |
DE (1) | DE69124340T2 (ja) |
HK (1) | HK1000129A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245614A (en) * | 1991-04-29 | 1993-09-14 | Codex Corporation | Vocabulary memory allocation for adaptive data compression of frame-multiplexed traffic |
US5523946A (en) * | 1992-02-11 | 1996-06-04 | Xerox Corporation | Compact encoding of multi-lingual translation dictionaries |
US5406280A (en) * | 1993-08-26 | 1995-04-11 | Commerce Clearing House | Data retrieval system using compression scheme especially for serial data stream |
US5864716A (en) * | 1994-01-07 | 1999-01-26 | Cirrus Logic, Inc. | Tagged data compression for parallel port interface |
JP3522331B2 (ja) * | 1994-04-22 | 2004-04-26 | 株式会社セタ | データ圧縮方法 |
US5883588A (en) * | 1994-10-04 | 1999-03-16 | Nec Corporation | Data compression system and data compression device for improving data compression rate and coding speed |
US5771011A (en) * | 1996-07-15 | 1998-06-23 | International Business Machines Corporation | Match detect logic for multi-byte per cycle hardware data compression |
US8769311B2 (en) | 2006-05-31 | 2014-07-01 | International Business Machines Corporation | Systems and methods for transformation of logical data objects for storage |
US8782436B2 (en) | 2006-05-31 | 2014-07-15 | International Business Machines Corporation | Method and system for transformation of logical data objects for storage |
US8456331B2 (en) | 2011-04-15 | 2013-06-04 | Cavium, Inc. | System and method of compression and decompression |
US8350732B2 (en) * | 2011-05-11 | 2013-01-08 | Cavium, Inc. | Compression with adjustable quality/bandwidth capability |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59231683A (ja) * | 1983-06-01 | 1984-12-26 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | データ圧縮方法 |
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 |
GB8428533D0 (en) * | 1984-11-12 | 1984-12-19 | Secr Defence | Data decoder |
US4881075A (en) * | 1987-10-15 | 1989-11-14 | Digital Equipment Corporation | Method and apparatus for adaptive data compression |
US4847619A (en) * | 1987-10-19 | 1989-07-11 | Hewlett-Packard Company | Performance-based reset of data compression dictionary |
US4929946A (en) * | 1989-02-09 | 1990-05-29 | Storage Technology Corporation | Adaptive data compression apparatus including run length encoding for a tape drive system |
US5010345A (en) * | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Data compression method |
-
1990
- 1990-11-07 US US07/610,372 patent/US5142282A/en not_active Expired - Lifetime
-
1991
- 1991-10-17 DE DE69124340T patent/DE69124340T2/de not_active Expired - Lifetime
- 1991-10-17 EP EP91309582A patent/EP0485081B1/en not_active Expired - Lifetime
- 1991-11-07 JP JP3319792A patent/JP3055990B2/ja not_active Expired - Fee Related
-
1997
- 1997-08-06 HK HK97101640A patent/HK1000129A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69124340D1 (de) | 1997-03-06 |
DE69124340T2 (de) | 1997-05-15 |
EP0485081A2 (en) | 1992-05-13 |
US5142282A (en) | 1992-08-25 |
EP0485081A3 (en) | 1992-08-19 |
HK1000129A1 (en) | 1997-12-12 |
JP3055990B2 (ja) | 2000-06-26 |
EP0485081B1 (en) | 1997-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4558302A (en) | High speed data compression and decompression apparatus and method | |
US5410671A (en) | Data compression/decompression processor | |
US5379036A (en) | Method and apparatus for data compression | |
US5293164A (en) | Data compression with pipeline processor having separate memories | |
US5339076A (en) | Data compression using content addressable memory | |
US5659737A (en) | Methods and apparatus for data compression that preserves order by using failure greater than and failure less than tokens | |
US6334123B1 (en) | Index relational processor | |
US6829695B1 (en) | Enhanced boolean processor with parallel input | |
JP2534465B2 (ja) | デ―タ圧縮装置および方法 | |
EP0534713B1 (en) | Dictionary reset performance enhancement for data compression applications | |
US5805086A (en) | Method and system for compressing data that facilitates high-speed data decompression | |
US5778255A (en) | Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle | |
US20230153111A1 (en) | Decompression Engine for Decompressing Compressed Input Data that Includes Multiple Streams of Data | |
JPH04267630A (ja) | データ圧縮装置及びデータ復元装置 | |
Storer et al. | A parallel architecture for high-speed data compression | |
US6535150B1 (en) | Method and apparatus for implementing run-length compression | |
JPH03247167A (ja) | データ圧縮方式 | |
JPH0546358A (ja) | テキストデータの圧縮方法 | |
JPS5953579B2 (ja) | 文字圧縮装置 | |
Storer | Parallel algorithms for on-line dynamic data compression | |
KR950003884B1 (ko) | 퍼스컴 버스 인터페이스 회로 | |
CN118071575A (zh) | 数据处理系统和数据处理方法 | |
JPH11154872A (ja) | データ圧縮伸長処理方法及び通信装置 | |
JPS62274458A (ja) | コ−ド変換方式 | |
JP3146197B2 (ja) | データ転送装置及び記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |